home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1995 April / Internet Tools.iso / osi / isode / vmsisode / vmsisode80_tar.Z / vmsisode80_tar / sockit / gccinclude / sys / vmsdir.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-04-24  |  2.8 KB  |  107 lines

  1. /* GNU Emacs VMS directory definition file.
  2.    Copyright (C) 1986 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU Emacs.
  5.  
  6. GNU Emacs is distributed in the hope that it will be useful,
  7. but WITHOUT ANY WARRANTY.  No author or distributor
  8. accepts responsibility to anyone for the consequences of using it
  9. or for whether it serves any particular purpose or works at all,
  10. unless he says so in writing.  Refer to the GNU Emacs General Public
  11. License for full details.
  12.  
  13. Everyone is granted permission to copy, modify and redistribute
  14. GNU Emacs, but only under the conditions described in the
  15. GNU Emacs General Public License.   A copy of this license is
  16. supposed to have been given to you along with GNU Emacs so you
  17. can know your rights and responsibilities.  It should be in a
  18. file named COPYING.  Among other things, the copyright notice
  19. and this notice must be preserved on all copies.  */
  20.  
  21. /*
  22.  * Files-11 Ver. 2 directory structure (VMS V4.x - long names)
  23.  */
  24. #ifndef DIR$K_LENGTH
  25.  
  26. #define    DIR$C_FID    0
  27. #define    DIR$C_LINKNAME    1
  28. #define    DIR$K_LENGTH    6
  29. #define    DIR$C_LENGTH    6
  30. #define    DIR$S_DIRDEF    6
  31. #define    DIR$W_SIZE    0
  32. #define    DIR$W_VERLIMIT    2
  33. #define    DIR$B_FLAGS    4
  34. #define    DIR$S_TYPE    3
  35. #define    DIR$V_TYPE    0
  36. #define    DIR$V_NEXTREC    6
  37. #define    DIR$V_PREVREC    7
  38. #define    DIR$B_NAMECOUNT    5
  39. #define    DIR$S_NAME    80
  40. #define    DIR$T_NAME    6
  41.  
  42. #define    DIR$K_VERSION    8
  43. #define    DIR$C_VERSION    8
  44. #define    DIR$S_DIRDEF1    8
  45. #define    DIR$W_VERSION    0
  46. #define    DIR$S_FID    6
  47. #define    DIR$W_FID    2
  48. #define    DIR$W_FID_NUM    2
  49. #define    DIR$W_FID_SEQ    4
  50. #define    DIR$W_FID_RVN    6
  51. #define    DIR$B_FID_RVN    6
  52. #define    DIR$B_FID_NMX    7
  53.  
  54. #define    DIR$S_DIRDEF2    1
  55. #define    DIR$T_LINKNAME    0
  56.  
  57. typedef
  58. struct dir$_name {
  59. /*short   dir$w_size;        /* if you read with RMS, RMS eats this */
  60.   short   dir$w_verlimit;
  61.   union {
  62.     unsigned char    dir_b_flags;
  63. #define dir$b_flags dir__b_flags.dir_b_flags
  64.     unsigned char   
  65.       dir_v_type : DIR$S_TYPE,
  66. #define dir$v_type dir__b_flags.dir_v_type
  67.       : 3,
  68.       dir_v_nextrec : 1,
  69. #define dir$v_nextrec dir__b_flags.dir_v_nextrec
  70.       dir_v_prevrec : 1;
  71. #define dir$v_prevrec dir__b_flags.dir_v_prevrec
  72.   } dir__b_flags;
  73.   char    dir$b_namecount;
  74. #ifdef vax11c
  75.   char    dir$t_name[];
  76. #else
  77.   char    dir$t_name[0];
  78. #endif
  79. } dir$_dirdef;      /* only the fixed first part */
  80.  
  81. typedef
  82. struct dir$_version {
  83.   short dir$w_version;
  84.   short    dir$w_fid_num;
  85.   short dir$w_fid_seq;
  86.   union {
  87.     short dir_w_fid_rvn;
  88. #define dir$w_fid_rvn dir_w_fid_rvnmx.dir_w_fid_rvn
  89.     short
  90.       dir_b_fid_rvn : 8,
  91. #define dir$b_fid_rvn dir_w_fid_rvnmx.dir_b_fid_rvn
  92.       dir_b_fid_nmx : 8;
  93. #define dir$b_fid_nmx dir_w_fid_rvnmx.dir_b_fid_nmx
  94.   } dir_w_fid_rvnmx;
  95. } dir$_dirdef1;      /* one for each version of the file */
  96.  
  97. typedef
  98. struct dir$_linkname {
  99. #ifdef vax11c
  100.   char    dir$t_linkname[];
  101. #else
  102.   char    dir$t_linkname[0];
  103. #endif
  104. } dir$_dirdef2;
  105.  
  106. #endif
  107.