Pristine Ack-5.5
[Ack-5.5.git] / util / int / monstruct.h
1 /*
2         These are descriptions of the fields of the structs as returned
3         by the MON instruction.  Each field is described by its offset and
4         its length.  The offset may be dependent on the word size, which
5         is supposed to be given by  wsize  . (This  wsize  should actually
6         be a parameter to all #defines, but this is not done to avoid
7         excessive clutter.)
8         
9         The description is intended as one parameter for a routine that
10         expects two parameters, the offset and the length, both ints.
11 */
12
13 /* $Id: monstruct.h,v 2.2 1994/06/24 10:48:26 ceriel Exp $ */
14
15 /* struct stat */
16 #define V7st_dev        0L, 2L                  /* short */
17 #define V7st_ino        2L, 2L                  /* unsigned short */
18 #define V7st_mode       4L, 2L                  /* unsigned short */
19 #define V7st_nlink      6L, 2L                  /* short */
20 #define V7st_uid        8L, 2L                  /* short */
21 #define V7st_gid        10L, 2L                 /* short */
22 #define V7st_rdev       12L, 2L                 /* short */
23 #define V7st_align1     ((14 + wsize - 1) / wsize * wsize)
24 #define V7st_size       V7st_align1 + 0L, 4L    /* long */
25 #define V7st_atime      V7st_align1 + 4L, 4L    /* long */
26 #define V7st_mtime      V7st_align1 + 8L, 4L    /* long */
27 #define V7st_ctime      V7st_align1 + 12L, 4L   /* long */
28 #define V7st_sz         V7st_align1 + 16L
29
30 /* struct timeb */
31 #define V7tb_time       0L, 4L                  /* long */
32 #define V7tb_millitm    4L, 2L                  /* unsigned short */
33 #define V7tb_timezone   6L, 2L                  /* short */
34 #define V7tb_dstflag    8L, 2L                  /* short */
35 #define V7tb_sz         10L
36
37 /* struct tms */
38 #define V7tms_utime     0L, 4L                  /* long */
39 #define V7tms_stime     4L, 4L                  /* long */
40 #define V7tms_cutime    8L, 4L                  /* long */
41 #define V7tms_cstime    12L, 4L                 /* long */
42 #define V7tms_sz        16L
43
44 /* struct sgttyb */
45 #define V7sg_ispeed     0L, 1L                  /* char */
46 #define V7sg_ospeed     1L, 1L                  /* char */
47 #define V7sg_erase      2L, 1L                  /* char */
48 #define V7sg_kill       3L, 1L                  /* char */
49 #define V7sg_flags      4L, 2L                  /* short */
50 #define V7sg_sz         6L
51
52 /* struct tchars */
53 #define V7t_intrc       0L, 1L                  /* char */
54 #define V7t_quitc       1L, 1L                  /* char */
55 #define V7t_startc      2L, 1L                  /* char */
56 #define V7t_stopc       3L, 1L                  /* char */
57 #define V7t_eofc        4L, 1L                  /* char */
58 #define V7t_brkc        5L, 1L                  /* char */
59 #define V7t_sz_tch      6L
60
61 /* struct ltchars */
62 #define V7t_suspc       0L, 1L                  /* char */
63 #define V7t_dsuspc      1L, 1L                  /* char */
64 #define V7t_rprntc      2L, 1L                  /* char */
65 #define V7t_flushc      3L, 1L                  /* char */
66 #define V7t_werasc      4L, 1L                  /* char */
67 #define V7t_lnextc      5L, 1L                  /* char */
68 #define V7t_sz_ltch     6L
69