|
|
1.1 ! root 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 free software; you can redistribute it and/or modify ! 7: it under the terms of the GNU General Public License as published by ! 8: the Free Software Foundation; either version 1, or (at your option) ! 9: any later version. ! 10: ! 11: GNU Emacs is distributed in the hope that it will be useful, ! 12: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 14: GNU General Public License for more details. ! 15: ! 16: You should have received a copy of the GNU General Public License ! 17: along with GNU Emacs; see the file COPYING. If not, write to ! 18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 19: ! 20: /* ! 21: * Files-11 Ver. 2 directory structure (VMS V4.x - long names) ! 22: */ ! 23: #ifndef DIR$K_LENGTH ! 24: ! 25: #define DIR$C_FID 0 ! 26: #define DIR$C_LINKNAME 1 ! 27: #define DIR$K_LENGTH 6 ! 28: #define DIR$C_LENGTH 6 ! 29: #define DIR$S_DIRDEF 6 ! 30: #define DIR$W_SIZE 0 ! 31: #define DIR$W_VERLIMIT 2 ! 32: #define DIR$B_FLAGS 4 ! 33: #define DIR$S_TYPE 3 ! 34: #define DIR$V_TYPE 0 ! 35: #define DIR$V_NEXTREC 6 ! 36: #define DIR$V_PREVREC 7 ! 37: #define DIR$B_NAMECOUNT 5 ! 38: #define DIR$S_NAME 80 ! 39: #define DIR$T_NAME 6 ! 40: ! 41: #define DIR$K_VERSION 8 ! 42: #define DIR$C_VERSION 8 ! 43: #define DIR$S_DIRDEF1 8 ! 44: #define DIR$W_VERSION 0 ! 45: #define DIR$S_FID 6 ! 46: #define DIR$W_FID 2 ! 47: #define DIR$W_FID_NUM 2 ! 48: #define DIR$W_FID_SEQ 4 ! 49: #define DIR$W_FID_RVN 6 ! 50: #define DIR$B_FID_RVN 6 ! 51: #define DIR$B_FID_NMX 7 ! 52: ! 53: #define DIR$S_DIRDEF2 1 ! 54: #define DIR$T_LINKNAME 0 ! 55: ! 56: typedef struct dir$_name { ! 57: /* short dir$w_size; /* if you read with RMS, it eats this... */ ! 58: short dir$w_verlimit; /* maximum number of versions */ ! 59: union { ! 60: unsigned char dir_b_flags; ! 61: #define dir$b_flags dir__b_flags.dir_b_flags ! 62: struct { ! 63: unsigned char dir_v_type: DIR$S_TYPE; ! 64: #define dir$v_type dir__b_flags.dir___b_flags.dir_v_type ! 65: unsigned char: 3; ! 66: unsigned char dir_v_nextrec: 1; ! 67: #define dir$v_nextrec dir__b_flags.dir___b_flags.dir_v_nextrec ! 68: unsigned char dir_v_prevrec: 1; ! 69: #define dir$v_prevrec dir__b_flags.dir___b_flags.dir_v_prevrec ! 70: } dir___b_flags; ! 71: } dir__b_flags; ! 72: unsigned char dir$b_namecount; ! 73: #ifdef __GNUC__ ! 74: char dir$t_name[0]; ! 75: #else ! 76: char dir$t_name[]; ! 77: #endif ! 78: } dir$_dirdef; /* only the fixed first part */ ! 79: ! 80: typedef struct dir$_version { ! 81: short dir$w_version; ! 82: short dir$w_fid_num; ! 83: short dir$w_fid_seq; ! 84: union { ! 85: short dir_w_fid_rvn; ! 86: #define dir$w_fid_rvn dir__w_fid_rvn.dir_w_fid_rvn ! 87: struct { ! 88: char dir_b_fid_rvn; ! 89: #define dir$b_fid_rvn dir__w_fid_rvn.dir___w_fid_rvn.dir_b_fid_rvn ! 90: char dir_b_fid_nmx; ! 91: #define dir$b_fid_nmx dir__w_fid_rvn.dir___w_fid_rvn.dir_b_fid_nmx ! 92: } dir___w_fid_rvn; ! 93: } dir__w_fid_rvn; ! 94: } dir$_dirdef1; /* one for each version of the file */ ! 95: ! 96: typedef ! 97: struct dir$_linkname { ! 98: #ifdef __GNUC__ ! 99: char dir$t_linkname[0]; ! 100: #else ! 101: char dir$t_linkname[]; ! 102: #endif ! 103: } dir$_dirdef2; ! 104: ! 105: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.