1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
|
/*
* Program DECnet-DOS, Module dnetdb.h
*
* Copyright (C) 1985,1991 All Rights Reserved, by
* Digital Equipment Corporation, Maynard, Mass.
*
* This software is furnished under a license and may be used and copied
* only in accordance with the terms of such license and with the
* inclusion of the above copyright notice. This software or any other
* copies thereof may not be provided or otherwise made available to any
* other person. No title to and ownership of the software is hereby
* transferred.
*
* The information in this software is subject to change without notice
* and should not be construed as a commitment by Digital Equipment
* Corporation.
*
* Digital assumes no responsibility for the use or reliability of its
* software on equipment which is not supplied by Digital.
*
* Program DECnet-DOS, Module dnetdb.h
*
* Definitions relating to the DECnet-DOS data bases.
*
* Networks & Communications Software Engineering
*
* IDENT HISTORY:
*
* Rev 1.9 11 Sep 1987 14:44:14 CLBence
* Added structure objectent for object database access routines.
*
* V1.00 01-Jul-85
* DECnet-DOS, Version 1.0
*
* V1.01 26-Sep-85
* Added flags for node data base
* Add PROXY ACCESS data structure
*
* V1.02 DECnet-DOS, Version 1.1
* Added/changed some commenting.
*
* V1.03 DECnet-DOS, Version 1.1 sources, DECnet-DOS, Version 1.2
* internal code change - renamed structure dnet_accent
* member names.
*
* V2.00 DECnet-DOS, Version 2.0 sources, DECnet-DOS, Version 2.0
* Added structure for netbios database dnet_nbent
* Added dnet_nodeent.dne_flag DNET_NODE_EXEC
*/
#ifndef DNETDB_H
#define DNETDB_H
/*
* Structures returned by DECnet network
* data base utility functions.
*
* Additional node parameters can be placed after nodeent structure.
* The format is as follows:
* parameter type code = 1 byte
* length = 2 bytes
* parameter data = variable number of bytes
*/
struct nodeent {
char *n_name; /* name of node */
int n_addrtype; /* node address type */
int n_length; /* length of address */
char *n_addr; /* address */
unsigned char *n_params; /* node parameters */
};
struct objectent {
unsigned short o_flags; /* object flags */
unsigned char o_objnum; /* object number */
char *o_objname; /* pointer to object name */
char *o_defuser; /* default user to run program under */
char *o_file; /* execute file name */
};
/*
* Status flags for database records (1st byte of data record)
*/
#define DNET_NODE_SMB 0x01 /* MS-NET server */
#define DNET_NODE_DEL 0x02 /* deleted entry */
#define DNET_NODE_CRY 0x04 /* encrypted entry */
#define DNET_NODE_LAT 0x08 /* LAT preferred host */
#define DNET_NODE_EXEC 0x10 /* Executor node */
#define DNET_OBJ_BATCH 0x10 /* Batch file for SPAWNER */
/*
* Status flags for header record (1st byte of header record)
*/
#define DNET_DB_HEADER 0x82 /* Header file */
#define DNET_EXEC_CHANGE 0x01 /* Executor name/addr changed */
#define DNET_DB_ALIAS 0x08 /* Records index to alias db */
/*
* Status flags for alias record (1st byte of header record)
*/
#define DNET_ALIAS_NODE 0x01 /* Node alias */
#define DNET_ALIAS_REM 0x08 /* Remote-adapter-name alias */
/*
* Unused alias pointer
*/
#define DNET_NO_ALIAS -1L
/*
* Entry in local database for remote node.
* -DECNODE.DAT-
*/
struct dnet_nodeent
{
char dne_delflag; /* flags */
unsigned short dne_nodeadd; /* Internal format of DECnet node address */
unsigned char dne_node_name[7]; /* ASCIZ node name */
long dne_aliasindex; /* Long index into extended info data base */
};
/*
* Entry in local database for outgoing access control information.
* -DECALIAS.DAT-
*
* *** NOTE: Local node's 'USER NAME' used for outgoing proxy access ***
*
*/
struct dnet_aliasent
{
char dae_delflag; /* Delete flag */
char dae_username[40]; /* User name */
char dae_userpass[40]; /* Password */
char dae_useraccount[40];/* Account */
};
/*
* Entry in local database for incoming access control information and
* netbios adapter name access information
* -DECACC.DAT-
*/
struct dnet_accent
{
char dac_status; /* delete flag (used DNET_NODE_DEL) */
char dac_type; /* 0=NONE, 1=RO, 2=WO, 3=ALL */
char dac_username[40]; /* must be present */
char dac_password[40]; /* if NULL, then password not required */
};
/*
* Entry in Remote-adapter-name -DECREM.DAT-
*/
struct dnet_rement
{
char drm_status; /* status flags */
char drm_adapter[16]; /* network adapter name */
unsigned short drm_obj_type; /* DECnet object type */
unsigned short drm_nodeadd; /* DECnet node address */
long drm_aliasindex; /* Long index to alias data base */
};
/*
* Entry in DECnet object database for SPAWNER
* -DECSPAWN.DAT-
*/
struct dnet_objent
{
char dob_status; /* status flags */
unsigned char dob_number; /* Object number */
char dob_name[16]; /* Object name */
char dob_path[64]; /* Path name */
char dob_args[80]; /* Command line arguments */
};
/*
* Header for V2.0 database files
*/
struct dnet_headent
{
unsigned char dhd_status; /* Record status/type */
unsigned char dhd_dbtype; /* Database type */
unsigned short dhd_fill1; /* Filler record for V1.x compatability */
unsigned short dhd_version; /* Database version */
unsigned short dhd_recsize; /* Database record size */
unsigned short dhd_recnum; /* Number of good records in db */
unsigned short dhd_extension; /* Length of header extension */
/* If 0, no extension */
unsigned short dhd_fill2; /* Left-overs */
};
#endif /* DNETDB_H */
|