blob: d6ac0dabc80d553e48653cebb8cf0afff9eccbee (
plain) (
blame)
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
|
/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
dlstruct.h
Abstract:
Down-level structures, taken from OS files (which themselves are unusable
without modification because they incorporate function prototypes which
clash with NT functions of the same name)
Author:
Richard L Firth (rfirth) 09-Jun-1992
Revision History:
--*/
//
// misc. manifests
//
#define LANMAN_EMULATION_MAJOR_VERSION 2 // we pretend to be DOS LANMAN v2.1
#define LANMAN_EMULATION_MINOR_VERSION 1
#define NETPOPUP_SERVICE "NETPOPUP"
#include <packon.h>
//
// Service
//
//
// definition of service_info_2 structure - only this level of info handled
// by NetServiceControl
//
struct service_info_2 {
char svci2_name[LM20_SNLEN+1];
WORD svci2_status;
DWORD svci2_code;
WORD svci2_pid;
char svci2_text[LM20_STXTLEN+1];
};
//
// Use
//
struct use_info_0 {
char ui0_local[LM20_DEVLEN+1];
char ui0_pad_1;
LPSTR ui0_remote;
};
struct use_info_1 {
char ui1_local[LM20_DEVLEN+1]; // B9 0,1
char ui1_pad_1; // B 2
LPSTR ui1_remote; // z 3
LPSTR ui1_password; // z 4
WORD ui1_status; // W 5
WORD ui1_asg_type; // W 6
WORD ui1_refcount; // W 7
WORD ui1_usecount; // W 8
};
//
// User
//
struct user_info_0 {
char usri0_name[LM20_UNLEN+1];
};
struct user_info_1 {
char usri1_name[LM20_UNLEN+1];
char usri1_pad_1;
char usri1_password[ENCRYPTED_PWLEN];
DWORD usri1_password_age;
WORD usri1_priv;
LPSTR usri1_home_dir;
LPSTR usri1_comment;
WORD usri1_flags;
LPSTR usri1_script_path;
};
struct user_info_2 {
char usri2_name[LM20_UNLEN+1];
char usri2_pad_1;
char usri2_password[ENCRYPTED_PWLEN];
DWORD usri2_password_age;
WORD usri2_priv;
LPSTR usri2_home_dir;
LPSTR usri2_comment;
WORD usri2_flags;
LPSTR usri2_script_path;
DWORD usri2_auth_flags;
LPSTR usri2_full_name;
LPSTR usri2_usr_comment;
LPSTR usri2_parms;
LPSTR usri2_workstations;
DWORD usri2_last_logon;
DWORD usri2_last_logoff;
DWORD usri2_acct_expires;
DWORD usri2_max_storage;
WORD usri2_units_per_week;
LPSTR usri2_logon_hours;
WORD usri2_bad_pw_count;
WORD usri2_num_logons;
LPSTR usri2_logon_server;
WORD usri2_country_code;
WORD usri2_code_page;
};
struct user_info_10 {
char usri10_name[LM20_UNLEN+1];
char usri10_pad_1;
LPSTR usri10_comment;
LPSTR usri10_usr_comment;
LPSTR usri10_full_name;
};
struct user_info_11 {
char usri11_name[LM20_UNLEN+1];
char usri11_pad_1;
LPSTR usri11_comment;
LPSTR usri11_usr_comment;
LPSTR usri11_full_name;
WORD usri11_priv;
DWORD usri11_auth_flags;
DWORD usri11_password_age;
LPSTR usri11_home_dir;
LPSTR usri11_parms;
DWORD usri11_last_logon;
DWORD usri11_last_logoff;
WORD usri11_bad_pw_count;
WORD usri11_num_logons;
LPSTR usri11_logon_server;
WORD usri11_country_code;
LPSTR usri11_workstations;
DWORD usri11_max_storage;
WORD usri11_units_per_week;
LPSTR usri11_logon_hours;
WORD usri11_code_page;
};
//
// Workstation
//
struct wksta_info_0 {
WORD wki0_reserved_1;
DWORD wki0_reserved_2;
LPSTR wki0_root;
LPSTR wki0_computername;
LPSTR wki0_username;
LPSTR wki0_langroup;
BYTE wki0_ver_major;
BYTE wki0_ver_minor;
DWORD wki0_reserved_3;
WORD wki0_charwait;
DWORD wki0_chartime;
WORD wki0_charcount;
WORD wki0_reserved_4;
WORD wki0_reserved_5;
WORD wki0_keepconn;
WORD wki0_keepsearch;
WORD wki0_maxthreads;
WORD wki0_maxcmds;
WORD wki0_reserved_6;
WORD wki0_numworkbuf;
WORD wki0_sizworkbuf;
WORD wki0_maxwrkcache;
WORD wki0_sesstimeout;
WORD wki0_sizerror;
WORD wki0_numalerts;
WORD wki0_numservices;
WORD wki0_errlogsz;
WORD wki0_printbuftime;
WORD wki0_numcharbuf;
WORD wki0_sizcharbuf;
LPSTR wki0_logon_server;
LPSTR wki0_wrkheuristics;
WORD wki0_mailslots;
};
struct wksta_info_1 {
WORD wki1_reserved_1;
DWORD wki1_reserved_2;
LPSTR wki1_root;
LPSTR wki1_computername;
LPSTR wki1_username;
LPSTR wki1_langroup;
BYTE wki1_ver_major;
BYTE wki1_ver_minor;
DWORD wki1_reserved_3;
WORD wki1_charwait;
DWORD wki1_chartime;
WORD wki1_charcount;
WORD wki1_reserved_4;
WORD wki1_reserved_5;
WORD wki1_keepconn;
WORD wki1_keepsearch;
WORD wki1_maxthreads;
WORD wki1_maxcmds;
WORD wki1_reserved_6;
WORD wki1_numworkbuf;
WORD wki1_sizworkbuf;
WORD wki1_maxwrkcache;
WORD wki1_sesstimeout;
WORD wki1_sizerror;
WORD wki1_numalerts;
WORD wki1_numservices;
WORD wki1_errlogsz;
WORD wki1_printbuftime;
WORD wki1_numcharbuf;
WORD wki1_sizcharbuf;
LPSTR wki1_logon_server;
LPSTR wki1_wrkheuristics;
WORD wki1_mailslots;
LPSTR wki1_logon_domain;
LPSTR wki1_oth_domains;
WORD wki1_numdgrambuf;
};
struct wksta_info_10 {
LPSTR wki10_computername;
LPSTR wki10_username;
LPSTR wki10_langroup;
BYTE wki10_ver_major;
BYTE wki10_ver_minor;
LPSTR wki10_logon_domain;
LPSTR wki10_oth_domains;
};
#include <packoff.h>
|