|
|
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.