monstruct.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. The description is intended as one parameter for a routine that
  9. expects two parameters, the offset and the length, both ints.
  10. */
  11. /* $Id$ */
  12. /* struct stat */
  13. #define V7st_dev 0L, 2L /* short */
  14. #define V7st_ino 2L, 2L /* unsigned short */
  15. #define V7st_mode 4L, 2L /* unsigned short */
  16. #define V7st_nlink 6L, 2L /* short */
  17. #define V7st_uid 8L, 2L /* short */
  18. #define V7st_gid 10L, 2L /* short */
  19. #define V7st_rdev 12L, 2L /* short */
  20. #define V7st_align1 ((14 + wsize - 1) / wsize * wsize)
  21. #define V7st_size V7st_align1 + 0L, 4L /* long */
  22. #define V7st_atime V7st_align1 + 4L, 4L /* long */
  23. #define V7st_mtime V7st_align1 + 8L, 4L /* long */
  24. #define V7st_ctime V7st_align1 + 12L, 4L /* long */
  25. #define V7st_sz V7st_align1 + 16L
  26. /* struct timeb */
  27. #define V7tb_time 0L, 4L /* long */
  28. #define V7tb_millitm 4L, 2L /* unsigned short */
  29. #define V7tb_timezone 6L, 2L /* short */
  30. #define V7tb_dstflag 8L, 2L /* short */
  31. #define V7tb_sz 10L
  32. /* struct tms */
  33. #define V7tms_utime 0L, 4L /* long */
  34. #define V7tms_stime 4L, 4L /* long */
  35. #define V7tms_cutime 8L, 4L /* long */
  36. #define V7tms_cstime 12L, 4L /* long */
  37. #define V7tms_sz 16L
  38. /* struct sgttyb */
  39. #define V7sg_ispeed 0L, 1L /* char */
  40. #define V7sg_ospeed 1L, 1L /* char */
  41. #define V7sg_erase 2L, 1L /* char */
  42. #define V7sg_kill 3L, 1L /* char */
  43. #define V7sg_flags 4L, 2L /* short */
  44. #define V7sg_sz 6L
  45. /* struct tchars */
  46. #define V7t_intrc 0L, 1L /* char */
  47. #define V7t_quitc 1L, 1L /* char */
  48. #define V7t_startc 2L, 1L /* char */
  49. #define V7t_stopc 3L, 1L /* char */
  50. #define V7t_eofc 4L, 1L /* char */
  51. #define V7t_brkc 5L, 1L /* char */
  52. #define V7t_sz_tch 6L
  53. /* struct ltchars */
  54. #define V7t_suspc 0L, 1L /* char */
  55. #define V7t_dsuspc 1L, 1L /* char */
  56. #define V7t_rprntc 2L, 1L /* char */
  57. #define V7t_flushc 3L, 1L /* char */
  58. #define V7t_werasc 4L, 1L /* char */
  59. #define V7t_lnextc 5L, 1L /* char */
  60. #define V7t_sz_ltch 6L