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
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
|
/**
Copyright(c) Maynard Electronics, Inc. 1984-89
Name: dle.h
Date Updated: $./FDT$ $./FTM$
Description: This header file provides declarations
need to access the FSU for DLE specific functions.
Location: BE_PUBLIC
$Log: M:/LOGFILES/DLE.H_V $
*
* Rev 1.26 03 Aug 1993 16:29:18 JOHNES
* Added DLE_GetAttachCount macro.
*
* Rev 1.25 19 Jul 1993 10:25:44 BARRY
* Added macro to get the list in which a DLE is contained.
*
* Rev 1.24 17 Jun 1993 11:38:40 ChuckS
* Added DLE_IsNonVolume macro.
*
* Rev 1.23 14 Jun 1993 18:09:36 BARRY
* Fixed error in change to FS_PromptForBindery macro.
*
* Rev 1.22 11 Jun 1993 14:18:50 BARRY
* Changed prompt FS_PromptForBindery to use new special files definitions.
*
* Rev 1.21 04 Jun 1993 17:35:58 ChuckS
* P_CLIENT & OS_DOS only: Added prototype for functional form of
* DLE_GetDefaultDrive.
*
* Rev 1.20 22 Apr 1993 10:12:04 BILLB
* Added support for GRFS Device subtypes
*
* Rev 1.19 18 Mar 1993 15:20:22 ChuckS
* Changes for Generic Device Names for VOLB
*
* Rev 1.18 16 Dec 1992 11:50:44 DON
* Changed file system specific Server/Volume macros into functions - dleget.c
*
* Rev 1.17 09 Dec 1992 11:40:48 DON
* Changed function prototype to macro for DLE_
*
* Rev 1.16 11 Nov 1992 22:09:44 GREGG
* Unicodeized literals.
*
* Rev 1.15 21 Jul 1992 14:04:20 STEVEN
* added support for DLE_GetUserName
*
* Rev 1.14 28 May 1992 09:44:12 BARRY
* Move changes on branches back to tip.
*
* Rev 1.14 28 May 1992 09:43:56 BARRY
* Move changes on branches back to tip.
*
* Rev 1.13 21 May 1992 13:46:54 STEVEN
* more long path support
*
* Rev 1.12 28 Feb 1992 14:42:58 STEVEN
* fix bug with display name
*
* Rev 1.11 13 Feb 1992 11:37:38 STEVEN
* fix support stuff
*
* Rev 1.10 20 Dec 1991 09:31:12 STEVEN
* move common files to tables
*
* Rev 1.9 31 Oct 1991 16:25:42 BARRY
* TRICYCLE: Added a DLE features macro and converted SupportChild()
* to use this macro.
*
* Rev 1.8 01 Oct 1991 12:58:18 BARRY
* Tag BE_CFG_PTRs passed to DLE functions.
*
* Rev 1.7 08 Aug 1991 19:09:22 DON
* added support for NLM_SERVER_ONLY to DLE_SupportChild macro
*
* Rev 1.5 30 Jul 1991 10:19:20 DON
* ifdef'd macros for accessing info.server/info.nlm_server data
*
* Rev 1.4 21 Jun 1991 13:23:16 BARRY
* Changes for new config.
*
* Rev 1.3 18 Jun 1991 13:50:32 STEVEN
* DEFINE MBS_DEV_TYPE
*
* Rev 1.2 30 May 1991 13:51:44 BARRY
* No longer have selector to DLE_UpdateList().
*
* Rev 1.1 20 May 1991 16:42:16 STEVEN
* queues.h should be in quotes
*
* Rev 1.0 09 May 1991 13:31:10 HUNTER
* Initial revision.
**/
#ifndef DLE_H
#define DLE_H 1
#include "queues.h"
#include "beconfig.h"
#include "dle_str.h"
/* $end$ include list */
/**
Defines for DLE parameters
**/
/* DLE_DeviceDispName() - type */
#define DISP_LONG_DEV_NAME 0
#define DISP_SHORT_DEV_NAME 1
#define MBS_DEV_NAME 2
#define GEN_LONG_DEV_NAME 3
/**
Macros used to access the DLE
**/
#define DLE_DeviceDispName( dle, dev_name, size, disp_type ) \
(msassert ( func_tab[ (dle)->type ].DevDispName != NULL),\
(func_tab [(dle)->type].DevDispName( dle, dev_name, size, disp_type ) ) )
#define DLE_DeviceName( dle, dev_name, size ) \
DLE_DeviceDispName( dle, dev_name, size, GEN_LONG_DEV_NAME )
#define DLE_GetVolName( dle, buffer ) \
(msassert ( func_tab[ (dle)->type ].GetVolName != NULL),\
(func_tab [(dle)->type].GetVolName( dle, buffer ) ) )
#define DLE_SizeofVolName( dle ) \
(msassert ( func_tab[ (dle)->type ].SizeofVolName != NULL),\
(func_tab [(dle)->type].SizeofVolName( dle ) ) )
#define DLE_SizeofDevName( dle ) \
(msassert( func_tab[ (dle)->type ].SizeofDevName != NULL ), \
(func_tab[ (dle)->type ].SizeofDevName( dle ) ) )
#define DLE_ViewUserName( dle ) \
((dle)->user_name)
#define DLE_SizeofUserName( dle ) \
((dle)->user_name_leng)
#define FS_MakePath( buf, bsize, dle, path, psize, fname ) \
(msassert ( func_tab[ (dle)->type ].MakePath != NULL),\
(func_tab [(dle)->type].MakePath( buf, bsize, dle, path, psize, fname ) ) )
#if defined( P_CLIENT ) && defined( OS_DOS )
GENERIC_DLE_PTR DLE_GetDefaultDrive( DLE_HAND hand ) ;
#else
#define DLE_GetDefaultDrive( hand ) \
((hand)->default_drv)
#endif
#define DLE_GetOsId( dle ) \
((dle)->os_id)
#define DLE_SetDefaultDrive( hand, dle ) \
((hand)->default_drv = (dle))
#define DLE_GetDeviceType( dle ) \
((dle)->type & (~HAND_MADE_MASK))
#define DLE_GetDeviceSubType( dle ) \
((dle)->subtype)
#define DLE_GetDeviceName( dle ) \
( (dle)->device_name)
#define DLE_GetDeviceNameLeng( dle ) \
( (dle)->device_name_leng)
#define DLE_GetPathDelim( dle ) \
( (dle)->path_delim)
#define DLE_GetHandle( dle ) \
( (dle)->handle )
#define DLE_GetParent( dle ) \
( (dle)->parent )
#define DLE_PswdRequired( dle ) \
( (dle)->pswd_required)
#define DLE_PswdSaved( dle ) \
( (dle)->pswd_saved)
#define DLE_UserRequired( dle ) \
( (dle)->name_required)
#define DLE_UserSaved( dle ) \
( (dle)->name_saved)
#define DLE_DriveWriteable( dle ) \
( (dle)->dle_writeable)
#define DLE_GetNumChild( dle ) \
(QueueCount( &(dle)->child_q ) )
#define DLE_HasFeatures( dle, mask ) \
( ( ((dle)->feature_bits & (mask)) == (mask) ? TRUE : FALSE ) )
#define DLE_SupportChild( dle ) \
( DLE_HasFeatures( (dle), DLE_FEAT_SUPPORTS_CHILDREN ) )
#define DLE_SupportAccessDate( dle ) \
( DLE_HasFeatures( (dle), DLE_FEAT_ACCESS_DATE ) )
#define DLE_IsNonVolume( dle ) \
( DLE_HasFeatures( dle, DLE_FEAT_NON_VOLUME_OBJECT ) )
#define FS_PromptForBindery( dle ) \
( DLE_HasFeatures( (dle), DLE_FEAT_BKUP_SPECIAL_FILES ) || \
DLE_HasFeatures( (dle), DLE_FEAT_REST_SPECIAL_FILES ))
#define FS_PromptForSecure( dle ) \
( DLE_HasFeatures( (dle), DLE_FEAT_DATA_SECURITY ) )
#define DLE_IncBSDCount( dle ) \
( (dle)->bsd_use_count++ )
#define DLE_DecBSDCount( dle ) \
( (dle)->bsd_use_count-- )
#define DLE_IsImageDOS( dle ) \
( ((dle)->type == LOCAL_IMAGE) && ((dle)->info.image->drive_char != TEXT('\0') ) )
#define DLE_GetImageDriveNum( dle ) \
((dle)->info.image->drive_num & 0x7f )
#define DLE_GetImagePartNum( dle ) \
((dle)->info.image->partition )
#define DLE_IsTemporary( dle ) \
( (dle)->type & HAND_MADE_MASK )
#define DLE_GetAttachCount( dle ) \
( (dle)->attach_count )
/**
DLE support functions
**/
INT16 DLE_ResetList( DLE_HAND hand );
INT16 DLE_Remove( DLE_HAND hand, GENERIC_DLE_PTR dle ) ;
INT16 DLE_GetFirst( DLE_HAND hand, GENERIC_DLE_PTR *dle );
INT16 DLE_GetFirstChild( GENERIC_DLE_PTR server_dle, GENERIC_DLE_PTR *dle ) ;
INT16 DLE_GetNext( GENERIC_DLE_PTR *dle ) ;
INT16 DLE_GetPrev( GENERIC_DLE_PTR *dle ) ;
INT16 DLE_FindByName( DLE_HAND hand, CHAR_PTR name, INT16 type, GENERIC_DLE_PTR *dle ) ;
INT16 DLE_OSVerToType( UINT8 os_id, UINT8 os_ver ) ;
INT16 DLE_UpdateList( DLE_HAND dle_hand, BE_CFG_PTR cfg ) ;
INT16 DLE_DeleteList( DLE_HAND dle_hand, BE_CFG_PTR cfg, UINT16 dle_selector ) ;
VOID DLE_SetPartName( DLE_HAND dle_hand, UINT16 drive_num, UINT16 part_num, CHAR_PTR name ) ;
INT16 FS_AddTempDLE( DLE_HAND dle_hand, CHAR_PTR name, CHAR_PTR vol_name, INT16 type ) ;
INT16 DLE_ServerLoggedIn( GENERIC_DLE_PTR server_dle ) ;
CHAR_PTR DLE_GetServerPswd( GENERIC_DLE_PTR server_dle ) ;
CHAR_PTR DLE_GetServerUserName( GENERIC_DLE_PTR server_dle ) ;
UINT8 DLE_GetServerNum( GENERIC_DLE_PTR server_dle ) ;
#endif
|