Artifact
98fcce55139bd81b51f3bfe47458fb72b22122eb:
0000: 2f 2a 20 76 61 63 61 6c 6c 20 66 75 6e 63 74 69 /* vacall functi
0010: 6f 6e 20 66 6f 72 20 73 70 61 72 63 36 34 20 43 on for sparc64 C
0020: 50 55 20 2a 2f 0a 0a 2f 2a 0a 20 2a 20 43 6f 70 PU */../*. * Cop
0030: 79 72 69 67 68 74 20 31 39 39 35 2d 32 30 30 34 yright 1995-2004
0040: 20 42 72 75 6e 6f 20 48 61 69 62 6c 65 2c 20 3c Bruno Haible, <
0050: 62 72 75 6e 6f 40 63 6c 69 73 70 2e 6f 72 67 3e bruno@clisp.org>
0060: 0a 20 2a 0a 20 2a 20 54 68 69 73 20 69 73 20 66 . *. * This is f
0070: 72 65 65 20 73 6f 66 74 77 61 72 65 20 64 69 73 ree software dis
0080: 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 tributed under t
0090: 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 he GNU General P
00a0: 75 62 6c 69 63 20 4c 69 63 65 6e 63 65 0a 20 2a ublic Licence. *
00b0: 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 described in th
00c0: 65 20 66 69 6c 65 20 43 4f 50 59 49 4e 47 2e 20 e file COPYING.
00d0: 43 6f 6e 74 61 63 74 20 74 68 65 20 61 75 74 68 Contact the auth
00e0: 6f 72 20 69 66 20 79 6f 75 20 64 6f 6e 27 74 20 or if you don't
00f0: 68 61 76 65 20 74 68 69 73 0a 20 2a 20 6f 72 20 have this. * or
0100: 63 61 6e 27 74 20 6c 69 76 65 20 77 69 74 68 20 can't live with
0110: 69 74 2e 20 54 68 65 72 65 20 69 73 20 41 42 53 it. There is ABS
0120: 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 OLUTELY NO WARRA
0130: 4e 54 59 2c 20 65 78 70 6c 69 63 69 74 20 6f 72 NTY, explicit or
0140: 20 69 6d 70 6c 69 65 64 2c 0a 20 2a 20 6f 6e 20 implied,. * on
0150: 74 68 69 73 20 73 6f 66 74 77 61 72 65 2e 0a 20 this software..
0160: 2a 2f 0a 0a 23 69 66 6e 64 65 66 20 52 45 45 4e */..#ifndef REEN
0170: 54 52 41 4e 54 0a 23 69 6e 63 6c 75 64 65 20 22 TRANT.#include "
0180: 76 61 63 61 6c 6c 2e 68 2e 69 6e 22 0a 23 65 6c vacall.h.in".#el
0190: 73 65 20 2f 2a 20 52 45 45 4e 54 52 41 4e 54 20 se /* REENTRANT
01a0: 2a 2f 0a 23 69 6e 63 6c 75 64 65 20 22 76 61 63 */.#include "vac
01b0: 61 6c 6c 5f 72 2e 68 2e 69 6e 22 0a 23 65 6e 64 all_r.h.in".#end
01c0: 69 66 0a 0a 23 69 66 64 65 66 20 52 45 45 4e 54 if..#ifdef REENT
01d0: 52 41 4e 54 0a 23 64 65 66 69 6e 65 20 5f 5f 76 RANT.#define __v
01e0: 61 63 61 6c 6c 20 5f 5f 76 61 63 61 6c 6c 5f 72 acall __vacall_r
01f0: 0a 72 65 67 69 73 74 65 72 20 73 74 72 75 63 74 .register struct
0200: 20 7b 20 76 6f 69 64 20 28 2a 76 61 63 61 6c 6c { void (*vacall
0210: 5f 66 75 6e 63 74 69 6f 6e 29 20 28 76 6f 69 64 _function) (void
0220: 2a 2c 76 61 5f 61 6c 69 73 74 29 3b 20 76 6f 69 *,va_alist); voi
0230: 64 2a 20 61 72 67 3b 20 7d 0a 20 20 20 20 20 20 d* arg; }.
0240: 20 20 20 2a 09 65 6e 76 09 5f 5f 61 73 6d 5f 5f *.env.__asm__
0250: 28 22 25 67 35 22 29 3b 0a 23 65 6e 64 69 66 0a ("%g5");.#endif.
0260: 72 65 67 69 73 74 65 72 20 5f 5f 76 61 77 6f 72 register __vawor
0270: 64 2a 20 66 70 09 5f 5f 61 73 6d 5f 5f 28 22 25 d* fp.__asm__("%
0280: 66 70 22 29 3b 09 2f 2a 20 6f 75 72 20 25 66 70 fp");./* our %fp
0290: 2c 20 63 61 6c 6c 65 72 27 73 20 25 73 70 20 2a , caller's %sp *
02a0: 2f 0a 72 65 67 69 73 74 65 72 20 5f 5f 76 61 77 /.register __vaw
02b0: 6f 72 64 2a 20 72 65 74 09 5f 5f 61 73 6d 5f 5f ord* ret.__asm__
02c0: 28 22 25 69 37 22 29 3b 09 2f 2a 20 25 69 37 2b ("%i7");./* %i7+
02d0: 38 20 3d 20 72 65 74 75 72 6e 20 61 64 64 72 65 8 = return addre
02e0: 73 73 20 2a 2f 0a 72 65 67 69 73 74 65 72 20 66 ss */.register f
02f0: 6c 6f 61 74 09 66 61 72 67 30 09 5f 5f 61 73 6d loat.farg0.__asm
0300: 5f 5f 28 22 25 66 31 22 29 3b 0a 72 65 67 69 73 __("%f1");.regis
0310: 74 65 72 20 66 6c 6f 61 74 09 66 61 72 67 31 09 ter float.farg1.
0320: 5f 5f 61 73 6d 5f 5f 28 22 25 66 33 22 29 3b 0a __asm__("%f3");.
0330: 72 65 67 69 73 74 65 72 20 66 6c 6f 61 74 09 66 register float.f
0340: 61 72 67 32 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 arg2.__asm__("%f
0350: 35 22 29 3b 0a 72 65 67 69 73 74 65 72 20 66 6c 5");.register fl
0360: 6f 61 74 09 66 61 72 67 33 09 5f 5f 61 73 6d 5f oat.farg3.__asm_
0370: 5f 28 22 25 66 37 22 29 3b 0a 72 65 67 69 73 74 _("%f7");.regist
0380: 65 72 20 66 6c 6f 61 74 09 66 61 72 67 34 09 5f er float.farg4._
0390: 5f 61 73 6d 5f 5f 28 22 25 66 39 22 29 3b 0a 72 _asm__("%f9");.r
03a0: 65 67 69 73 74 65 72 20 66 6c 6f 61 74 09 66 61 egister float.fa
03b0: 72 67 35 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 31 rg5.__asm__("%f1
03c0: 31 22 29 3b 0a 72 65 67 69 73 74 65 72 20 66 6c 1");.register fl
03d0: 6f 61 74 09 66 61 72 67 36 09 5f 5f 61 73 6d 5f oat.farg6.__asm_
03e0: 5f 28 22 25 66 31 33 22 29 3b 0a 72 65 67 69 73 _("%f13");.regis
03f0: 74 65 72 20 66 6c 6f 61 74 09 66 61 72 67 37 09 ter float.farg7.
0400: 5f 5f 61 73 6d 5f 5f 28 22 25 66 31 35 22 29 3b __asm__("%f15");
0410: 0a 72 65 67 69 73 74 65 72 20 66 6c 6f 61 74 09 .register float.
0420: 66 61 72 67 38 09 5f 5f 61 73 6d 5f 5f 28 22 25 farg8.__asm__("%
0430: 66 31 37 22 29 3b 0a 72 65 67 69 73 74 65 72 20 f17");.register
0440: 66 6c 6f 61 74 09 66 61 72 67 39 09 5f 5f 61 73 float.farg9.__as
0450: 6d 5f 5f 28 22 25 66 31 39 22 29 3b 0a 72 65 67 m__("%f19");.reg
0460: 69 73 74 65 72 20 66 6c 6f 61 74 09 66 61 72 67 ister float.farg
0470: 31 30 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 32 31 10.__asm__("%f21
0480: 22 29 3b 0a 72 65 67 69 73 74 65 72 20 66 6c 6f ");.register flo
0490: 61 74 09 66 61 72 67 31 31 09 5f 5f 61 73 6d 5f at.farg11.__asm_
04a0: 5f 28 22 25 66 32 33 22 29 3b 0a 72 65 67 69 73 _("%f23");.regis
04b0: 74 65 72 20 66 6c 6f 61 74 09 66 61 72 67 31 32 ter float.farg12
04c0: 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 32 35 22 29 .__asm__("%f25")
04d0: 3b 0a 72 65 67 69 73 74 65 72 20 66 6c 6f 61 74 ;.register float
04e0: 09 66 61 72 67 31 33 09 5f 5f 61 73 6d 5f 5f 28 .farg13.__asm__(
04f0: 22 25 66 32 37 22 29 3b 0a 72 65 67 69 73 74 65 "%f27");.registe
0500: 72 20 66 6c 6f 61 74 09 66 61 72 67 31 34 09 5f r float.farg14._
0510: 5f 61 73 6d 5f 5f 28 22 25 66 32 39 22 29 3b 0a _asm__("%f29");.
0520: 72 65 67 69 73 74 65 72 20 66 6c 6f 61 74 09 66 register float.f
0530: 61 72 67 31 35 09 5f 5f 61 73 6d 5f 5f 28 22 25 arg15.__asm__("%
0540: 66 33 31 22 29 3b 0a 72 65 67 69 73 74 65 72 20 f31");.register
0550: 64 6f 75 62 6c 65 09 64 61 72 67 30 09 5f 5f 61 double.darg0.__a
0560: 73 6d 5f 5f 28 22 25 66 30 22 29 3b 0a 72 65 67 sm__("%f0");.reg
0570: 69 73 74 65 72 20 64 6f 75 62 6c 65 09 64 61 72 ister double.dar
0580: 67 31 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 32 22 g1.__asm__("%f2"
0590: 29 3b 0a 72 65 67 69 73 74 65 72 20 64 6f 75 62 );.register doub
05a0: 6c 65 09 64 61 72 67 32 09 5f 5f 61 73 6d 5f 5f le.darg2.__asm__
05b0: 28 22 25 66 34 22 29 3b 0a 72 65 67 69 73 74 65 ("%f4");.registe
05c0: 72 20 64 6f 75 62 6c 65 09 64 61 72 67 33 09 5f r double.darg3._
05d0: 5f 61 73 6d 5f 5f 28 22 25 66 36 22 29 3b 0a 72 _asm__("%f6");.r
05e0: 65 67 69 73 74 65 72 20 64 6f 75 62 6c 65 09 64 egister double.d
05f0: 61 72 67 34 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 arg4.__asm__("%f
0600: 38 22 29 3b 0a 72 65 67 69 73 74 65 72 20 64 6f 8");.register do
0610: 75 62 6c 65 09 64 61 72 67 35 09 5f 5f 61 73 6d uble.darg5.__asm
0620: 5f 5f 28 22 25 66 31 30 22 29 3b 0a 72 65 67 69 __("%f10");.regi
0630: 73 74 65 72 20 64 6f 75 62 6c 65 09 64 61 72 67 ster double.darg
0640: 36 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 31 32 22 6.__asm__("%f12"
0650: 29 3b 0a 72 65 67 69 73 74 65 72 20 64 6f 75 62 );.register doub
0660: 6c 65 09 64 61 72 67 37 09 5f 5f 61 73 6d 5f 5f le.darg7.__asm__
0670: 28 22 25 66 31 34 22 29 3b 0a 72 65 67 69 73 74 ("%f14");.regist
0680: 65 72 20 64 6f 75 62 6c 65 09 64 61 72 67 38 09 er double.darg8.
0690: 5f 5f 61 73 6d 5f 5f 28 22 25 66 31 36 22 29 3b __asm__("%f16");
06a0: 0a 72 65 67 69 73 74 65 72 20 64 6f 75 62 6c 65 .register double
06b0: 09 64 61 72 67 39 09 5f 5f 61 73 6d 5f 5f 28 22 .darg9.__asm__("
06c0: 25 66 31 38 22 29 3b 0a 72 65 67 69 73 74 65 72 %f18");.register
06d0: 20 64 6f 75 62 6c 65 09 64 61 72 67 31 30 09 5f double.darg10._
06e0: 5f 61 73 6d 5f 5f 28 22 25 66 32 30 22 29 3b 0a _asm__("%f20");.
06f0: 72 65 67 69 73 74 65 72 20 64 6f 75 62 6c 65 09 register double.
0700: 64 61 72 67 31 31 09 5f 5f 61 73 6d 5f 5f 28 22 darg11.__asm__("
0710: 25 66 32 32 22 29 3b 0a 72 65 67 69 73 74 65 72 %f22");.register
0720: 20 64 6f 75 62 6c 65 09 64 61 72 67 31 32 09 5f double.darg12._
0730: 5f 61 73 6d 5f 5f 28 22 25 66 32 34 22 29 3b 0a _asm__("%f24");.
0740: 72 65 67 69 73 74 65 72 20 64 6f 75 62 6c 65 09 register double.
0750: 64 61 72 67 31 33 09 5f 5f 61 73 6d 5f 5f 28 22 darg13.__asm__("
0760: 25 66 32 36 22 29 3b 0a 72 65 67 69 73 74 65 72 %f26");.register
0770: 20 64 6f 75 62 6c 65 09 64 61 72 67 31 34 09 5f double.darg14._
0780: 5f 61 73 6d 5f 5f 28 22 25 66 32 38 22 29 3b 0a _asm__("%f28");.
0790: 72 65 67 69 73 74 65 72 20 64 6f 75 62 6c 65 09 register double.
07a0: 64 61 72 67 31 35 09 5f 5f 61 73 6d 5f 5f 28 22 darg15.__asm__("
07b0: 25 66 33 30 22 29 3b 0a 72 65 67 69 73 74 65 72 %f30");.register
07c0: 20 5f 5f 76 61 77 6f 72 64 20 69 72 65 74 09 5f __vaword iret._
07d0: 5f 61 73 6d 5f 5f 28 22 25 69 30 22 29 3b 0a 72 _asm__("%i0");.r
07e0: 65 67 69 73 74 65 72 20 5f 5f 76 61 77 6f 72 64 egister __vaword
07f0: 20 6f 31 09 5f 5f 61 73 6d 5f 5f 28 22 25 69 31 o1.__asm__("%i1
0800: 22 29 3b 0a 72 65 67 69 73 74 65 72 20 5f 5f 76 ");.register __v
0810: 61 77 6f 72 64 20 6f 32 09 5f 5f 61 73 6d 5f 5f aword o2.__asm__
0820: 28 22 25 69 32 22 29 3b 0a 72 65 67 69 73 74 65 ("%i2");.registe
0830: 72 20 5f 5f 76 61 77 6f 72 64 20 6f 33 09 5f 5f r __vaword o3.__
0840: 61 73 6d 5f 5f 28 22 25 69 33 22 29 3b 0a 72 65 asm__("%i3");.re
0850: 67 69 73 74 65 72 20 5f 5f 76 61 77 6f 72 64 20 gister __vaword
0860: 6f 34 09 5f 5f 61 73 6d 5f 5f 28 22 25 69 34 22 o4.__asm__("%i4"
0870: 29 3b 0a 72 65 67 69 73 74 65 72 20 5f 5f 76 61 );.register __va
0880: 77 6f 72 64 20 6f 35 09 5f 5f 61 73 6d 5f 5f 28 word o5.__asm__(
0890: 22 25 69 35 22 29 3b 0a 72 65 67 69 73 74 65 72 "%i5");.register
08a0: 20 66 6c 6f 61 74 09 66 72 65 74 09 5f 5f 61 73 float.fret.__as
08b0: 6d 5f 5f 28 22 25 66 30 22 29 3b 09 2f 2a 20 25 m__("%f0");./* %
08c0: 66 30 20 2a 2f 0a 72 65 67 69 73 74 65 72 20 64 f0 */.register d
08d0: 6f 75 62 6c 65 09 64 72 65 74 09 5f 5f 61 73 6d ouble.dret.__asm
08e0: 5f 5f 28 22 25 66 30 22 29 3b 09 2f 2a 20 25 66 __("%f0");./* %f
08f0: 30 2c 25 66 31 20 2a 2f 0a 0a 76 6f 69 64 20 2f 0,%f1 */..void /
0900: 2a 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 * the return typ
0910: 65 20 69 73 20 76 61 72 69 61 62 6c 65 2c 20 6e e is variable, n
0920: 6f 74 20 76 6f 69 64 21 20 2a 2f 0a 5f 5f 76 61 ot void! */.__va
0930: 63 61 6c 6c 20 28 5f 5f 76 61 77 6f 72 64 20 77 call (__vaword w
0940: 6f 72 64 31 2c 20 5f 5f 76 61 77 6f 72 64 20 77 ord1, __vaword w
0950: 6f 72 64 32 2c 20 5f 5f 76 61 77 6f 72 64 20 77 ord2, __vaword w
0960: 6f 72 64 33 2c 20 5f 5f 76 61 77 6f 72 64 20 77 ord3, __vaword w
0970: 6f 72 64 34 2c 0a 20 20 20 20 20 20 20 20 20 20 ord4,.
0980: 5f 5f 76 61 77 6f 72 64 20 77 6f 72 64 35 2c 20 __vaword word5,
0990: 5f 5f 76 61 77 6f 72 64 20 77 6f 72 64 36 2c 0a __vaword word6,.
09a0: 20 20 20 20 20 20 20 20 20 20 5f 5f 76 61 77 6f __vawo
09b0: 72 64 20 66 69 72 73 74 77 6f 72 64 29 0a 7b 0a rd firstword).{.
09c0: 20 20 5f 5f 76 61 5f 61 6c 69 73 74 20 6c 69 73 __va_alist lis
09d0: 74 3b 0a 20 20 2f 2a 20 4d 6f 76 65 20 74 68 65 t;. /* Move the
09e0: 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 arguments passe
09f0: 64 20 69 6e 20 72 65 67 69 73 74 65 72 73 20 74 d in registers t
0a00: 6f 20 74 68 65 69 72 20 73 74 61 63 6b 20 6c 6f o their stack lo
0a10: 63 61 74 69 6f 6e 73 2e 20 2a 2f 0a 20 20 28 26 cations. */. (&
0a20: 66 69 72 73 74 77 6f 72 64 29 5b 2d 36 5d 20 3d firstword)[-6] =
0a30: 20 77 6f 72 64 31 3b 0a 20 20 28 26 66 69 72 73 word1;. (&firs
0a40: 74 77 6f 72 64 29 5b 2d 35 5d 20 3d 20 77 6f 72 tword)[-5] = wor
0a50: 64 32 3b 0a 20 20 28 26 66 69 72 73 74 77 6f 72 d2;. (&firstwor
0a60: 64 29 5b 2d 34 5d 20 3d 20 77 6f 72 64 33 3b 0a d)[-4] = word3;.
0a70: 20 20 28 26 66 69 72 73 74 77 6f 72 64 29 5b 2d (&firstword)[-
0a80: 33 5d 20 3d 20 77 6f 72 64 34 3b 0a 20 20 28 26 3] = word4;. (&
0a90: 66 69 72 73 74 77 6f 72 64 29 5b 2d 32 5d 20 3d firstword)[-2] =
0aa0: 20 77 6f 72 64 35 3b 0a 20 20 28 26 66 69 72 73 word5;. (&firs
0ab0: 74 77 6f 72 64 29 5b 2d 31 5d 20 3d 20 77 6f 72 tword)[-1] = wor
0ac0: 64 36 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b d6;. list.darg[
0ad0: 30 5d 20 3d 20 64 61 72 67 30 3b 0a 20 20 6c 69 0] = darg0;. li
0ae0: 73 74 2e 64 61 72 67 5b 31 5d 20 3d 20 64 61 72 st.darg[1] = dar
0af0: 67 31 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b g1;. list.darg[
0b00: 32 5d 20 3d 20 64 61 72 67 32 3b 0a 20 20 6c 69 2] = darg2;. li
0b10: 73 74 2e 64 61 72 67 5b 33 5d 20 3d 20 64 61 72 st.darg[3] = dar
0b20: 67 33 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b g3;. list.darg[
0b30: 34 5d 20 3d 20 64 61 72 67 34 3b 0a 20 20 6c 69 4] = darg4;. li
0b40: 73 74 2e 64 61 72 67 5b 35 5d 20 3d 20 64 61 72 st.darg[5] = dar
0b50: 67 35 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b g5;. list.darg[
0b60: 36 5d 20 3d 20 64 61 72 67 36 3b 0a 20 20 6c 69 6] = darg6;. li
0b70: 73 74 2e 64 61 72 67 5b 37 5d 20 3d 20 64 61 72 st.darg[7] = dar
0b80: 67 37 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b g7;. list.darg[
0b90: 38 5d 20 3d 20 64 61 72 67 38 3b 0a 20 20 6c 69 8] = darg8;. li
0ba0: 73 74 2e 64 61 72 67 5b 39 5d 20 3d 20 64 61 72 st.darg[9] = dar
0bb0: 67 39 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b g9;. list.darg[
0bc0: 31 30 5d 20 3d 20 64 61 72 67 31 30 3b 0a 20 20 10] = darg10;.
0bd0: 6c 69 73 74 2e 64 61 72 67 5b 31 31 5d 20 3d 20 list.darg[11] =
0be0: 64 61 72 67 31 31 3b 0a 20 20 6c 69 73 74 2e 64 darg11;. list.d
0bf0: 61 72 67 5b 31 32 5d 20 3d 20 64 61 72 67 31 32 arg[12] = darg12
0c00: 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b 31 33 ;. list.darg[13
0c10: 5d 20 3d 20 64 61 72 67 31 33 3b 0a 20 20 6c 69 ] = darg13;. li
0c20: 73 74 2e 64 61 72 67 5b 31 34 5d 20 3d 20 64 61 st.darg[14] = da
0c30: 72 67 31 34 3b 0a 20 20 6c 69 73 74 2e 64 61 72 rg14;. list.dar
0c40: 67 5b 31 35 5d 20 3d 20 64 61 72 67 31 35 3b 0a g[15] = darg15;.
0c50: 20 20 6c 69 73 74 2e 66 61 72 67 5b 30 5d 20 3d list.farg[0] =
0c60: 20 66 61 72 67 30 3b 0a 20 20 6c 69 73 74 2e 66 farg0;. list.f
0c70: 61 72 67 5b 31 5d 20 3d 20 66 61 72 67 31 3b 0a arg[1] = farg1;.
0c80: 20 20 6c 69 73 74 2e 66 61 72 67 5b 32 5d 20 3d list.farg[2] =
0c90: 20 66 61 72 67 32 3b 0a 20 20 6c 69 73 74 2e 66 farg2;. list.f
0ca0: 61 72 67 5b 33 5d 20 3d 20 66 61 72 67 33 3b 0a arg[3] = farg3;.
0cb0: 20 20 6c 69 73 74 2e 66 61 72 67 5b 34 5d 20 3d list.farg[4] =
0cc0: 20 66 61 72 67 34 3b 0a 20 20 6c 69 73 74 2e 66 farg4;. list.f
0cd0: 61 72 67 5b 35 5d 20 3d 20 66 61 72 67 35 3b 0a arg[5] = farg5;.
0ce0: 20 20 6c 69 73 74 2e 66 61 72 67 5b 36 5d 20 3d list.farg[6] =
0cf0: 20 66 61 72 67 36 3b 0a 20 20 6c 69 73 74 2e 66 farg6;. list.f
0d00: 61 72 67 5b 37 5d 20 3d 20 66 61 72 67 37 3b 0a arg[7] = farg7;.
0d10: 20 20 6c 69 73 74 2e 66 61 72 67 5b 38 5d 20 3d list.farg[8] =
0d20: 20 66 61 72 67 38 3b 0a 20 20 6c 69 73 74 2e 66 farg8;. list.f
0d30: 61 72 67 5b 39 5d 20 3d 20 66 61 72 67 39 3b 0a arg[9] = farg9;.
0d40: 20 20 6c 69 73 74 2e 66 61 72 67 5b 31 30 5d 20 list.farg[10]
0d50: 3d 20 66 61 72 67 31 30 3b 0a 20 20 6c 69 73 74 = farg10;. list
0d60: 2e 66 61 72 67 5b 31 31 5d 20 3d 20 66 61 72 67 .farg[11] = farg
0d70: 31 31 3b 0a 20 20 6c 69 73 74 2e 66 61 72 67 5b 11;. list.farg[
0d80: 31 32 5d 20 3d 20 66 61 72 67 31 32 3b 0a 20 20 12] = farg12;.
0d90: 6c 69 73 74 2e 66 61 72 67 5b 31 33 5d 20 3d 20 list.farg[13] =
0da0: 66 61 72 67 31 33 3b 0a 20 20 6c 69 73 74 2e 66 farg13;. list.f
0db0: 61 72 67 5b 31 34 5d 20 3d 20 66 61 72 67 31 34 arg[14] = farg14
0dc0: 3b 0a 20 20 6c 69 73 74 2e 66 61 72 67 5b 31 35 ;. list.farg[15
0dd0: 5d 20 3d 20 66 61 72 67 31 35 3b 0a 20 20 2f 2a ] = farg15;. /*
0de0: 20 50 72 65 70 61 72 65 20 74 68 65 20 76 61 5f Prepare the va_
0df0: 61 6c 69 73 74 2e 20 2a 2f 0a 20 20 6c 69 73 74 alist. */. list
0e00: 2e 66 6c 61 67 73 20 3d 20 30 3b 0a 20 20 6c 69 .flags = 0;. li
0e10: 73 74 2e 61 70 74 72 20 3d 20 28 6c 6f 6e 67 29 st.aptr = (long)
0e20: 28 26 66 69 72 73 74 77 6f 72 64 20 2d 20 36 29 (&firstword - 6)
0e30: 3b 0a 20 20 6c 69 73 74 2e 72 61 64 64 72 20 3d ;. list.raddr =
0e40: 20 28 76 6f 69 64 2a 29 30 3b 0a 20 20 6c 69 73 (void*)0;. lis
0e50: 74 2e 72 74 79 70 65 20 3d 20 5f 5f 56 41 76 6f t.rtype = __VAvo
0e60: 69 64 3b 0a 20 20 2f 2a 20 43 61 6c 6c 20 76 61 id;. /* Call va
0e70: 63 61 6c 6c 5f 66 75 6e 63 74 69 6f 6e 2e 20 54 call_function. T
0e80: 68 65 20 6d 61 63 72 6f 73 20 64 6f 20 61 6c 6c he macros do all
0e90: 20 74 68 65 20 72 65 73 74 2e 20 2a 2f 0a 23 69 the rest. */.#i
0ea0: 66 6e 64 65 66 20 52 45 45 4e 54 52 41 4e 54 0a fndef REENTRANT.
0eb0: 20 20 28 2a 76 61 63 61 6c 6c 5f 66 75 6e 63 74 (*vacall_funct
0ec0: 69 6f 6e 29 20 28 26 6c 69 73 74 29 3b 0a 23 65 ion) (&list);.#e
0ed0: 6c 73 65 20 2f 2a 20 52 45 45 4e 54 52 41 4e 54 lse /* REENTRANT
0ee0: 20 2a 2f 0a 20 20 28 2a 65 6e 76 2d 3e 76 61 63 */. (*env->vac
0ef0: 61 6c 6c 5f 66 75 6e 63 74 69 6f 6e 29 20 28 65 all_function) (e
0f00: 6e 76 2d 3e 61 72 67 2c 26 6c 69 73 74 29 3b 0a nv->arg,&list);.
0f10: 23 65 6e 64 69 66 0a 20 20 2f 2a 20 50 75 74 20 #endif. /* Put
0f20: 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 6e 74 return value int
0f30: 6f 20 70 72 6f 70 65 72 20 72 65 67 69 73 74 65 o proper registe
0f40: 72 2e 20 2a 2f 0a 20 20 69 66 20 28 6c 69 73 74 r. */. if (list
0f50: 2e 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 76 6f .rtype == __VAvo
0f60: 69 64 29 20 7b 0a 20 20 7d 20 65 6c 73 65 0a 20 id) {. } else.
0f70: 20 69 66 20 28 6c 69 73 74 2e 72 74 79 70 65 20 if (list.rtype
0f80: 3d 3d 20 5f 5f 56 41 63 68 61 72 29 20 7b 0a 20 == __VAchar) {.
0f90: 20 20 20 69 72 65 74 20 3d 20 6c 69 73 74 2e 74 iret = list.t
0fa0: 6d 70 2e 5f 63 68 61 72 3b 0a 20 20 7d 20 65 6c mp._char;. } el
0fb0: 73 65 0a 20 20 69 66 20 28 6c 69 73 74 2e 72 74 se. if (list.rt
0fc0: 79 70 65 20 3d 3d 20 5f 5f 56 41 73 63 68 61 72 ype == __VAschar
0fd0: 29 20 7b 0a 20 20 20 20 69 72 65 74 20 3d 20 6c ) {. iret = l
0fe0: 69 73 74 2e 74 6d 70 2e 5f 73 63 68 61 72 3b 0a ist.tmp._schar;.
0ff0: 20 20 7d 20 65 6c 73 65 0a 20 20 69 66 20 28 6c } else. if (l
1000: 69 73 74 2e 72 74 79 70 65 20 3d 3d 20 5f 5f 56 ist.rtype == __V
1010: 41 75 63 68 61 72 29 20 7b 0a 20 20 20 20 69 72 Auchar) {. ir
1020: 65 74 20 3d 20 6c 69 73 74 2e 74 6d 70 2e 5f 75 et = list.tmp._u
1030: 63 68 61 72 3b 0a 20 20 7d 20 65 6c 73 65 0a 20 char;. } else.
1040: 20 69 66 20 28 6c 69 73 74 2e 72 74 79 70 65 20 if (list.rtype
1050: 3d 3d 20 5f 5f 56 41 73 68 6f 72 74 29 20 7b 0a == __VAshort) {.
1060: 20 20 20 20 69 72 65 74 20 3d 20 6c 69 73 74 2e iret = list.
1070: 74 6d 70 2e 5f 73 68 6f 72 74 3b 0a 20 20 7d 20 tmp._short;. }
1080: 65 6c 73 65 0a 20 20 69 66 20 28 6c 69 73 74 2e else. if (list.
1090: 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 75 73 68 rtype == __VAush
10a0: 6f 72 74 29 20 7b 0a 20 20 20 20 69 72 65 74 20 ort) {. iret
10b0: 3d 20 6c 69 73 74 2e 74 6d 70 2e 5f 75 73 68 6f = list.tmp._usho
10c0: 72 74 3b 0a 20 20 7d 20 65 6c 73 65 0a 20 20 69 rt;. } else. i
10d0: 66 20 28 6c 69 73 74 2e 72 74 79 70 65 20 3d 3d f (list.rtype ==
10e0: 20 5f 5f 56 41 69 6e 74 29 20 7b 0a 20 20 20 20 __VAint) {.
10f0: 69 72 65 74 20 3d 20 6c 69 73 74 2e 74 6d 70 2e iret = list.tmp.
1100: 5f 69 6e 74 3b 0a 20 20 7d 20 65 6c 73 65 0a 20 _int;. } else.
1110: 20 69 66 20 28 6c 69 73 74 2e 72 74 79 70 65 20 if (list.rtype
1120: 3d 3d 20 5f 5f 56 41 75 69 6e 74 29 20 7b 0a 20 == __VAuint) {.
1130: 20 20 20 69 72 65 74 20 3d 20 6c 69 73 74 2e 74 iret = list.t
1140: 6d 70 2e 5f 75 69 6e 74 3b 0a 20 20 7d 20 65 6c mp._uint;. } el
1150: 73 65 0a 20 20 69 66 20 28 6c 69 73 74 2e 72 74 se. if (list.rt
1160: 79 70 65 20 3d 3d 20 5f 5f 56 41 6c 6f 6e 67 29 ype == __VAlong)
1170: 20 7b 0a 20 20 20 20 69 72 65 74 20 3d 20 6c 69 {. iret = li
1180: 73 74 2e 74 6d 70 2e 5f 6c 6f 6e 67 3b 0a 20 20 st.tmp._long;.
1190: 7d 20 65 6c 73 65 0a 20 20 69 66 20 28 6c 69 73 } else. if (lis
11a0: 74 2e 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 75 t.rtype == __VAu
11b0: 6c 6f 6e 67 29 20 7b 0a 20 20 20 20 69 72 65 74 long) {. iret
11c0: 20 3d 20 6c 69 73 74 2e 74 6d 70 2e 5f 75 6c 6f = list.tmp._ulo
11d0: 6e 67 3b 0a 20 20 7d 20 65 6c 73 65 0a 20 20 69 ng;. } else. i
11e0: 66 20 28 6c 69 73 74 2e 72 74 79 70 65 20 3d 3d f (list.rtype ==
11f0: 20 5f 5f 56 41 6c 6f 6e 67 6c 6f 6e 67 29 20 7b __VAlonglong) {
1200: 0a 20 20 20 20 69 72 65 74 20 3d 20 6c 69 73 74 . iret = list
1210: 2e 74 6d 70 2e 5f 6c 6f 6e 67 3b 0a 20 20 7d 20 .tmp._long;. }
1220: 65 6c 73 65 0a 20 20 69 66 20 28 6c 69 73 74 2e else. if (list.
1230: 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 75 6c 6f rtype == __VAulo
1240: 6e 67 6c 6f 6e 67 29 20 7b 0a 20 20 20 20 69 72 nglong) {. ir
1250: 65 74 20 3d 20 6c 69 73 74 2e 74 6d 70 2e 5f 75 et = list.tmp._u
1260: 6c 6f 6e 67 3b 0a 20 20 7d 20 65 6c 73 65 0a 20 long;. } else.
1270: 20 69 66 20 28 6c 69 73 74 2e 72 74 79 70 65 20 if (list.rtype
1280: 3d 3d 20 5f 5f 56 41 66 6c 6f 61 74 29 20 7b 0a == __VAfloat) {.
1290: 20 20 20 20 66 72 65 74 20 3d 20 6c 69 73 74 2e fret = list.
12a0: 74 6d 70 2e 5f 66 6c 6f 61 74 3b 0a 20 20 7d 20 tmp._float;. }
12b0: 65 6c 73 65 0a 20 20 69 66 20 28 6c 69 73 74 2e else. if (list.
12c0: 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 64 6f 75 rtype == __VAdou
12d0: 62 6c 65 29 20 7b 0a 20 20 20 20 64 72 65 74 20 ble) {. dret
12e0: 3d 20 6c 69 73 74 2e 74 6d 70 2e 5f 64 6f 75 62 = list.tmp._doub
12f0: 6c 65 3b 0a 20 20 7d 20 65 6c 73 65 0a 20 20 69 le;. } else. i
1300: 66 20 28 6c 69 73 74 2e 72 74 79 70 65 20 3d 3d f (list.rtype ==
1310: 20 5f 5f 56 41 76 6f 69 64 70 29 20 7b 0a 20 20 __VAvoidp) {.
1320: 20 20 69 72 65 74 20 3d 20 28 6c 6f 6e 67 29 6c iret = (long)l
1330: 69 73 74 2e 74 6d 70 2e 5f 70 74 72 3b 0a 20 20 ist.tmp._ptr;.
1340: 7d 20 65 6c 73 65 0a 20 20 69 66 20 28 6c 69 73 } else. if (lis
1350: 74 2e 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 73 t.rtype == __VAs
1360: 74 72 75 63 74 29 20 7b 0a 20 20 20 20 69 66 20 truct) {. if
1370: 28 6c 69 73 74 2e 66 6c 61 67 73 20 26 20 5f 5f (list.flags & __
1380: 56 41 5f 50 43 43 5f 53 54 52 55 43 54 5f 52 45 VA_PCC_STRUCT_RE
1390: 54 55 52 4e 29 20 7b 0a 20 20 20 20 20 20 2f 2a TURN) {. /*
13a0: 20 70 63 63 20 73 74 72 75 63 74 20 72 65 74 75 pcc struct retu
13b0: 72 6e 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 2a 2f rn convention */
13c0: 0a 20 20 20 20 20 20 69 72 65 74 20 3d 20 28 6c . iret = (l
13d0: 6f 6e 67 29 20 6c 69 73 74 2e 72 61 64 64 72 3b ong) list.raddr;
13e0: 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 . } else {.
13f0: 20 20 20 20 2f 2a 20 6e 6f 72 6d 61 6c 20 73 74 /* normal st
1400: 72 75 63 74 20 72 65 74 75 72 6e 20 63 6f 6e 76 ruct return conv
1410: 65 6e 74 69 6f 6e 20 2a 2f 0a 20 20 20 20 20 20 ention */.
1420: 69 66 20 28 6c 69 73 74 2e 66 6c 61 67 73 20 26 if (list.flags &
1430: 20 5f 5f 56 41 5f 52 45 47 49 53 54 45 52 5f 53 __VA_REGISTER_S
1440: 54 52 55 43 54 5f 52 45 54 55 52 4e 29 20 7b 0a TRUCT_RETURN) {.
1450: 20 20 20 20 20 20 20 20 2f 2a 20 52 65 74 75 72 /* Retur
1460: 6e 20 73 74 72 75 63 74 73 20 6f 66 20 73 69 7a n structs of siz
1470: 65 20 3c 3d 20 33 32 20 69 6e 20 72 65 67 69 73 e <= 32 in regis
1480: 74 65 72 73 2e 20 2a 2f 0a 20 20 20 20 20 20 20 ters. */.
1490: 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 if (list.rsize
14a0: 3e 20 30 20 26 26 20 6c 69 73 74 2e 72 73 69 7a > 0 && list.rsiz
14b0: 65 20 3c 3d 20 33 32 29 20 7b 0a 20 20 20 20 20 e <= 32) {.
14c0: 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 if (list.rs
14d0: 69 7a 65 20 3d 3d 20 31 29 20 7b 0a 20 20 20 20 ize == 1) {.
14e0: 20 20 20 20 20 20 20 20 69 72 65 74 20 3d 20 20 iret =
14f0: 20 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 (__vaword)((uns
1500: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
1510: 73 74 2e 72 61 64 64 72 29 5b 30 5d 20 3c 3c 20 st.raddr)[0] <<
1520: 35 36 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 20 56;. }
1530: 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 69 else. i
1540: 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d f (list.rsize ==
1550: 20 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 2) {.
1560: 20 20 69 72 65 74 20 3d 20 20 28 28 5f 5f 76 61 iret = ((__va
1570: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
1580: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
1590: 64 72 29 5b 30 5d 20 3c 3c 20 35 36 29 0a 20 20 dr)[0] << 56).
15a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
15b0: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
15c0: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
15d0: 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 5d 20 3c list.raddr)[1] <
15e0: 3c 20 34 38 29 3b 0a 20 20 20 20 20 20 20 20 20 < 48);.
15f0: 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 } else.
1600: 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 if (list.rsize
1610: 20 3d 3d 20 33 29 20 7b 0a 20 20 20 20 20 20 20 == 3) {.
1620: 20 20 20 20 20 69 72 65 74 20 3d 20 20 28 28 5f iret = ((_
1630: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
1640: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
1650: 72 61 64 64 72 29 5b 30 5d 20 3c 3c 20 35 36 29 raddr)[0] << 56)
1660: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
1670: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
1680: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
1690: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 *) list.raddr)[1
16a0: 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 20 ] << 48).
16b0: 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f | ((_
16c0: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
16d0: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
16e0: 72 61 64 64 72 29 5b 32 5d 20 3c 3c 20 34 30 29 raddr)[2] << 40)
16f0: 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c ;. } el
1700: 73 65 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 se. if
1710: 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 34 (list.rsize == 4
1720: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ) {.
1730: 69 72 65 74 20 3d 20 20 28 28 5f 5f 76 61 77 6f iret = ((__vawo
1740: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
1750: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
1760: 29 5b 30 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 )[0] << 56).
1770: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
1780: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
1790: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
17a0: 73 74 2e 72 61 64 64 72 29 5b 31 5d 20 3c 3c 20 st.raddr)[1] <<
17b0: 34 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 48).
17c0: 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f | ((__vawo
17d0: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
17e0: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
17f0: 29 5b 32 5d 20 3c 3c 20 34 30 29 0a 20 20 20 20 )[2] << 40).
1800: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
1810: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
1820: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
1830: 73 74 2e 72 61 64 64 72 29 5b 33 5d 20 3c 3c 20 st.raddr)[3] <<
1840: 33 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 32);. }
1850: 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 else.
1860: 69 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d if (list.rsize =
1870: 3d 20 35 29 20 7b 0a 20 20 20 20 20 20 20 20 20 = 5) {.
1880: 20 20 20 69 72 65 74 20 3d 20 20 28 28 5f 5f 76 iret = ((__v
1890: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
18a0: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
18b0: 64 64 72 29 5b 30 5d 20 3c 3c 20 35 36 29 0a 20 ddr)[0] << 56).
18c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18d0: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
18e0: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
18f0: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 5d 20 list.raddr)[1]
1900: 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 20 20 20 << 48).
1910: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
1920: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
1930: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
1940: 64 64 72 29 5b 32 5d 20 3c 3c 20 34 30 29 0a 20 ddr)[2] << 40).
1950: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1960: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
1970: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
1980: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 33 5d 20 list.raddr)[3]
1990: 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 << 32).
19a0: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
19b0: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
19c0: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
19d0: 64 64 72 29 5b 34 5d 20 3c 3c 20 32 34 29 3b 0a ddr)[4] << 24);.
19e0: 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 } else
19f0: 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c . if (l
1a00: 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 36 29 20 ist.rsize == 6)
1a10: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 72 {. ir
1a20: 65 74 20 3d 20 20 28 28 5f 5f 76 61 77 6f 72 64 et = ((__vaword
1a30: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
1a40: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
1a50: 30 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 0] << 56).
1a60: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
1a70: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
1a80: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
1a90: 2e 72 61 64 64 72 29 5b 31 5d 20 3c 3c 20 34 38 .raddr)[1] << 48
1aa0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
1ab0: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
1ac0: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
1ad0: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
1ae0: 32 5d 20 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 2] << 40).
1af0: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
1b00: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
1b10: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
1b20: 2e 72 61 64 64 72 29 5b 33 5d 20 3c 3c 20 33 32 .raddr)[3] << 32
1b30: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
1b40: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
1b50: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
1b60: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
1b70: 34 5d 20 3c 3c 20 32 34 29 0a 20 20 20 20 20 20 4] << 24).
1b80: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
1b90: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
1ba0: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
1bb0: 2e 72 61 64 64 72 29 5b 35 5d 20 3c 3c 20 31 36 .raddr)[5] << 16
1bc0: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 20 65 );. } e
1bd0: 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 69 66 lse. if
1be0: 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 (list.rsize ==
1bf0: 37 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 7) {.
1c00: 20 69 72 65 74 20 3d 20 20 28 28 5f 5f 76 61 77 iret = ((__vaw
1c10: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
1c20: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
1c30: 72 29 5b 30 5d 20 3c 3c 20 35 36 29 0a 20 20 20 r)[0] << 56).
1c40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
1c50: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
1c60: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
1c70: 69 73 74 2e 72 61 64 64 72 29 5b 31 5d 20 3c 3c ist.raddr)[1] <<
1c80: 20 34 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 48).
1c90: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
1ca0: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
1cb0: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
1cc0: 72 29 5b 32 5d 20 3c 3c 20 34 30 29 0a 20 20 20 r)[2] << 40).
1cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
1ce0: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
1cf0: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
1d00: 69 73 74 2e 72 61 64 64 72 29 5b 33 5d 20 3c 3c ist.raddr)[3] <<
1d10: 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 32).
1d20: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
1d30: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
1d40: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
1d50: 72 29 5b 34 5d 20 3c 3c 20 32 34 29 0a 20 20 20 r)[4] << 24).
1d60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
1d70: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
1d80: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
1d90: 69 73 74 2e 72 61 64 64 72 29 5b 35 5d 20 3c 3c ist.raddr)[5] <<
1da0: 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 16).
1db0: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
1dc0: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
1dd0: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
1de0: 72 29 5b 36 5d 20 3c 3c 20 38 29 3b 0a 20 20 20 r)[6] << 8);.
1df0: 20 20 20 20 20 20 20 7d 20 65 6c 73 65 0a 20 20 } else.
1e00: 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 74 if (list
1e10: 2e 72 73 69 7a 65 20 3e 3d 20 38 20 26 26 20 6c .rsize >= 8 && l
1e20: 69 73 74 2e 72 73 69 7a 65 20 3c 3d 20 33 32 29 ist.rsize <= 32)
1e30: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 {. i
1e40: 72 65 74 20 3d 20 20 28 28 5f 5f 76 61 77 6f 72 ret = ((__vawor
1e50: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
1e60: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
1e70: 5b 30 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 20 [0] << 56).
1e80: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
1e90: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
1ea0: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
1eb0: 74 2e 72 61 64 64 72 29 5b 31 5d 20 3c 3c 20 34 t.raddr)[1] << 4
1ec0: 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 8).
1ed0: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
1ee0: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
1ef0: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
1f00: 5b 32 5d 20 3c 3c 20 34 30 29 0a 20 20 20 20 20 [2] << 40).
1f10: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
1f20: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
1f30: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
1f40: 74 2e 72 61 64 64 72 29 5b 33 5d 20 3c 3c 20 33 t.raddr)[3] << 3
1f50: 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2).
1f60: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
1f70: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
1f80: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
1f90: 5b 34 5d 20 3c 3c 20 32 34 29 0a 20 20 20 20 20 [4] << 24).
1fa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
1fb0: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
1fc0: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
1fd0: 74 2e 72 61 64 64 72 29 5b 35 5d 20 3c 3c 20 31 t.raddr)[5] << 1
1fe0: 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6).
1ff0: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
2000: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
2010: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
2020: 5b 36 5d 20 3c 3c 20 38 29 0a 20 20 20 20 20 20 [6] << 8).
2030: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 28 | (
2040: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
2050: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
2060: 2e 72 61 64 64 72 29 5b 37 5d 3b 0a 20 20 20 20 .raddr)[7];.
2070: 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 74 if (list
2080: 2e 72 73 69 7a 65 20 3d 3d 20 38 29 20 7b 0a 20 .rsize == 8) {.
2090: 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 } els
20a0: 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 e. if
20b0: 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 (list.rsize ==
20c0: 39 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 9) {.
20d0: 20 20 20 6f 31 20 3d 20 20 20 28 5f 5f 76 61 77 o1 = (__vaw
20e0: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
20f0: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
2100: 72 29 5b 38 5d 20 3c 3c 20 35 36 3b 0a 20 20 20 r)[8] << 56;.
2110: 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 0a } else.
2120: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
2130: 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 31 30 list.rsize == 10
2140: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ) {.
2150: 20 20 6f 31 20 3d 20 20 28 28 5f 5f 76 61 77 6f o1 = ((__vawo
2160: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
2170: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
2180: 29 5b 38 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 )[8] << 56).
2190: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
21a0: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
21b0: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
21c0: 73 74 2e 72 61 64 64 72 29 5b 39 5d 20 3c 3c 20 st.raddr)[9] <<
21d0: 34 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 48);.
21e0: 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 } else.
21f0: 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 if (list.rsi
2200: 7a 65 20 3d 3d 20 31 31 29 20 7b 0a 20 20 20 20 ze == 11) {.
2210: 20 20 20 20 20 20 20 20 20 20 6f 31 20 3d 20 20 o1 =
2220: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
2230: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
2240: 73 74 2e 72 61 64 64 72 29 5b 38 5d 20 3c 3c 20 st.raddr)[8] <<
2250: 35 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 56).
2260: 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f | ((__vawo
2270: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
2280: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
2290: 29 5b 39 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 )[9] << 48).
22a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
22b0: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
22c0: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
22d0: 73 74 2e 72 61 64 64 72 29 5b 31 30 5d 20 3c 3c st.raddr)[10] <<
22e0: 20 34 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 40);.
22f0: 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 } else.
2300: 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 if (list.rs
2310: 69 7a 65 20 3d 3d 20 31 32 29 20 7b 0a 20 20 20 ize == 12) {.
2320: 20 20 20 20 20 20 20 20 20 20 20 6f 31 20 3d 20 o1 =
2330: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
2340: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
2350: 69 73 74 2e 72 61 64 64 72 29 5b 38 5d 20 3c 3c ist.raddr)[8] <<
2360: 20 35 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 56).
2370: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
2380: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
2390: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
23a0: 72 29 5b 39 5d 20 3c 3c 20 34 38 29 0a 20 20 20 r)[9] << 48).
23b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
23c0: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
23d0: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
23e0: 69 73 74 2e 72 61 64 64 72 29 5b 31 30 5d 20 3c ist.raddr)[10] <
23f0: 3c 20 34 30 29 0a 20 20 20 20 20 20 20 20 20 20 < 40).
2400: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
2410: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
2420: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
2430: 64 72 29 5b 31 31 5d 20 3c 3c 20 33 32 29 3b 0a dr)[11] << 32);.
2440: 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c } el
2450: 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 se. i
2460: 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d f (list.rsize ==
2470: 20 31 33 29 20 7b 0a 20 20 20 20 20 20 20 20 20 13) {.
2480: 20 20 20 20 20 6f 31 20 3d 20 20 28 28 5f 5f 76 o1 = ((__v
2490: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
24a0: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
24b0: 64 64 72 29 5b 38 5d 20 3c 3c 20 35 36 29 0a 20 ddr)[8] << 56).
24c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
24d0: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
24e0: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
24f0: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 39 5d 20 list.raddr)[9]
2500: 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 20 20 20 << 48).
2510: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
2520: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
2530: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
2540: 64 64 72 29 5b 31 30 5d 20 3c 3c 20 34 30 29 0a ddr)[10] << 40).
2550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2560: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
2570: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
2580: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 31 ) list.raddr)[11
2590: 5d 20 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 20 ] << 32).
25a0: 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f | ((_
25b0: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
25c0: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
25d0: 72 61 64 64 72 29 5b 31 32 5d 20 3c 3c 20 32 34 raddr)[12] << 24
25e0: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d );. }
25f0: 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 else.
2600: 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 if (list.rsize
2610: 20 3d 3d 20 31 34 29 20 7b 0a 20 20 20 20 20 20 == 14) {.
2620: 20 20 20 20 20 20 20 20 6f 31 20 3d 20 20 28 28 o1 = ((
2630: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
2640: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
2650: 2e 72 61 64 64 72 29 5b 38 5d 20 3c 3c 20 35 36 .raddr)[8] << 56
2660: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
2670: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
2680: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
2690: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
26a0: 39 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 9] << 48).
26b0: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
26c0: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
26d0: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
26e0: 2e 72 61 64 64 72 29 5b 31 30 5d 20 3c 3c 20 34 .raddr)[10] << 4
26f0: 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 0).
2700: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
2710: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
2720: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
2730: 5b 31 31 5d 20 3c 3c 20 33 32 29 0a 20 20 20 20 [11] << 32).
2740: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
2750: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
2760: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
2770: 73 74 2e 72 61 64 64 72 29 5b 31 32 5d 20 3c 3c st.raddr)[12] <<
2780: 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 24).
2790: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
27a0: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
27b0: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
27c0: 72 29 5b 31 33 5d 20 3c 3c 20 31 36 29 3b 0a 20 r)[13] << 16);.
27d0: 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 } els
27e0: 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 e. if
27f0: 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 (list.rsize ==
2800: 31 35 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 15) {.
2810: 20 20 20 20 6f 31 20 3d 20 20 28 28 5f 5f 76 61 o1 = ((__va
2820: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
2830: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
2840: 64 72 29 5b 38 5d 20 3c 3c 20 35 36 29 0a 20 20 dr)[8] << 56).
2850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2860: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
2870: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
2880: 6c 69 73 74 2e 72 61 64 64 72 29 5b 39 5d 20 3c list.raddr)[9] <
2890: 3c 20 34 38 29 0a 20 20 20 20 20 20 20 20 20 20 < 48).
28a0: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
28b0: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
28c0: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
28d0: 64 72 29 5b 31 30 5d 20 3c 3c 20 34 30 29 0a 20 dr)[10] << 40).
28e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
28f0: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
2900: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
2910: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 31 5d list.raddr)[11]
2920: 20 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 20 20 << 32).
2930: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
2940: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
2950: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
2960: 61 64 64 72 29 5b 31 32 5d 20 3c 3c 20 32 34 29 addr)[12] << 24)
2970: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2980: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
2990: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
29a0: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 *) list.raddr)[1
29b0: 33 5d 20 3c 3c 20 31 36 29 0a 20 20 20 20 20 20 3] << 16).
29c0: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
29d0: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
29e0: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
29f0: 2e 72 61 64 64 72 29 5b 31 34 5d 20 3c 3c 20 38 .raddr)[14] << 8
2a00: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d );. }
2a10: 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 else.
2a20: 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 if (list.rsize
2a30: 20 3e 3d 20 31 36 20 26 26 20 6c 69 73 74 2e 72 >= 16 && list.r
2a40: 73 69 7a 65 20 3c 3d 20 33 32 29 20 7b 0a 20 20 size <= 32) {.
2a50: 20 20 20 20 20 20 20 20 20 20 20 20 6f 31 20 3d o1 =
2a60: 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 ((__vaword)((u
2a70: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
2a80: 6c 69 73 74 2e 72 61 64 64 72 29 5b 38 5d 20 3c list.raddr)[8] <
2a90: 3c 20 35 36 29 0a 20 20 20 20 20 20 20 20 20 20 < 56).
2aa0: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
2ab0: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
2ac0: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
2ad0: 64 72 29 5b 39 5d 20 3c 3c 20 34 38 29 0a 20 20 dr)[9] << 48).
2ae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2af0: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
2b00: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
2b10: 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 30 5d 20 list.raddr)[10]
2b20: 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 20 20 20 << 40).
2b30: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
2b40: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
2b50: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
2b60: 64 64 72 29 5b 31 31 5d 20 3c 3c 20 33 32 29 0a ddr)[11] << 32).
2b70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2b80: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
2b90: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
2ba0: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 32 ) list.raddr)[12
2bb0: 5d 20 3c 3c 20 32 34 29 0a 20 20 20 20 20 20 20 ] << 24).
2bc0: 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f | ((_
2bd0: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
2be0: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
2bf0: 72 61 64 64 72 29 5b 31 33 5d 20 3c 3c 20 31 36 raddr)[13] << 16
2c00: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
2c10: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
2c20: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
2c30: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
2c40: 31 34 5d 20 3c 3c 20 38 29 0a 20 20 20 20 20 20 14] << 8).
2c50: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 28 | (
2c60: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
2c70: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
2c80: 2e 72 61 64 64 72 29 5b 31 35 5d 3b 0a 20 20 20 .raddr)[15];.
2c90: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c if (l
2ca0: 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 31 36 29 ist.rsize == 16)
2cb0: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 {.
2cc0: 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 } else.
2cd0: 20 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 if (list.r
2ce0: 73 69 7a 65 20 3d 3d 20 31 37 29 20 7b 0a 20 20 size == 17) {.
2cf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 32 o2
2d00: 20 3d 20 20 20 28 5f 5f 76 61 77 6f 72 64 29 28 = (__vaword)(
2d10: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
2d20: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 36 ) list.raddr)[16
2d30: 5d 20 3c 3c 20 35 36 3b 0a 20 20 20 20 20 20 20 ] << 56;.
2d40: 20 20 20 20 20 20 20 7d 20 65 6c 73 65 0a 20 20 } else.
2d50: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
2d60: 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 31 38 list.rsize == 18
2d70: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ) {.
2d80: 20 20 20 20 6f 32 20 3d 20 20 28 28 5f 5f 76 61 o2 = ((__va
2d90: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
2da0: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
2db0: 64 72 29 5b 31 36 5d 20 3c 3c 20 35 36 29 0a 20 dr)[16] << 56).
2dc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2dd0: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
2de0: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
2df0: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 *) list.raddr)[1
2e00: 37 5d 20 3c 3c 20 34 38 29 3b 0a 20 20 20 20 20 7] << 48);.
2e10: 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 0a } else.
2e20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 if
2e30: 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 (list.rsize ==
2e40: 31 39 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 19) {.
2e50: 20 20 20 20 20 20 6f 32 20 3d 20 20 28 28 5f 5f o2 = ((__
2e60: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
2e70: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
2e80: 61 64 64 72 29 5b 31 36 5d 20 3c 3c 20 35 36 29 addr)[16] << 56)
2e90: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2ea0: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
2eb0: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
2ec0: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
2ed0: 5b 31 37 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 [17] << 48).
2ee0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2ef0: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
2f00: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
2f10: 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 38 5d 20 list.raddr)[18]
2f20: 3c 3c 20 34 30 29 3b 0a 20 20 20 20 20 20 20 20 << 40);.
2f30: 20 20 20 20 20 20 7d 20 65 6c 73 65 0a 20 20 20 } else.
2f40: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c if (l
2f50: 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 32 30 29 ist.rsize == 20)
2f60: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 {.
2f70: 20 20 20 6f 32 20 3d 20 20 28 28 5f 5f 76 61 77 o2 = ((__vaw
2f80: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
2f90: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
2fa0: 72 29 5b 31 36 5d 20 3c 3c 20 35 36 29 0a 20 20 r)[16] << 56).
2fb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2fc0: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
2fd0: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
2fe0: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 37 ) list.raddr)[17
2ff0: 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 20 ] << 48).
3000: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
3010: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
3020: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
3030: 74 2e 72 61 64 64 72 29 5b 31 38 5d 20 3c 3c 20 t.raddr)[18] <<
3040: 34 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 40).
3050: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
3060: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
3070: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
3080: 64 72 29 5b 31 39 5d 20 3c 3c 20 33 32 29 3b 0a dr)[19] << 32);.
3090: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 }
30a0: 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 else.
30b0: 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a if (list.rsiz
30c0: 65 20 3d 3d 20 32 31 29 20 7b 0a 20 20 20 20 20 e == 21) {.
30d0: 20 20 20 20 20 20 20 20 20 20 20 6f 32 20 3d 20 o2 =
30e0: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
30f0: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
3100: 69 73 74 2e 72 61 64 64 72 29 5b 31 36 5d 20 3c ist.raddr)[16] <
3110: 3c 20 35 36 29 0a 20 20 20 20 20 20 20 20 20 20 < 56).
3120: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
3130: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
3140: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
3150: 61 64 64 72 29 5b 31 37 5d 20 3c 3c 20 34 38 29 addr)[17] << 48)
3160: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3170: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
3180: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
3190: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
31a0: 5b 31 38 5d 20 3c 3c 20 34 30 29 0a 20 20 20 20 [18] << 40).
31b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
31c0: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
31d0: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
31e0: 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 39 5d 20 list.raddr)[19]
31f0: 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 << 32).
3200: 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f | ((_
3210: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
3220: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
3230: 72 61 64 64 72 29 5b 32 30 5d 20 3c 3c 20 32 34 raddr)[20] << 24
3240: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 );.
3250: 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 } else.
3260: 20 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 if (list.r
3270: 73 69 7a 65 20 3d 3d 20 32 32 29 20 7b 0a 20 20 size == 22) {.
3280: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 32 o2
3290: 20 3d 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 = ((__vaword)(
32a0: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
32b0: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 36 ) list.raddr)[16
32c0: 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 20 ] << 56).
32d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
32e0: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
32f0: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
3300: 74 2e 72 61 64 64 72 29 5b 31 37 5d 20 3c 3c 20 t.raddr)[17] <<
3310: 34 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 48).
3320: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
3330: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
3340: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
3350: 64 72 29 5b 31 38 5d 20 3c 3c 20 34 30 29 0a 20 dr)[18] << 40).
3360: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3370: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
3380: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
3390: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 *) list.raddr)[1
33a0: 39 5d 20 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 9] << 32).
33b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
33c0: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
33d0: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
33e0: 73 74 2e 72 61 64 64 72 29 5b 32 30 5d 20 3c 3c st.raddr)[20] <<
33f0: 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 24).
3400: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
3410: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
3420: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
3430: 64 64 72 29 5b 32 31 5d 20 3c 3c 20 31 36 29 3b ddr)[21] << 16);
3440: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d . }
3450: 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 else.
3460: 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 if (list.rsi
3470: 7a 65 20 3d 3d 20 32 33 29 20 7b 0a 20 20 20 20 ze == 23) {.
3480: 20 20 20 20 20 20 20 20 20 20 20 20 6f 32 20 3d o2 =
3490: 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 ((__vaword)((u
34a0: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
34b0: 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 36 5d 20 list.raddr)[16]
34c0: 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 20 20 20 << 56).
34d0: 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f | ((_
34e0: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
34f0: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
3500: 72 61 64 64 72 29 5b 31 37 5d 20 3c 3c 20 34 38 raddr)[17] << 48
3510: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
3520: 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f | ((__vawo
3530: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
3540: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
3550: 29 5b 31 38 5d 20 3c 3c 20 34 30 29 0a 20 20 20 )[18] << 40).
3560: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3570: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
3580: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
3590: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 39 5d list.raddr)[19]
35a0: 20 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 20 20 << 32).
35b0: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
35c0: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
35d0: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
35e0: 2e 72 61 64 64 72 29 5b 32 30 5d 20 3c 3c 20 32 .raddr)[20] << 2
35f0: 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 4).
3600: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
3610: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
3620: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
3630: 72 29 5b 32 31 5d 20 3c 3c 20 31 36 29 0a 20 20 r)[21] << 16).
3640: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3650: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
3660: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
3670: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 32 ) list.raddr)[22
3680: 5d 20 3c 3c 20 38 29 3b 0a 20 20 20 20 20 20 20 ] << 8);.
3690: 20 20 20 20 20 20 20 7d 20 65 6c 73 65 0a 20 20 } else.
36a0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
36b0: 6c 69 73 74 2e 72 73 69 7a 65 20 3e 3d 20 32 34 list.rsize >= 24
36c0: 20 26 26 20 6c 69 73 74 2e 72 73 69 7a 65 20 3c && list.rsize <
36d0: 3d 20 33 32 29 20 7b 0a 20 20 20 20 20 20 20 20 = 32) {.
36e0: 20 20 20 20 20 20 20 20 6f 32 20 3d 20 20 28 28 o2 = ((
36f0: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
3700: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
3710: 2e 72 61 64 64 72 29 5b 31 36 5d 20 3c 3c 20 35 .raddr)[16] << 5
3720: 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6).
3730: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
3740: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
3750: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
3760: 72 29 5b 31 37 5d 20 3c 3c 20 34 38 29 0a 20 20 r)[17] << 48).
3770: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3780: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
3790: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
37a0: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 38 ) list.raddr)[18
37b0: 5d 20 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 20 ] << 40).
37c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
37d0: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
37e0: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
37f0: 74 2e 72 61 64 64 72 29 5b 31 39 5d 20 3c 3c 20 t.raddr)[19] <<
3800: 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 32).
3810: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
3820: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
3830: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
3840: 64 72 29 5b 32 30 5d 20 3c 3c 20 32 34 29 0a 20 dr)[20] << 24).
3850: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3860: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
3870: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
3880: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 *) list.raddr)[2
3890: 31 5d 20 3c 3c 20 31 36 29 0a 20 20 20 20 20 20 1] << 16).
38a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
38b0: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
38c0: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
38d0: 73 74 2e 72 61 64 64 72 29 5b 32 32 5d 20 3c 3c st.raddr)[22] <<
38e0: 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 8).
38f0: 20 20 20 20 20 20 20 20 7c 20 20 28 5f 5f 76 61 | (__va
3900: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
3910: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
3920: 64 72 29 5b 32 33 5d 3b 0a 20 20 20 20 20 20 20 dr)[23];.
3930: 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 if (lis
3940: 74 2e 72 73 69 7a 65 20 3d 3d 20 32 34 29 20 7b t.rsize == 24) {
3950: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3960: 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 } else.
3970: 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 74 if (list
3980: 2e 72 73 69 7a 65 20 3d 3d 20 32 35 29 20 7b 0a .rsize == 25) {.
3990: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
39a0: 20 20 6f 33 20 3d 20 20 20 28 5f 5f 76 61 77 6f o3 = (__vawo
39b0: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
39c0: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
39d0: 29 5b 32 34 5d 20 3c 3c 20 35 36 3b 0a 20 20 20 )[24] << 56;.
39e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 } e
39f0: 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 lse.
3a00: 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 if (list.rsi
3a10: 7a 65 20 3d 3d 20 32 36 29 20 7b 0a 20 20 20 20 ze == 26) {.
3a20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 33 o3
3a30: 20 3d 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 = ((__vaword)(
3a40: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
3a50: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 34 ) list.raddr)[24
3a60: 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 20 ] << 56).
3a70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
3a80: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
3a90: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
3aa0: 69 73 74 2e 72 61 64 64 72 29 5b 32 35 5d 20 3c ist.raddr)[25] <
3ab0: 3c 20 34 38 29 3b 0a 20 20 20 20 20 20 20 20 20 < 48);.
3ac0: 20 20 20 20 20 20 20 7d 20 65 6c 73 65 0a 20 20 } else.
3ad0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 if
3ae0: 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 (list.rsize ==
3af0: 32 37 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 27) {.
3b00: 20 20 20 20 20 20 20 20 6f 33 20 3d 20 20 28 28 o3 = ((
3b10: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
3b20: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
3b30: 2e 72 61 64 64 72 29 5b 32 34 5d 20 3c 3c 20 35 .raddr)[24] << 5
3b40: 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6).
3b50: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
3b60: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
3b70: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
3b80: 64 64 72 29 5b 32 35 5d 20 3c 3c 20 34 38 29 0a ddr)[25] << 48).
3b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3ba0: 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f | ((__vawo
3bb0: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
3bc0: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
3bd0: 29 5b 32 36 5d 20 3c 3c 20 34 30 29 3b 0a 20 20 )[26] << 40);.
3be0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 }
3bf0: 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 else.
3c00: 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 if (list.rs
3c10: 69 7a 65 20 3d 3d 20 32 38 29 20 7b 0a 20 20 20 ize == 28) {.
3c20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f o
3c30: 33 20 3d 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 3 = ((__vaword)
3c40: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
3c50: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 *) list.raddr)[2
3c60: 34 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 4] << 56).
3c70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3c80: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
3c90: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
3ca0: 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 35 5d 20 list.raddr)[25]
3cb0: 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 20 20 20 << 48).
3cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
3cd0: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
3ce0: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
3cf0: 74 2e 72 61 64 64 72 29 5b 32 36 5d 20 3c 3c 20 t.raddr)[26] <<
3d00: 34 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 40).
3d10: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
3d20: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
3d30: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
3d40: 61 64 64 72 29 5b 32 37 5d 20 3c 3c 20 33 32 29 addr)[27] << 32)
3d50: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;.
3d60: 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 } else.
3d70: 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 if (lis
3d80: 74 2e 72 73 69 7a 65 20 3d 3d 20 32 39 29 20 7b t.rsize == 29) {
3d90: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3da0: 20 20 20 6f 33 20 3d 20 20 28 28 5f 5f 76 61 77 o3 = ((__vaw
3db0: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
3dc0: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
3dd0: 72 29 5b 32 34 5d 20 3c 3c 20 35 36 29 0a 20 20 r)[24] << 56).
3de0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3df0: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
3e00: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
3e10: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
3e20: 32 35 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 25] << 48).
3e30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3e40: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
3e50: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
3e60: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 36 5d list.raddr)[26]
3e70: 20 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 20 20 << 40).
3e80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
3e90: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
3ea0: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
3eb0: 73 74 2e 72 61 64 64 72 29 5b 32 37 5d 20 3c 3c st.raddr)[27] <<
3ec0: 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 32).
3ed0: 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f | ((_
3ee0: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
3ef0: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
3f00: 72 61 64 64 72 29 5b 32 38 5d 20 3c 3c 20 32 34 raddr)[28] << 24
3f10: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 );.
3f20: 20 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 } else.
3f30: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 if (li
3f40: 73 74 2e 72 73 69 7a 65 20 3d 3d 20 33 30 29 20 st.rsize == 30)
3f50: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 {.
3f60: 20 20 20 20 6f 33 20 3d 20 20 28 28 5f 5f 76 61 o3 = ((__va
3f70: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
3f80: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
3f90: 64 72 29 5b 32 34 5d 20 3c 3c 20 35 36 29 0a 20 dr)[24] << 56).
3fa0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3fb0: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
3fc0: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
3fd0: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
3fe0: 5b 32 35 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 [25] << 48).
3ff0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4000: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
4010: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
4020: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 36 ) list.raddr)[26
4030: 5d 20 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 20 ] << 40).
4040: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
4050: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
4060: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
4070: 69 73 74 2e 72 61 64 64 72 29 5b 32 37 5d 20 3c ist.raddr)[27] <
4080: 3c 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 < 32).
4090: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
40a0: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
40b0: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
40c0: 2e 72 61 64 64 72 29 5b 32 38 5d 20 3c 3c 20 32 .raddr)[28] << 2
40d0: 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 4).
40e0: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
40f0: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
4100: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
4110: 64 64 72 29 5b 32 39 5d 20 3c 3c 20 31 36 29 3b ddr)[29] << 16);
4120: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
4130: 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 } else.
4140: 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 74 if (list
4150: 2e 72 73 69 7a 65 20 3d 3d 20 33 31 29 20 7b 0a .rsize == 31) {.
4160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4170: 20 20 6f 33 20 3d 20 20 28 28 5f 5f 76 61 77 6f o3 = ((__vawo
4180: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
4190: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
41a0: 29 5b 32 34 5d 20 3c 3c 20 35 36 29 0a 20 20 20 )[24] << 56).
41b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
41c0: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
41d0: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
41e0: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 *) list.raddr)[2
41f0: 35 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 5] << 48).
4200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4210: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
4220: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
4230: 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 36 5d 20 list.raddr)[26]
4240: 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 20 20 20 << 40).
4250: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
4260: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
4270: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
4280: 74 2e 72 61 64 64 72 29 5b 32 37 5d 20 3c 3c 20 t.raddr)[27] <<
4290: 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 32).
42a0: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
42b0: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
42c0: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
42d0: 61 64 64 72 29 5b 32 38 5d 20 3c 3c 20 32 34 29 addr)[28] << 24)
42e0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
42f0: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
4300: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
4310: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
4320: 72 29 5b 32 39 5d 20 3c 3c 20 31 36 29 0a 20 20 r)[29] << 16).
4330: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4340: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
4350: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
4360: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
4370: 33 30 5d 20 3c 3c 20 38 29 3b 0a 20 20 20 20 20 30] << 8);.
4380: 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 } els
4390: 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.
43a0: 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 if (list.rsize
43b0: 20 3d 3d 20 33 32 29 20 7b 0a 20 20 20 20 20 20 == 32) {.
43c0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 33 20 3d o3 =
43d0: 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 ((__vaword)((u
43e0: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
43f0: 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 34 5d 20 list.raddr)[24]
4400: 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 20 20 20 << 56).
4410: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
4420: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
4430: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
4440: 74 2e 72 61 64 64 72 29 5b 32 35 5d 20 3c 3c 20 t.raddr)[25] <<
4450: 34 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 48).
4460: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
4470: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
4480: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
4490: 61 64 64 72 29 5b 32 36 5d 20 3c 3c 20 34 30 29 addr)[26] << 40)
44a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
44b0: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
44c0: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
44d0: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
44e0: 72 29 5b 32 37 5d 20 3c 3c 20 33 32 29 0a 20 20 r)[27] << 32).
44f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4500: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
4510: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
4520: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
4530: 32 38 5d 20 3c 3c 20 32 34 29 0a 20 20 20 20 20 28] << 24).
4540: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4550: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
4560: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
4570: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 39 5d list.raddr)[29]
4580: 20 3c 3c 20 31 36 29 0a 20 20 20 20 20 20 20 20 << 16).
4590: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
45a0: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
45b0: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
45c0: 73 74 2e 72 61 64 64 72 29 5b 33 30 5d 20 3c 3c st.raddr)[30] <<
45d0: 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 8).
45e0: 20 20 20 20 20 20 20 20 20 20 7c 20 20 28 5f 5f | (__
45f0: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
4600: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
4610: 61 64 64 72 29 5b 33 31 5d 3b 0a 20 20 20 20 20 addr)[31];.
4620: 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 }.
4630: 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 }.
4640: 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 }.
4650: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d }. }
4660: 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 . }. }.
4670: 20 7d 0a 7d 0a }.}.