13 #define vdi_control_ptr(n)   *((void**)(vdi_control +n)) 
   14 #define vdi_intin_ptr(n)     *((void**)(vdi_intin   +n)) 
   15 #define vdi_intout_long(n)   *((long*) (vdi_intout  +n)) 
   17 #if defined(__GNUC__) && !defined(__NO_INLINE__) 
   20 _vdi_trap_esc (
VDIPB * vdipb,
 
   21                long cntrl_0_1, 
long cntrl_3, 
long cntrl_5, 
short handle)
 
   34         : 
"g"(vdipb), 
"g"(cntrl_0_1), 
"g"(cntrl_3), 
"g"(cntrl_5), 
"g"(handle)
 
   35         : 
"d0", 
"d1", 
"d2", 
"a0", 
"a1", 
"a2", 
"memory" 
   38 #define VDI_TRAP_ESC(vdipb, handle, opcode, subop, cntrl_1, cntrl_3) \ 
   39     _vdi_trap_esc (&vdipb, (opcode##uL<<16)|cntrl_1, cntrl_3, subop, handle) 
   42 _vdi_trap_00 (
VDIPB * vdipb, 
long cntrl_0_1, 
short handle)
 
   56         : 
"g"(vdipb), 
"g"(cntrl_0_1), 
"g"(handle)
 
   57         : 
"d0", 
"d1", 
"d2", 
"a0", 
"a1", 
"a2", 
"memory" 
   60 #define VDI_TRAP_00(vdipb, handle, opcode) \ 
   61     _vdi_trap_00 (&vdipb, (opcode##uL<<16), handle) 
   68 __regsused(
"d0/d1/a0/a1") void _vdi_trap_esc(
 
   69         __reg("a0")
VDIPB *,__reg("d0")
long,__reg("d1")
long,
 
   70         __reg("d2")
long,__reg("d3")
short) =
 
   71   "\tmove.l\td2,-(sp)\n"
 
   72   "\tmove.l\ta2,-(sp)\n"
 
   74   "\tmovem.l\td0-d2,(a1)\n"
 
   75   "\tmove.w\td3,12(a1)\n"
 
   79   "\tmove.l\t(sp)+,a2\n" 
   82 #define VDI_TRAP_ESC(vdipb, handle, opcode, subop, cntrl_1, cntrl_3) \ 
   83         _vdi_trap_esc (&vdipb, (opcode##uL<<16)|cntrl_1, cntrl_3, subop, handle) 
   85 __regsused(
"d0/d1/a0/a1") void _vdi_trap_00(
 
   86         __reg("a0")VDIPB *,__reg("d0")
long,__reg("d1")
short) =
 
   87   "\tmove.l\td2,-(sp)\n"
 
   88   "\tmove.l\ta2,-(sp)\n"
 
   90   "\tmove.l\td0,(a1)+\n"
 
   92   "\tmove.l\td0,(a1)+\n" 
   93   "\tmove.l\td0,(a1)+\n" 
   98   "\tmove.l\t(sp)+,a2\n" 
  101 #define VDI_TRAP_00(vdipb, handle, opcode) \ 
  102     _vdi_trap_00 (&vdipb, (opcode##uL<<16), handle) 
  106 #define VDI_TRAP_ESC(vdipb, handle, opcode, subop, cntrl_1, cntrl_3) \ 
  107     vdipb.control[0] = opcode;  \ 
  108     vdipb.control[1] = cntrl_1; \ 
  109     vdipb.control[3] = cntrl_3; \ 
  110     vdipb.control[5] = subop;   \ 
  111     vdipb.control[6] = handle;  \ 
  114 #define VDI_TRAP_00(vdipb, handle, opcode) \ 
  115     VDI_TRAP_ESC (vdipb, handle, opcode, 0, 0, 0) 
  120 #define VDI_TRAP(vdipb, handle, opcode, cntrl_1, cntrl_3) \ 
  121     VDI_TRAP_ESC(vdipb, handle, opcode, 0, cntrl_1, cntrl_3) 
  123 #define VDI_PARAMS(a,b,c,d,e) \ 
  125     vdi_params.control = a;   \ 
  126     vdi_params.intin   = b;   \ 
  127     vdi_params.ptsin   = c;   \ 
  128     vdi_params.intout  = d;   \ 
  129     vdi_params.ptsout  = e; 
  135 #define CHECK_NULLPTR 1 
  141 #define USE_VDI_DUMMY 1 
  145     extern short vdi_dummy[];
 
Definition: mt_gem.h:3020