whyever the aclocal call was commented out…
[alioth/cvs.git] / vms / dir.h
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 /*
17  * Files-11 Ver. 2 directory structure (VMS V4.x - long names)
18  */
19 #ifndef DIR$K_LENGTH
20
21 #define DIR$C_FID       0
22 #define DIR$C_LINKNAME  1
23 #define DIR$K_LENGTH    6
24 #define DIR$C_LENGTH    6
25 #define DIR$S_DIRDEF    6
26 #define DIR$W_SIZE      0
27 #define DIR$W_VERLIMIT  2
28 #define DIR$B_FLAGS     4
29 #define DIR$S_TYPE      3
30 #define DIR$V_TYPE      0
31 #define DIR$V_NEXTREC   6
32 #define DIR$V_PREVREC   7
33 #define DIR$B_NAMECOUNT 5
34 #define DIR$S_NAME      80
35 #define DIR$T_NAME      6
36
37 #define DIR$K_VERSION   8
38 #define DIR$C_VERSION   8
39 #define DIR$S_DIRDEF1   8
40 #define DIR$W_VERSION   0
41 #define DIR$S_FID       6
42 #define DIR$W_FID       2
43 #define DIR$W_FID_NUM   2
44 #define DIR$W_FID_SEQ   4
45 #define DIR$W_FID_RVN   6
46 #define DIR$B_FID_RVN   6
47 #define DIR$B_FID_NMX   7
48
49 #define DIR$S_DIRDEF2   1
50 #define DIR$T_LINKNAME  0
51
52 typedef struct dir$_name {
53 /*  short dir$w_size;           /* if you read with RMS, it eats this... */
54   short dir$w_verlimit;                 /* maximum number of versions */
55   union {
56     unsigned char dir_b_flags;
57 #define dir$b_flags dir__b_flags.dir_b_flags
58     struct {
59       unsigned char dir_v_type: DIR$S_TYPE;
60 #define dir$v_type dir__b_flags.dir___b_flags.dir_v_type
61       unsigned char: 3;
62       unsigned char dir_v_nextrec: 1;
63 #define dir$v_nextrec dir__b_flags.dir___b_flags.dir_v_nextrec
64       unsigned char dir_v_prevrec: 1;
65 #define dir$v_prevrec dir__b_flags.dir___b_flags.dir_v_prevrec
66     } dir___b_flags;
67   } dir__b_flags;
68   unsigned char dir$b_namecount;
69   char dir$t_name[];
70 } dir$_dirdef;          /* only the fixed first part */
71
72 typedef struct dir$_version {
73   short dir$w_version;
74   short dir$w_fid_num;
75   short dir$w_fid_seq;
76   union {
77     short dir_w_fid_rvn;
78 #define dir$w_fid_rvn dir__w_fid_rvn.dir_w_fid_rvn
79     struct {
80       char dir_b_fid_rvn;
81 #define dir$b_fid_rvn dir__w_fid_rvn.dir___w_fid_rvn.dir_b_fid_rvn
82       char dir_b_fid_nmx;
83 #define dir$b_fid_nmx dir__w_fid_rvn.dir___w_fid_rvn.dir_b_fid_nmx
84     } dir___w_fid_rvn;
85   } dir__w_fid_rvn;
86 } dir$_dirdef1;         /* one for each version of the file */
87
88 typedef
89 struct dir$_linkname {
90   char    dir$t_linkname[];
91 } dir$_dirdef2;
92
93 #endif