root/drivers/net/dgrs_asstruct.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  *      For declaring structures shared with assembly routines
   3  *
   4  *      $Id: asstruct.h,v 1.1.1.1 1994/10/23 05:08:32 rick Exp $
   5  */
   6 
   7 #if ASSEMBLER
   8 
   9 #       define MO(t,a)          (a)
  10 #       define VMO(t,a)         (a)
  11 
  12 #       define  BEGIN_STRUCT(x) _Off=0
  13 #       define  S1A(t,x,n)      _Off=(_Off+0)&~0; x=_Off; _Off=_Off+(1*n)
  14 #       define  S2A(t,x,n)      _Off=(_Off+1)&~1; x=_Off; _Off=_Off+(2*n)
  15 #       define  S4A(t,x,n)      _Off=(_Off+3)&~3; x=_Off; _Off=_Off+(4*n)
  16 #       define  WORD(x)         _Off=(_Off+3)&~3; x=_Off; _Off=_Off+4
  17 #       define  WORDA(x,n)      _Off=(_Off+3)&~3; x=_Off; _Off=_Off+(4*n)
  18 #       define  VWORD(x)        _Off=(_Off+3)&~3; x=_Off; _Off=_Off+4
  19 #       define  S1(t,x)         _Off=(_Off+0)&~0; x=_Off; _Off=_Off+1
  20 #       define  S2(t,x)         _Off=(_Off+1)&~1; x=_Off; _Off=_Off+2
  21 #       define  S4(t,x)         _Off=(_Off+3)&~3; x=_Off; _Off=_Off+4
  22 #       define  END_STRUCT(x)   _Off=(_Off+3)&~3; x=_Off 
  23 
  24 #else   /* C */
  25 
  26 #define VMO(t,a)        (*(volatile t *)(a))
  27 
  28 #       define BEGIN_STRUCT(x) struct x {
  29 #       define S1(t,x)         t x ;
  30 #       define S1A(t,x,n)      t x[n] ;
  31 #       define S2(t,x)         t x ;
  32 #       define S2A(t,x,n)      t x[n] ;
  33 #       define S4(t,x)         t x ;
  34 #       define S4A(t,x,n)      t x[n] ;
  35 #       define END_STRUCT(x)   } ;
  36 
  37 #endif

/* [previous][next][first][last][top][bottom][index][help] */