~zulcss/samba/server-dailies-3.4

« back to all changes in this revision

Viewing changes to source3/lib/netapi/netapi.h

  • Committer: Chuck Short
  • Date: 2010-09-28 20:38:39 UTC
  • Revision ID: zulcss@ubuntu.com-20100928203839-pgjulytsi9ue63x1
Initial version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  Unix SMB/CIFS implementation.
 
3
 *  NetApi Support
 
4
 *  Copyright (C) Guenther Deschner 2007-2008
 
5
 *
 
6
 *  This program 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 3 of the License, or
 
9
 *  (at your option) any later version.
 
10
 *
 
11
 *  This program 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 this program; if not, see <http://www.gnu.org/licenses/>.
 
18
 */
 
19
 
 
20
#ifndef __LIB_NETAPI_H__
 
21
#define __LIB_NETAPI_H__
 
22
 
 
23
#ifdef __cplusplus
 
24
extern "C" {
 
25
#endif /* __cplusplus */
 
26
 
 
27
/****************************************************************
 
28
 NET_API_STATUS
 
29
****************************************************************/
 
30
typedef enum {
 
31
        NET_API_STATUS_SUCCESS = 0
 
32
} NET_API_STATUS;
 
33
 
 
34
#define ERROR_MORE_DATA ( 234L )
 
35
 
 
36
#define ENCRYPTED_PWLEN ( 16 )
 
37
 
 
38
/****************************************************************
 
39
****************************************************************/
 
40
 
 
41
#ifndef _HEADER_misc
 
42
 
 
43
struct GUID {
 
44
        uint32_t time_low;
 
45
        uint16_t time_mid;
 
46
        uint16_t time_hi_and_version;
 
47
        uint8_t clock_seq[2];
 
48
        uint8_t node[6];
 
49
};
 
50
 
 
51
#endif /* _HEADER_misc */
 
52
 
 
53
#ifndef _HEADER_libnetapi
 
54
 
 
55
#ifndef MAXSUBAUTHS
 
56
#define MAXSUBAUTHS 15 /* max sub authorities in a SID */
 
57
#endif
 
58
 
 
59
struct domsid {
 
60
        uint8_t   sid_rev_num;
 
61
        uint8_t   num_auths;
 
62
        uint8_t   id_auth[6];
 
63
        uint32_t  sub_auths[MAXSUBAUTHS];
 
64
};
 
65
 
 
66
struct DOMAIN_CONTROLLER_INFO {
 
67
        const char * domain_controller_name;
 
68
        const char * domain_controller_address;
 
69
        uint32_t domain_controller_address_type;
 
70
        struct GUID domain_guid;
 
71
        const char * domain_name;
 
72
        const char * dns_forest_name;
 
73
        uint32_t flags;
 
74
        const char * dc_site_name;
 
75
        const char * client_site_name;
 
76
};
 
77
 
 
78
/* bitmap NetJoinFlags */
 
79
#define NETSETUP_JOIN_DOMAIN ( 0x00000001 )
 
80
#define NETSETUP_ACCT_CREATE ( 0x00000002 )
 
81
#define NETSETUP_ACCT_DELETE ( 0x00000004 )
 
82
#define NETSETUP_WIN9X_UPGRADE ( 0x00000010 )
 
83
#define NETSETUP_DOMAIN_JOIN_IF_JOINED ( 0x00000020 )
 
84
#define NETSETUP_JOIN_UNSECURE ( 0x00000040 )
 
85
#define NETSETUP_MACHINE_PWD_PASSED ( 0x00000080 )
 
86
#define NETSETUP_DEFER_SPN_SET ( 0x00000100 )
 
87
#define NETSETUP_JOIN_DC_ACCOUNT ( 0x00000200 )
 
88
#define NETSETUP_JOIN_WITH_NEW_NAME ( 0x00000400 )
 
89
#define NETSETUP_INSTALL_INVOCATION ( 0x00040000 )
 
90
#define NETSETUP_IGNORE_UNSUPPORTED_FLAGS ( 0x10000000 )
 
91
 
 
92
#define FILTER_TEMP_DUPLICATE_ACCOUNT   ( 0x0001 )
 
93
#define FILTER_NORMAL_ACCOUNT   ( 0x0002 )
 
94
#define FILTER_INTERDOMAIN_TRUST_ACCOUNT        ( 0x0008 )
 
95
#define FILTER_WORKSTATION_TRUST_ACCOUNT        ( 0x0010 )
 
96
#define FILTER_SERVER_TRUST_ACCOUNT     ( 0x0020 )
 
97
 
 
98
#define TIMEQ_FOREVER  ( (uint32_t)-1L )
 
99
 
 
100
enum NETSETUP_JOIN_STATUS {
 
101
        NetSetupUnknownStatus=0,
 
102
        NetSetupUnjoined=1,
 
103
        NetSetupWorkgroupName=2,
 
104
        NetSetupDomainName=3
 
105
};
 
106
 
 
107
struct SERVER_INFO_100 {
 
108
        uint32_t sv100_platform_id;
 
109
        const char * sv100_name;
 
110
};
 
111
 
 
112
struct SERVER_INFO_101 {
 
113
        uint32_t sv101_platform_id;
 
114
        const char * sv101_name;
 
115
        uint32_t sv101_version_major;
 
116
        uint32_t sv101_version_minor;
 
117
        uint32_t sv101_type;
 
118
        const char * sv101_comment;
 
119
};
 
120
 
 
121
struct SERVER_INFO_102 {
 
122
        uint32_t sv102_platform_id;
 
123
        const char * sv102_name;
 
124
        uint32_t sv102_version_major;
 
125
        uint32_t sv102_version_minor;
 
126
        uint32_t sv102_type;
 
127
        const char * sv102_comment;
 
128
        uint32_t sv102_users;
 
129
        uint32_t sv102_disc;
 
130
        uint8_t sv102_hidden;
 
131
        uint32_t sv102_announce;
 
132
        uint32_t sv102_anndelta;
 
133
        uint32_t sv102_licenses;
 
134
        const char * sv102_userpath;
 
135
};
 
136
 
 
137
struct SERVER_INFO_402 {
 
138
        uint32_t sv402_ulist_mtime;
 
139
        uint32_t sv402_glist_mtime;
 
140
        uint32_t sv402_alist_mtime;
 
141
        const char * sv402_alerts;
 
142
        uint32_t sv402_security;
 
143
        uint32_t sv402_numadmin;
 
144
        uint32_t sv402_lanmask;
 
145
        const char * sv402_guestacct;
 
146
        uint32_t sv402_chdevs;
 
147
        uint32_t sv402_chdevq;
 
148
        uint32_t sv402_chdevjobs;
 
149
        uint32_t sv402_connections;
 
150
        uint32_t sv402_shares;
 
151
        uint32_t sv402_openfiles;
 
152
        uint32_t sv402_sessopens;
 
153
        uint32_t sv402_sessvcs;
 
154
        uint32_t sv402_sessreqs;
 
155
        uint32_t sv402_opensearch;
 
156
        uint32_t sv402_activelocks;
 
157
        uint32_t sv402_numreqbuf;
 
158
        uint32_t sv402_sizreqbuf;
 
159
        uint32_t sv402_numbigbuf;
 
160
        uint32_t sv402_numfiletasks;
 
161
        uint32_t sv402_alertsched;
 
162
        uint32_t sv402_erroralert;
 
163
        uint32_t sv402_logonalert;
 
164
        uint32_t sv402_accessalert;
 
165
        uint32_t sv402_diskalert;
 
166
        uint32_t sv402_netioalert;
 
167
        uint32_t sv402_maxauditsz;
 
168
        const char * sv402_srvheuristics;
 
169
};
 
170
 
 
171
struct SERVER_INFO_403 {
 
172
        uint32_t sv403_ulist_mtime;
 
173
        uint32_t sv403_glist_mtime;
 
174
        uint32_t sv403_alist_mtime;
 
175
        const char * sv403_alerts;
 
176
        uint32_t sv403_security;
 
177
        uint32_t sv403_numadmin;
 
178
        uint32_t sv403_lanmask;
 
179
        const char * sv403_guestacct;
 
180
        uint32_t sv403_chdevs;
 
181
        uint32_t sv403_chdevq;
 
182
        uint32_t sv403_chdevjobs;
 
183
        uint32_t sv403_connections;
 
184
        uint32_t sv403_shares;
 
185
        uint32_t sv403_openfiles;
 
186
        uint32_t sv403_sessopens;
 
187
        uint32_t sv403_sessvcs;
 
188
        uint32_t sv403_sessreqs;
 
189
        uint32_t sv403_opensearch;
 
190
        uint32_t sv403_activelocks;
 
191
        uint32_t sv403_numreqbuf;
 
192
        uint32_t sv403_sizreqbuf;
 
193
        uint32_t sv403_numbigbuf;
 
194
        uint32_t sv403_numfiletasks;
 
195
        uint32_t sv403_alertsched;
 
196
        uint32_t sv403_erroralert;
 
197
        uint32_t sv403_logonalert;
 
198
        uint32_t sv403_accessalert;
 
199
        uint32_t sv403_diskalert;
 
200
        uint32_t sv403_netioalert;
 
201
        uint32_t sv403_maxauditsz;
 
202
        const char * sv403_srvheuristics;
 
203
        uint32_t sv403_auditedevents;
 
204
        uint32_t sv403_autoprofile;
 
205
        const char * sv403_autopath;
 
206
};
 
207
 
 
208
struct SERVER_INFO_502 {
 
209
        uint32_t sv502_sessopens;
 
210
        uint32_t sv502_sessvcs;
 
211
        uint32_t sv502_opensearch;
 
212
        uint32_t sv502_sizreqbuf;
 
213
        uint32_t sv502_initworkitems;
 
214
        uint32_t sv502_maxworkitems;
 
215
        uint32_t sv502_rawworkitems;
 
216
        uint32_t sv502_irpstacksize;
 
217
        uint32_t sv502_maxrawbuflen;
 
218
        uint32_t sv502_sessusers;
 
219
        uint32_t sv502_sessconns;
 
220
        uint32_t sv502_maxpagedmemoryusage;
 
221
        uint32_t sv502_maxnonpagedmemoryusage;
 
222
        uint8_t sv502_enablesoftcompat;
 
223
        uint8_t sv502_enableforcedlogoff;
 
224
        uint8_t sv502_timesource;
 
225
        uint8_t sv502_acceptdownlevelapis;
 
226
        uint8_t sv502_lmannounce;
 
227
};
 
228
 
 
229
struct SERVER_INFO_503 {
 
230
        uint32_t sv503_sessopens;
 
231
        uint32_t sv503_sessvcs;
 
232
        uint32_t sv503_opensearch;
 
233
        uint32_t sv503_sizreqbuf;
 
234
        uint32_t sv503_initworkitems;
 
235
        uint32_t sv503_maxworkitems;
 
236
        uint32_t sv503_rawworkitems;
 
237
        uint32_t sv503_irpstacksize;
 
238
        uint32_t sv503_maxrawbuflen;
 
239
        uint32_t sv503_sessusers;
 
240
        uint32_t sv503_sessconns;
 
241
        uint32_t sv503_maxpagedmemoryusage;
 
242
        uint32_t sv503_maxnonpagedmemoryusage;
 
243
        uint8_t sv503_enablesoftcompat;
 
244
        uint8_t sv503_enableforcedlogoff;
 
245
        uint8_t sv503_timesource;
 
246
        uint8_t sv503_acceptdownlevelapis;
 
247
        uint8_t sv503_lmannounce;
 
248
        const char * sv503_domain;
 
249
        uint32_t sv503_maxcopyreadlen;
 
250
        uint32_t sv503_maxcopywritelen;
 
251
        uint32_t sv503_minkeepsearch;
 
252
        uint32_t sv503_maxkeepsearch;
 
253
        uint32_t sv503_minkeepcomplsearch;
 
254
        uint32_t sv503_maxkeepcomplsearch;
 
255
        uint32_t sv503_threadcountadd;
 
256
        uint32_t sv503_numblockthreads;
 
257
        uint32_t sv503_scavtimeout;
 
258
        uint32_t sv503_minrcvqueue;
 
259
        uint32_t sv503_minfreeworkitems;
 
260
        uint32_t sv503_xactmemsize;
 
261
        uint32_t sv503_threadpriority;
 
262
        uint32_t sv503_maxmpxct;
 
263
        uint32_t sv503_oplockbreakwait;
 
264
        uint32_t sv503_oplockbreakresponsewait;
 
265
        uint8_t sv503_enableoplocks;
 
266
        uint8_t sv503_enableoplockforceclose;
 
267
        uint8_t sv503_enablefcbopens;
 
268
        uint8_t sv503_enableraw;
 
269
        uint8_t sv503_enablesharednetdrives;
 
270
        uint32_t sv503_minfreeconnections;
 
271
        uint32_t sv503_maxfreeconnections;
 
272
};
 
273
 
 
274
struct SERVER_INFO_599 {
 
275
        uint32_t sv599_sessopens;
 
276
        uint32_t sv599_sessvcs;
 
277
        uint32_t sv599_opensearch;
 
278
        uint32_t sv599_sizreqbuf;
 
279
        uint32_t sv599_initworkitems;
 
280
        uint32_t sv599_maxworkitems;
 
281
        uint32_t sv599_rawworkitems;
 
282
        uint32_t sv599_irpstacksize;
 
283
        uint32_t sv599_maxrawbuflen;
 
284
        uint32_t sv599_sessusers;
 
285
        uint32_t sv599_sessconns;
 
286
        uint32_t sv599_maxpagedmemoryusage;
 
287
        uint32_t sv599_maxnonpagedmemoryusage;
 
288
        uint8_t sv599_enablesoftcompat;
 
289
        uint8_t sv599_enableforcedlogoff;
 
290
        uint8_t sv599_timesource;
 
291
        uint8_t sv599_acceptdownlevelapis;
 
292
        uint8_t sv599_lmannounce;
 
293
        const char * sv599_domain;
 
294
        uint32_t sv599_maxcopyreadlen;
 
295
        uint32_t sv599_maxcopywritelen;
 
296
        uint32_t sv599_minkeepsearch;
 
297
        uint32_t sv599_maxkeepsearch;
 
298
        uint32_t sv599_minkeepcomplsearch;
 
299
        uint32_t sv599_maxkeepcomplsearch;
 
300
        uint32_t sv599_threadcountadd;
 
301
        uint32_t sv599_numblockthreads;
 
302
        uint32_t sv599_scavtimeout;
 
303
        uint32_t sv599_minrcvqueue;
 
304
        uint32_t sv599_minfreeworkitems;
 
305
        uint32_t sv599_xactmemsize;
 
306
        uint32_t sv599_threadpriority;
 
307
        uint32_t sv599_maxmpxct;
 
308
        uint32_t sv599_oplockbreakwait;
 
309
        uint32_t sv599_oplockbreakresponsewait;
 
310
        uint8_t sv599_enableoplocks;
 
311
        uint8_t sv599_enableoplockforceclose;
 
312
        uint8_t sv599_enablefcbopens;
 
313
        uint8_t sv599_enableraw;
 
314
        uint8_t sv599_enablesharednetdrives;
 
315
        uint32_t sv599_minfreeconnections;
 
316
        uint32_t sv599_maxfreeconnections;
 
317
        uint32_t sv599_initsesstable;
 
318
        uint32_t sv599_initconntable;
 
319
        uint32_t sv599_initfiletable;
 
320
        uint32_t sv599_initsearchtable;
 
321
        uint32_t sv599_alertschedule;
 
322
        uint32_t sv599_errorthreshold;
 
323
        uint32_t sv599_networkerrorthreshold;
 
324
        uint32_t sv599_diskspacethreshold;
 
325
        uint32_t sv599_reserved;
 
326
        uint32_t sv599_maxlinkdelay;
 
327
        uint32_t sv599_minlinkthroughput;
 
328
        uint32_t sv599_linkinfovalidtime;
 
329
        uint32_t sv599_scavqosinfoupdatetime;
 
330
        uint32_t sv599_maxworkitemidletime;
 
331
};
 
332
 
 
333
struct SERVER_INFO_598 {
 
334
        uint32_t sv598_maxrawworkitems;
 
335
        uint32_t sv598_maxthreadsperqueue;
 
336
        uint32_t sv598_producttype;
 
337
        uint32_t sv598_serversize;
 
338
        uint32_t sv598_connectionlessautodisc;
 
339
        uint32_t sv598_sharingviolationretries;
 
340
        uint32_t sv598_sharingviolationdelay;
 
341
        uint32_t sv598_maxglobalopensearch;
 
342
        uint32_t sv598_removeduplicatesearches;
 
343
        uint32_t sv598_lockviolationoffset;
 
344
        uint32_t sv598_lockviolationdelay;
 
345
        uint32_t sv598_mdlreadswitchover;
 
346
        uint32_t sv598_cachedopenlimit;
 
347
        uint32_t sv598_otherqueueaffinity;
 
348
        uint8_t sv598_restrictnullsessaccess;
 
349
        uint8_t sv598_enablewfw311directipx;
 
350
        uint32_t sv598_queuesamplesecs;
 
351
        uint32_t sv598_balancecount;
 
352
        uint32_t sv598_preferredaffinity;
 
353
        uint32_t sv598_maxfreerfcbs;
 
354
        uint32_t sv598_maxfreemfcbs;
 
355
        uint32_t sv598_maxfreelfcbs;
 
356
        uint32_t sv598_maxfreepagedpoolchunks;
 
357
        uint32_t sv598_minpagedpoolchunksize;
 
358
        uint32_t sv598_maxpagedpoolchunksize;
 
359
        uint8_t sv598_sendsfrompreferredprocessor;
 
360
        uint32_t sv598_cacheddirectorylimit;
 
361
        uint32_t sv598_maxcopylength;
 
362
        uint8_t sv598_enablecompression;
 
363
        uint8_t sv598_autosharewks;
 
364
        uint8_t sv598_autoshareserver;
 
365
        uint8_t sv598_enablesecuritysignature;
 
366
        uint8_t sv598_requiresecuritysignature;
 
367
        uint32_t sv598_minclientbuffersize;
 
368
        struct GUID sv598_serverguid;
 
369
        uint32_t sv598_ConnectionNoSessionsTimeout;
 
370
        uint32_t sv598_IdleThreadTimeOut;
 
371
        uint8_t sv598_enableW9xsecuritysignature;
 
372
        uint8_t sv598_enforcekerberosreauthentication;
 
373
        uint8_t sv598_disabledos;
 
374
        uint32_t sv598_lowdiskspaceminimum;
 
375
        uint8_t sv598_disablestrictnamechecking;
 
376
};
 
377
 
 
378
struct SERVER_INFO_1005 {
 
379
        const char * sv1005_comment;
 
380
};
 
381
 
 
382
struct SERVER_INFO_1107 {
 
383
        uint32_t sv1107_users;
 
384
};
 
385
 
 
386
struct SERVER_INFO_1010 {
 
387
        int32_t sv1010_disc;
 
388
};
 
389
 
 
390
struct SERVER_INFO_1016 {
 
391
        uint8_t sv1016_hidden;
 
392
};
 
393
 
 
394
struct SERVER_INFO_1017 {
 
395
        uint32_t sv1017_announce;
 
396
};
 
397
 
 
398
struct SERVER_INFO_1018 {
 
399
        uint32_t sv1018_anndelta;
 
400
};
 
401
 
 
402
struct SERVER_INFO_1501 {
 
403
        uint32_t sv1501_sessopens;
 
404
};
 
405
 
 
406
struct SERVER_INFO_1502 {
 
407
        uint32_t sv1502_sessvcs;
 
408
};
 
409
 
 
410
struct SERVER_INFO_1503 {
 
411
        uint32_t sv1503_opensearch;
 
412
};
 
413
 
 
414
struct SERVER_INFO_1506 {
 
415
        uint32_t sv1506_maxworkitems;
 
416
};
 
417
 
 
418
struct SERVER_INFO_1509 {
 
419
        uint32_t sv1509_maxrawbuflen;
 
420
};
 
421
 
 
422
struct SERVER_INFO_1510 {
 
423
        uint32_t sv1510_sessusers;
 
424
};
 
425
 
 
426
struct SERVER_INFO_1511 {
 
427
        uint32_t sv1511_sessconns;
 
428
};
 
429
 
 
430
struct SERVER_INFO_1512 {
 
431
        uint32_t sv1512_maxnonpagedmemoryusage;
 
432
};
 
433
 
 
434
struct SERVER_INFO_1513 {
 
435
        uint32_t sv1513_maxpagedmemoryusage;
 
436
};
 
437
 
 
438
struct SERVER_INFO_1514 {
 
439
        uint8_t sv1514_enablesoftcompat;
 
440
};
 
441
 
 
442
struct SERVER_INFO_1515 {
 
443
        uint8_t sv1515_enableforcedlogoff;
 
444
};
 
445
 
 
446
struct SERVER_INFO_1516 {
 
447
        uint8_t sv1516_timesource;
 
448
};
 
449
 
 
450
struct SERVER_INFO_1518 {
 
451
        uint8_t sv1518_lmannounce;
 
452
};
 
453
 
 
454
struct SERVER_INFO_1520 {
 
455
        uint32_t sv1520_maxcopyreadlen;
 
456
};
 
457
 
 
458
struct SERVER_INFO_1521 {
 
459
        uint32_t sv1521_maxcopywritelen;
 
460
};
 
461
 
 
462
struct SERVER_INFO_1522 {
 
463
        uint32_t sv1522_minkeepsearch;
 
464
};
 
465
 
 
466
struct SERVER_INFO_1523 {
 
467
        uint32_t sv1523_maxkeepsearch;
 
468
};
 
469
 
 
470
struct SERVER_INFO_1524 {
 
471
        uint32_t sv1524_minkeepcomplsearch;
 
472
};
 
473
 
 
474
struct SERVER_INFO_1525 {
 
475
        uint32_t sv1525_maxkeepcomplsearch;
 
476
};
 
477
 
 
478
struct SERVER_INFO_1528 {
 
479
        uint32_t sv1528_scavtimeout;
 
480
};
 
481
 
 
482
struct SERVER_INFO_1529 {
 
483
        uint32_t sv1529_minrcvqueue;
 
484
};
 
485
 
 
486
struct SERVER_INFO_1530 {
 
487
        uint32_t sv1530_minfreeworkitems;
 
488
};
 
489
 
 
490
struct SERVER_INFO_1533 {
 
491
        uint32_t sv1533_maxmpxct;
 
492
};
 
493
 
 
494
struct SERVER_INFO_1534 {
 
495
        uint32_t sv1534_oplockbreakwait;
 
496
};
 
497
 
 
498
struct SERVER_INFO_1535 {
 
499
        uint32_t sv1535_oplockbreakresponsewait;
 
500
};
 
501
 
 
502
struct SERVER_INFO_1536 {
 
503
        uint8_t sv1536_enableoplocks;
 
504
};
 
505
 
 
506
struct SERVER_INFO_1537 {
 
507
        uint8_t sv1537_enableoplockforceclose;
 
508
};
 
509
 
 
510
struct SERVER_INFO_1538 {
 
511
        uint8_t sv1538_enablefcbopens;
 
512
};
 
513
 
 
514
struct SERVER_INFO_1539 {
 
515
        uint8_t sv1539_enableraw;
 
516
};
 
517
 
 
518
struct SERVER_INFO_1540 {
 
519
        uint8_t sv1540_enablesharednetdrives;
 
520
};
 
521
 
 
522
struct SERVER_INFO_1541 {
 
523
        uint8_t sv1541_minfreeconnections;
 
524
};
 
525
 
 
526
struct SERVER_INFO_1542 {
 
527
        uint8_t sv1542_maxfreeconnections;
 
528
};
 
529
 
 
530
struct SERVER_INFO_1543 {
 
531
        uint32_t sv1543_initsesstable;
 
532
};
 
533
 
 
534
struct SERVER_INFO_1544 {
 
535
        uint32_t sv1544_initconntable;
 
536
};
 
537
 
 
538
struct SERVER_INFO_1545 {
 
539
        uint32_t sv1545_initfiletable;
 
540
};
 
541
 
 
542
struct SERVER_INFO_1546 {
 
543
        uint32_t sv1546_initsearchtable;
 
544
};
 
545
 
 
546
struct SERVER_INFO_1547 {
 
547
        uint32_t sv1547_alertschedule;
 
548
};
 
549
 
 
550
struct SERVER_INFO_1548 {
 
551
        uint32_t sv1548_errorthreshold;
 
552
};
 
553
 
 
554
struct SERVER_INFO_1549 {
 
555
        uint32_t sv1549_networkerrorthreshold;
 
556
};
 
557
 
 
558
struct SERVER_INFO_1550 {
 
559
        uint32_t sv1550_diskspacethreshold;
 
560
};
 
561
 
 
562
struct SERVER_INFO_1552 {
 
563
        uint32_t sv1552_maxlinkdelay;
 
564
};
 
565
 
 
566
struct SERVER_INFO_1553 {
 
567
        uint32_t sv1553_minlinkthroughput;
 
568
};
 
569
 
 
570
struct SERVER_INFO_1554 {
 
571
        uint32_t sv1554_linkinfovalidtime;
 
572
};
 
573
 
 
574
struct SERVER_INFO_1555 {
 
575
        uint32_t sv1555_scavqosinfoupdatetime;
 
576
};
 
577
 
 
578
struct SERVER_INFO_1556 {
 
579
        uint32_t sv1556_maxworkitemidletime;
 
580
};
 
581
 
 
582
struct SERVER_INFO_1557 {
 
583
        uint32_t sv1557_maxrawworkitems;
 
584
};
 
585
 
 
586
struct SERVER_INFO_1560 {
 
587
        uint32_t sv1560_producttype;
 
588
};
 
589
 
 
590
struct SERVER_INFO_1561 {
 
591
        uint32_t sv1561_serversize;
 
592
};
 
593
 
 
594
struct SERVER_INFO_1562 {
 
595
        uint32_t sv1562_connectionlessautodisc;
 
596
};
 
597
 
 
598
struct SERVER_INFO_1563 {
 
599
        uint32_t sv1563_sharingviolationretries;
 
600
};
 
601
 
 
602
struct SERVER_INFO_1564 {
 
603
        uint32_t sv1564_sharingviolationdelay;
 
604
};
 
605
 
 
606
struct SERVER_INFO_1565 {
 
607
        uint32_t sv1565_maxglobalopensearch;
 
608
};
 
609
 
 
610
struct SERVER_INFO_1566 {
 
611
        uint8_t sv1566_removeduplicatesearches;
 
612
};
 
613
 
 
614
struct SERVER_INFO_1567 {
 
615
        uint32_t sv1567_lockviolationretries;
 
616
};
 
617
 
 
618
struct SERVER_INFO_1568 {
 
619
        uint32_t sv1568_lockviolationoffset;
 
620
};
 
621
 
 
622
struct SERVER_INFO_1569 {
 
623
        uint32_t sv1569_lockviolationdelay;
 
624
};
 
625
 
 
626
struct SERVER_INFO_1570 {
 
627
        uint32_t sv1570_mdlreadswitchover;
 
628
};
 
629
 
 
630
struct SERVER_INFO_1571 {
 
631
        uint32_t sv1571_cachedopenlimit;
 
632
};
 
633
 
 
634
struct SERVER_INFO_1572 {
 
635
        uint32_t sv1572_criticalthreads;
 
636
};
 
637
 
 
638
struct SERVER_INFO_1573 {
 
639
        uint32_t sv1573_restrictnullsessaccess;
 
640
};
 
641
 
 
642
struct SERVER_INFO_1574 {
 
643
        uint32_t sv1574_enablewfw311directipx;
 
644
};
 
645
 
 
646
struct SERVER_INFO_1575 {
 
647
        uint32_t sv1575_otherqueueaffinity;
 
648
};
 
649
 
 
650
struct SERVER_INFO_1576 {
 
651
        uint32_t sv1576_queuesamplesecs;
 
652
};
 
653
 
 
654
struct SERVER_INFO_1577 {
 
655
        uint32_t sv1577_balancecount;
 
656
};
 
657
 
 
658
struct SERVER_INFO_1578 {
 
659
        uint32_t sv1578_preferredaffinity;
 
660
};
 
661
 
 
662
struct SERVER_INFO_1579 {
 
663
        uint32_t sv1579_maxfreerfcbs;
 
664
};
 
665
 
 
666
struct SERVER_INFO_1580 {
 
667
        uint32_t sv1580_maxfreemfcbs;
 
668
};
 
669
 
 
670
struct SERVER_INFO_1581 {
 
671
        uint32_t sv1581_maxfreemlcbs;
 
672
};
 
673
 
 
674
struct SERVER_INFO_1582 {
 
675
        uint32_t sv1582_maxfreepagedpoolchunks;
 
676
};
 
677
 
 
678
struct SERVER_INFO_1583 {
 
679
        uint32_t sv1583_minpagedpoolchunksize;
 
680
};
 
681
 
 
682
struct SERVER_INFO_1584 {
 
683
        uint32_t sv1584_maxpagedpoolchunksize;
 
684
};
 
685
 
 
686
struct SERVER_INFO_1585 {
 
687
        uint8_t sv1585_sendsfrompreferredprocessor;
 
688
};
 
689
 
 
690
struct SERVER_INFO_1586 {
 
691
        uint32_t sv1586_maxthreadsperqueue;
 
692
};
 
693
 
 
694
struct SERVER_INFO_1587 {
 
695
        uint32_t sv1587_cacheddirectorylimit;
 
696
};
 
697
 
 
698
struct SERVER_INFO_1588 {
 
699
        uint32_t sv1588_maxcopylength;
 
700
};
 
701
 
 
702
struct SERVER_INFO_1590 {
 
703
        uint32_t sv1590_enablecompression;
 
704
};
 
705
 
 
706
struct SERVER_INFO_1591 {
 
707
        uint32_t sv1591_autosharewks;
 
708
};
 
709
 
 
710
struct SERVER_INFO_1592 {
 
711
        uint32_t sv1592_autosharewks;
 
712
};
 
713
 
 
714
struct SERVER_INFO_1593 {
 
715
        uint32_t sv1593_enablesecuritysignature;
 
716
};
 
717
 
 
718
struct SERVER_INFO_1594 {
 
719
        uint32_t sv1594_requiresecuritysignature;
 
720
};
 
721
 
 
722
struct SERVER_INFO_1595 {
 
723
        uint32_t sv1595_minclientbuffersize;
 
724
};
 
725
 
 
726
struct SERVER_INFO_1596 {
 
727
        uint32_t sv1596_ConnectionNoSessionsTimeout;
 
728
};
 
729
 
 
730
struct SERVER_INFO_1597 {
 
731
        uint32_t sv1597_IdleThreadTimeOut;
 
732
};
 
733
 
 
734
struct SERVER_INFO_1598 {
 
735
        uint32_t sv1598_enableW9xsecuritysignature;
 
736
};
 
737
 
 
738
struct SERVER_INFO_1599 {
 
739
        uint8_t sv1598_enforcekerberosreauthentication;
 
740
};
 
741
 
 
742
struct SERVER_INFO_1600 {
 
743
        uint8_t sv1598_disabledos;
 
744
};
 
745
 
 
746
struct SERVER_INFO_1601 {
 
747
        uint32_t sv1598_lowdiskspaceminimum;
 
748
};
 
749
 
 
750
struct SERVER_INFO_1602 {
 
751
        uint8_t sv_1598_disablestrictnamechecking;
 
752
};
 
753
 
 
754
struct USER_INFO_0 {
 
755
        const char * usri0_name;
 
756
};
 
757
 
 
758
#define USER_PRIV_GUEST ( 0 )
 
759
#define USER_PRIV_USER  ( 1 )
 
760
#define USER_PRIV_ADMIN ( 2 )
 
761
 
 
762
struct USER_INFO_1 {
 
763
        const char * usri1_name;
 
764
        const char * usri1_password;
 
765
        uint32_t usri1_password_age;
 
766
        uint32_t usri1_priv;
 
767
        const char * usri1_home_dir;
 
768
        const char * usri1_comment;
 
769
        uint32_t usri1_flags;
 
770
        const char * usri1_script_path;
 
771
};
 
772
 
 
773
#define AF_OP_PRINT     ( 0x1 )
 
774
#define AF_OP_COMM      ( 0x2 )
 
775
#define AF_OP_SERVER    ( 0x4 )
 
776
#define AF_OP_ACCOUNTS  ( 0x8 )
 
777
 
 
778
struct USER_INFO_2 {
 
779
        const char * usri2_name;
 
780
        const char * usri2_password;
 
781
        uint32_t usri2_password_age;
 
782
        uint32_t usri2_priv;
 
783
        const char * usri2_home_dir;
 
784
        const char * usri2_comment;
 
785
        uint32_t usri2_flags;
 
786
        const char * usri2_script_path;
 
787
        uint32_t usri2_auth_flags;
 
788
        const char * usri2_full_name;
 
789
        const char * usri2_usr_comment;
 
790
        const char * usri2_parms;
 
791
        const char * usri2_workstations;
 
792
        uint32_t usri2_last_logon;
 
793
        uint32_t usri2_last_logoff;
 
794
        uint32_t usri2_acct_expires;
 
795
        uint32_t usri2_max_storage;
 
796
        uint32_t usri2_units_per_week;
 
797
        uint8_t *usri2_logon_hours;/* [unique] */
 
798
        uint32_t usri2_bad_pw_count;
 
799
        uint32_t usri2_num_logons;
 
800
        const char * usri2_logon_server;
 
801
        uint32_t usri2_country_code;
 
802
        uint32_t usri2_code_page;
 
803
};
 
804
 
 
805
struct USER_INFO_3 {
 
806
        const char * usri3_name;
 
807
        uint32_t usri3_password_age;
 
808
        uint32_t usri3_priv;
 
809
        const char * usri3_home_dir;
 
810
        const char * usri3_comment;
 
811
        uint32_t usri3_flags;
 
812
        const char * usri3_script_path;
 
813
        uint32_t usri3_auth_flags;
 
814
        const char * usri3_full_name;
 
815
        const char * usri3_usr_comment;
 
816
        const char * usri3_parms;
 
817
        const char * usri3_workstations;
 
818
        uint32_t usri3_last_logon;
 
819
        uint32_t usri3_last_logoff;
 
820
        uint32_t usri3_acct_expires;
 
821
        uint32_t usri3_max_storage;
 
822
        uint32_t usri3_units_per_week;
 
823
        uint8_t *usri3_logon_hours;/* [unique] */
 
824
        uint32_t usri3_bad_pw_count;
 
825
        uint32_t usri3_num_logons;
 
826
        const char * usri3_logon_server;
 
827
        uint32_t usri3_country_code;
 
828
        uint32_t usri3_code_page;
 
829
        uint32_t usri3_user_id;
 
830
        uint32_t usri3_primary_group_id;
 
831
        const char * usri3_profile;
 
832
        const char * usri3_home_dir_drive;
 
833
        uint32_t usri3_password_expired;
 
834
};
 
835
 
 
836
struct USER_INFO_4 {
 
837
        const char * usri4_name;
 
838
        const char * usri4_password;
 
839
        uint32_t usri4_password_age;
 
840
        uint32_t usri4_priv;
 
841
        const char * usri4_home_dir;
 
842
        const char * usri4_comment;
 
843
        uint32_t usri4_flags;
 
844
        const char * usri4_script_path;
 
845
        uint32_t usri4_auth_flags;
 
846
        const char * usri4_full_name;
 
847
        const char * usri4_usr_comment;
 
848
        const char * usri4_parms;
 
849
        const char * usri4_workstations;
 
850
        uint32_t usri4_last_logon;
 
851
        uint32_t usri4_last_logoff;
 
852
        uint32_t usri4_acct_expires;
 
853
        uint32_t usri4_max_storage;
 
854
        uint32_t usri4_units_per_week;
 
855
        uint8_t *usri4_logon_hours;/* [unique] */
 
856
        uint32_t usri4_bad_pw_count;
 
857
        uint32_t usri4_num_logons;
 
858
        const char * usri4_logon_server;
 
859
        uint32_t usri4_country_code;
 
860
        uint32_t usri4_code_page;
 
861
        struct domsid *usri4_user_sid;/* [unique] */
 
862
        uint32_t usri4_primary_group_id;
 
863
        const char * usri4_profile;
 
864
        const char * usri4_home_dir_drive;
 
865
        uint32_t usri4_password_expired;
 
866
};
 
867
 
 
868
struct USER_INFO_10 {
 
869
        const char * usri10_name;
 
870
        const char * usri10_comment;
 
871
        const char * usri10_usr_comment;
 
872
        const char * usri10_full_name;
 
873
};
 
874
 
 
875
struct USER_INFO_11 {
 
876
        const char * usri11_name;
 
877
        const char * usri11_comment;
 
878
        const char * usri11_usr_comment;
 
879
        const char * usri11_full_name;
 
880
        uint32_t usri11_priv;
 
881
        uint32_t usri11_auth_flags;
 
882
        uint32_t usri11_password_age;
 
883
        const char * usri11_home_dir;
 
884
        const char * usri11_parms;
 
885
        uint32_t usri11_last_logon;
 
886
        uint32_t usri11_last_logoff;
 
887
        uint32_t usri11_bad_pw_count;
 
888
        uint32_t usri11_num_logons;
 
889
        const char * usri11_logon_server;
 
890
        uint32_t usri11_country_code;
 
891
        const char * usri11_workstations;
 
892
        uint32_t usri11_max_storage;
 
893
        uint32_t usri11_units_per_week;
 
894
        uint8_t *usri11_logon_hours;/* [unique] */
 
895
        uint32_t usri11_code_page;
 
896
};
 
897
 
 
898
struct USER_INFO_20 {
 
899
        const char * usri20_name;
 
900
        const char * usri20_full_name;
 
901
        const char * usri20_comment;
 
902
        uint32_t usri20_flags;
 
903
        uint32_t usri20_user_id;
 
904
};
 
905
 
 
906
struct USER_INFO_21 {
 
907
        uint8_t *usri21_password;
 
908
};
 
909
 
 
910
struct USER_INFO_22 {
 
911
        const char * usri22_name;
 
912
        uint8_t *usri22_password;
 
913
        uint32_t usri22_password_age;
 
914
        uint32_t usri22_priv;
 
915
        const char * usri22_home_dir;
 
916
        const char * usri22_comment;
 
917
        uint32_t usri22_flags;
 
918
        uint32_t usri22_script_path;
 
919
        uint32_t usri22_auth_flags;
 
920
        const char * usri22_full_name;
 
921
        const char * usri22_usr_comment;
 
922
        const char * usri22_parms;
 
923
        const char * usri22_workstations;
 
924
        uint32_t usri22_last_logon;
 
925
        uint32_t usri22_last_logoff;
 
926
        uint32_t usri22_acct_expires;
 
927
        uint32_t usri22_max_storage;
 
928
        uint32_t usri22_units_per_week;
 
929
        uint8_t *usri22_logon_hours;/* [unique] */
 
930
        uint32_t usri22_bad_pw_count;
 
931
        uint32_t usri22_num_logons;
 
932
        const char * usri22_logon_server;
 
933
        uint32_t usri22_country_code;
 
934
        uint32_t usri22_code_page;
 
935
};
 
936
 
 
937
struct USER_INFO_23 {
 
938
        const char * usri23_name;
 
939
        const char * usri23_full_name;
 
940
        const char * usri23_comment;
 
941
        uint32_t usri23_flags;
 
942
        struct domsid *usri23_user_sid;/* [unique] */
 
943
};
 
944
 
 
945
struct USER_INFO_1003 {
 
946
        const char * usri1003_password;
 
947
};
 
948
 
 
949
struct USER_INFO_1005 {
 
950
        uint32_t usri1005_priv;
 
951
};
 
952
 
 
953
struct USER_INFO_1006 {
 
954
        const char * usri1006_home_dir;
 
955
};
 
956
 
 
957
struct USER_INFO_1007 {
 
958
        const char * usri1007_comment;
 
959
};
 
960
 
 
961
struct USER_INFO_1008 {
 
962
        uint32_t usri1008_flags;
 
963
};
 
964
 
 
965
struct USER_INFO_1009 {
 
966
        const char * usri1009_script_path;
 
967
};
 
968
 
 
969
struct USER_INFO_1010 {
 
970
        uint32_t usri1010_auth_flags;
 
971
};
 
972
 
 
973
struct USER_INFO_1011 {
 
974
        const char * usri1011_full_name;
 
975
};
 
976
 
 
977
struct USER_INFO_1012 {
 
978
        const char * usri1012_usr_comment;
 
979
};
 
980
 
 
981
struct USER_INFO_1013 {
 
982
        const char * usri1013_parms;
 
983
};
 
984
 
 
985
struct USER_INFO_1014 {
 
986
        const char * usri1014_workstations;
 
987
};
 
988
 
 
989
struct USER_INFO_1017 {
 
990
        uint32_t usri1017_acct_expires;
 
991
};
 
992
 
 
993
struct USER_INFO_1018 {
 
994
        uint32_t usri1018_max_storage;
 
995
};
 
996
 
 
997
struct USER_INFO_1020 {
 
998
        uint32_t usri1020_units_per_week;
 
999
        uint8_t *usri1020_logon_hours;/* [unique] */
 
1000
};
 
1001
 
 
1002
struct USER_INFO_1023 {
 
1003
        const char * usri1023_logon_server;
 
1004
};
 
1005
 
 
1006
struct USER_INFO_1024 {
 
1007
        uint32_t usri1024_country_code;
 
1008
};
 
1009
 
 
1010
struct USER_INFO_1025 {
 
1011
        uint32_t usri1025_code_page;
 
1012
};
 
1013
 
 
1014
struct USER_INFO_1051 {
 
1015
        uint32_t usri1051_primary_group_id;
 
1016
};
 
1017
 
 
1018
struct USER_INFO_1052 {
 
1019
        const char * usri1052_profile;
 
1020
};
 
1021
 
 
1022
struct USER_INFO_1053 {
 
1023
        const char * usri1053_home_dir_drive;
 
1024
};
 
1025
 
 
1026
struct USER_MODALS_INFO_0 {
 
1027
        uint32_t usrmod0_min_passwd_len;
 
1028
        uint32_t usrmod0_max_passwd_age;
 
1029
        uint32_t usrmod0_min_passwd_age;
 
1030
        uint32_t usrmod0_force_logoff;
 
1031
        uint32_t usrmod0_password_hist_len;
 
1032
};
 
1033
 
 
1034
struct USER_MODALS_INFO_1 {
 
1035
        uint32_t usrmod1_role;
 
1036
        const char * usrmod1_primary;
 
1037
};
 
1038
 
 
1039
struct USER_MODALS_INFO_2 {
 
1040
        const char * usrmod2_domain_name;
 
1041
        struct domsid *usrmod2_domain_id;/* [unique] */
 
1042
};
 
1043
 
 
1044
struct USER_MODALS_INFO_3 {
 
1045
        uint32_t usrmod3_lockout_duration;
 
1046
        uint32_t usrmod3_lockout_observation_window;
 
1047
        uint32_t usrmod3_lockout_threshold;
 
1048
};
 
1049
 
 
1050
struct USER_MODALS_INFO_1001 {
 
1051
        uint32_t usrmod1001_min_passwd_len;
 
1052
};
 
1053
 
 
1054
struct USER_MODALS_INFO_1002 {
 
1055
        uint32_t usrmod1002_max_passwd_age;
 
1056
};
 
1057
 
 
1058
struct USER_MODALS_INFO_1003 {
 
1059
        uint32_t usrmod1003_min_passwd_age;
 
1060
};
 
1061
 
 
1062
struct USER_MODALS_INFO_1004 {
 
1063
        uint32_t usrmod1004_force_logoff;
 
1064
};
 
1065
 
 
1066
struct USER_MODALS_INFO_1005 {
 
1067
        uint32_t usrmod1005_password_hist_len;
 
1068
};
 
1069
 
 
1070
struct USER_MODALS_INFO_1006 {
 
1071
        uint32_t usrmod1006_role;
 
1072
};
 
1073
 
 
1074
struct USER_MODALS_INFO_1007 {
 
1075
        const char * usrmod1007_primary;
 
1076
};
 
1077
 
 
1078
struct NET_DISPLAY_USER {
 
1079
        const char * usri1_name;
 
1080
        const char * usri1_comment;
 
1081
        uint32_t usri1_flags;
 
1082
        const char * usri1_full_name;
 
1083
        uint32_t usri1_user_id;
 
1084
        uint32_t usri1_next_index;
 
1085
};
 
1086
 
 
1087
struct NET_DISPLAY_MACHINE {
 
1088
        const char * usri2_name;
 
1089
        const char * usri2_comment;
 
1090
        uint32_t usri2_flags;
 
1091
        uint32_t usri2_user_id;
 
1092
        uint32_t usri2_next_index;
 
1093
};
 
1094
 
 
1095
struct NET_DISPLAY_GROUP {
 
1096
        const char * grpi3_name;
 
1097
        const char * grpi3_comment;
 
1098
        uint32_t grpi3_group_id;
 
1099
        uint32_t grpi3_attributes;
 
1100
        uint32_t grpi3_next_index;
 
1101
};
 
1102
 
 
1103
struct GROUP_INFO_0 {
 
1104
        const char * grpi0_name;
 
1105
};
 
1106
 
 
1107
struct GROUP_INFO_1 {
 
1108
        const char * grpi1_name;
 
1109
        const char * grpi1_comment;
 
1110
};
 
1111
 
 
1112
struct GROUP_INFO_2 {
 
1113
        const char * grpi2_name;
 
1114
        const char * grpi2_comment;
 
1115
        uint32_t grpi2_group_id;
 
1116
        uint32_t grpi2_attributes;
 
1117
};
 
1118
 
 
1119
struct GROUP_INFO_3 {
 
1120
        const char * grpi3_name;
 
1121
        const char * grpi3_comment;
 
1122
        struct domsid * grpi3_group_sid;
 
1123
        uint32_t grpi3_attributes;
 
1124
};
 
1125
 
 
1126
struct GROUP_INFO_1002 {
 
1127
        const char * grpi1002_comment;
 
1128
};
 
1129
 
 
1130
struct GROUP_INFO_1005 {
 
1131
        uint32_t grpi1005_attributes;
 
1132
};
 
1133
 
 
1134
struct GROUP_USERS_INFO_0 {
 
1135
        const char * grui0_name;
 
1136
};
 
1137
 
 
1138
struct GROUP_USERS_INFO_1 {
 
1139
        const char * grui1_name;
 
1140
        uint32_t grui1_attributes;
 
1141
};
 
1142
 
 
1143
struct LOCALGROUP_INFO_0 {
 
1144
        const char * lgrpi0_name;
 
1145
};
 
1146
 
 
1147
struct LOCALGROUP_INFO_1 {
 
1148
        const char * lgrpi1_name;
 
1149
        const char * lgrpi1_comment;
 
1150
};
 
1151
 
 
1152
struct LOCALGROUP_INFO_1002 {
 
1153
        const char * lgrpi1002_comment;
 
1154
};
 
1155
 
 
1156
enum SID_NAME_USE {
 
1157
        SidTypeUser=1,
 
1158
        SidTypeGroup=2,
 
1159
        SidTypeDomain=3,
 
1160
        SidTypeAlias=4,
 
1161
        SidTypeWellKnownGroup=5,
 
1162
        SidTypeDeletedAccount=6,
 
1163
        SidTypeInvalid=7,
 
1164
        SidTypeUnknown=8,
 
1165
        SidTypeComputer=9,
 
1166
        SidTypeLabel=10
 
1167
};
 
1168
 
 
1169
struct LOCALGROUP_MEMBERS_INFO_0 {
 
1170
        struct domsid *lgrmi0_sid;/* [unique] */
 
1171
};
 
1172
 
 
1173
struct LOCALGROUP_MEMBERS_INFO_1 {
 
1174
        struct domsid *lgrmi1_sid;/* [unique] */
 
1175
        enum SID_NAME_USE lgrmi1_sidusage;
 
1176
        const char * lgrmi1_name;
 
1177
};
 
1178
 
 
1179
struct LOCALGROUP_MEMBERS_INFO_2 {
 
1180
        struct domsid *lgrmi2_sid;/* [unique] */
 
1181
        enum SID_NAME_USE lgrmi2_sidusage;
 
1182
        const char * lgrmi2_domainandname;
 
1183
};
 
1184
 
 
1185
struct LOCALGROUP_MEMBERS_INFO_3 {
 
1186
        const char * lgrmi3_domainandname;
 
1187
};
 
1188
 
 
1189
struct LOCALGROUP_USERS_INFO_0 {
 
1190
        const char * lgrui0_name;
 
1191
};
 
1192
 
 
1193
struct TIME_OF_DAY_INFO {
 
1194
        uint32_t tod_elapsedt;
 
1195
        uint32_t tod_msecs;
 
1196
        uint32_t tod_hours;
 
1197
        uint32_t tod_mins;
 
1198
        uint32_t tod_secs;
 
1199
        uint32_t tod_hunds;
 
1200
        int32_t tod_timezone;
 
1201
        uint32_t tod_tinterval;
 
1202
        uint32_t tod_day;
 
1203
        uint32_t tod_month;
 
1204
        uint32_t tod_year;
 
1205
        uint32_t tod_weekday;
 
1206
};
 
1207
 
 
1208
struct SHARE_INFO_0 {
 
1209
        const char * shi0_netname;
 
1210
};
 
1211
 
 
1212
struct SHARE_INFO_1 {
 
1213
        const char * shi1_netname;
 
1214
        uint32_t shi1_type;
 
1215
        const char * shi1_remark;
 
1216
};
 
1217
 
 
1218
struct SHARE_INFO_2 {
 
1219
        const char * shi2_netname;
 
1220
        uint32_t shi2_type;
 
1221
        const char * shi2_remark;
 
1222
        uint32_t shi2_permissions;
 
1223
        uint32_t shi2_max_uses;
 
1224
        uint32_t shi2_current_uses;
 
1225
        const char * shi2_path;
 
1226
        const char * shi2_passwd;
 
1227
};
 
1228
 
 
1229
struct SHARE_INFO_501 {
 
1230
        const char * shi501_netname;
 
1231
        uint32_t shi501_type;
 
1232
        const char * shi501_remark;
 
1233
        uint32_t shi501_flags;
 
1234
};
 
1235
 
 
1236
struct SHARE_INFO_1004 {
 
1237
        const char * shi1004_remark;
 
1238
};
 
1239
 
 
1240
struct SHARE_INFO_1005 {
 
1241
        uint32_t shi1005_flags;
 
1242
};
 
1243
 
 
1244
struct SHARE_INFO_1006 {
 
1245
        uint32_t shi1006_max_uses;
 
1246
};
 
1247
 
 
1248
struct FILE_INFO_2 {
 
1249
        uint32_t fi2_id;
 
1250
};
 
1251
 
 
1252
struct FILE_INFO_3 {
 
1253
        uint32_t fi3_id;
 
1254
        uint32_t fi3_permissions;
 
1255
        uint32_t fi3_num_locks;
 
1256
        const char * fi3_pathname;
 
1257
        const char * fi3_username;
 
1258
};
 
1259
 
 
1260
#endif /* _HEADER_libnetapi */
 
1261
 
 
1262
/****************************************************************
 
1263
****************************************************************/
 
1264
 
 
1265
struct libnetapi_ctx {
 
1266
        char *debuglevel;
 
1267
        char *error_string;
 
1268
        char *username;
 
1269
        char *workgroup;
 
1270
        char *password;
 
1271
        char *krb5_cc_env;
 
1272
        int use_kerberos;
 
1273
        int disable_policy_handle_cache;
 
1274
 
 
1275
        void *private_data;
 
1276
};
 
1277
 
 
1278
/****************************************************************
 
1279
****************************************************************/
 
1280
 
 
1281
NET_API_STATUS libnetapi_init(struct libnetapi_ctx **ctx);
 
1282
 
 
1283
/****************************************************************
 
1284
****************************************************************/
 
1285
 
 
1286
NET_API_STATUS libnetapi_free(struct libnetapi_ctx *ctx);
 
1287
 
 
1288
/****************************************************************
 
1289
****************************************************************/
 
1290
 
 
1291
NET_API_STATUS libnetapi_getctx(struct libnetapi_ctx **ctx);
 
1292
 
 
1293
/****************************************************************
 
1294
****************************************************************/
 
1295
 
 
1296
NET_API_STATUS libnetapi_set_debuglevel(struct libnetapi_ctx *ctx,
 
1297
                                        const char *debuglevel);
 
1298
 
 
1299
/****************************************************************
 
1300
****************************************************************/
 
1301
 
 
1302
NET_API_STATUS libnetapi_set_username(struct libnetapi_ctx *ctx,
 
1303
                                      const char *username);
 
1304
 
 
1305
/****************************************************************
 
1306
****************************************************************/
 
1307
 
 
1308
NET_API_STATUS libnetapi_set_password(struct libnetapi_ctx *ctx,
 
1309
                                      const char *password);
 
1310
 
 
1311
/****************************************************************
 
1312
****************************************************************/
 
1313
 
 
1314
NET_API_STATUS libnetapi_set_workgroup(struct libnetapi_ctx *ctx,
 
1315
                                       const char *workgroup);
 
1316
 
 
1317
/****************************************************************
 
1318
****************************************************************/
 
1319
 
 
1320
NET_API_STATUS libnetapi_set_use_kerberos(struct libnetapi_ctx *ctx);
 
1321
 
 
1322
/****************************************************************
 
1323
****************************************************************/
 
1324
 
 
1325
const char *libnetapi_errstr(NET_API_STATUS status);
 
1326
 
 
1327
/****************************************************************
 
1328
****************************************************************/
 
1329
 
 
1330
const char *libnetapi_get_error_string(struct libnetapi_ctx *ctx,
 
1331
                                       NET_API_STATUS status);
 
1332
 
 
1333
/****************************************************************
 
1334
 NetApiBufferAllocate
 
1335
****************************************************************/
 
1336
 
 
1337
NET_API_STATUS NetApiBufferAllocate(uint32_t byte_count,
 
1338
                                    void **buffer);
 
1339
 
 
1340
/****************************************************************
 
1341
 NetApiBufferFree
 
1342
****************************************************************/
 
1343
 
 
1344
NET_API_STATUS NetApiBufferFree(void *buffer);
 
1345
 
 
1346
/************************************************************//**
 
1347
 *
 
1348
 * ConvertSidToStringSid
 
1349
 *
 
1350
 * @brief Convert a domain sid into a string
 
1351
 *
 
1352
 * @param[in] sid A pointer to a sid structure
 
1353
 * @param[in,out] sid_string A pointer that holds a pointer to a sid string. Caller
 
1354
 * needs to free with free(3)
 
1355
 * @return bool
 
1356
 ***************************************************************/
 
1357
 
 
1358
int  ConvertSidToStringSid(const struct domsid *sid,
 
1359
                           char **sid_string);
 
1360
 
 
1361
/************************************************************//**
 
1362
 *
 
1363
 * ConvertStringSidToSid
 
1364
 *
 
1365
 * @brief Convert a string into a domain sid
 
1366
 *
 
1367
 * @param[in] sid_string A pointer to a sid string.
 
1368
 * @param[in,out] sid A pointer that holds a pointer to a sid structure.
 
1369
 * Caller needs to free with free(3)
 
1370
 * @return bool
 
1371
 ***************************************************************/
 
1372
 
 
1373
int ConvertStringSidToSid(const char *sid_string,
 
1374
                          struct domsid **sid);
 
1375
 
 
1376
/************************************************************//**
 
1377
 *
 
1378
 * NetJoinDomain
 
1379
 *
 
1380
 * @brief Join a computer to a domain or workgroup
 
1381
 *
 
1382
 * @param[in] server The server name to connect to
 
1383
 * @param[in] domain The domain or workgroup to join
 
1384
 * @param[in] account_ou The organizational Unit to create the computer account
 
1385
 * in (AD only)
 
1386
 * @param[in] account The domain account used for joining a domain
 
1387
 * @param[in] password The domain account's password used for joining a domain
 
1388
 * @param[in] join_flags Bitmask field to define specific join features
 
1389
 * @return NET_API_STATUS
 
1390
 *
 
1391
 * example netdomjoin/netdomjoin.c
 
1392
 ***************************************************************/
 
1393
 
 
1394
NET_API_STATUS NetJoinDomain(const char * server /* [in] */,
 
1395
                             const char * domain /* [in] [ref] */,
 
1396
                             const char * account_ou /* [in] */,
 
1397
                             const char * account /* [in] */,
 
1398
                             const char * password /* [in] */,
 
1399
                             uint32_t join_flags /* [in] */);
 
1400
 
 
1401
/************************************************************//**
 
1402
 *
 
1403
 * NetUnjoinDomain
 
1404
 *
 
1405
 * @brief Unjoin a computer from a domain or workgroup
 
1406
 *
 
1407
 * @param[in] server_name The server name to connect to
 
1408
 * @param[in] account The domain account used for unjoining a domain
 
1409
 * @param[in] password The domain account's password used for unjoining a domain
 
1410
 * @param[in] unjoin_flags Bitmask field to define specific unjoin features
 
1411
 * @return NET_API_STATUS
 
1412
 *
 
1413
 ***************************************************************/
 
1414
 
 
1415
NET_API_STATUS NetUnjoinDomain(const char * server_name /* [in] */,
 
1416
                               const char * account /* [in] */,
 
1417
                               const char * password /* [in] */,
 
1418
                               uint32_t unjoin_flags /* [in] */);
 
1419
 
 
1420
/************************************************************//**
 
1421
 *
 
1422
 * NetGetJoinInformation
 
1423
 *
 
1424
 * @brief Unjoin a computer from a domain or workgroup
 
1425
 *
 
1426
 * @param[in] server_name The server name to connect to
 
1427
 * @param[out] name_buffer Returns the name of the workgroup or domain
 
1428
 * @param[out] name_type  Returns the type of that name
 
1429
 * @return NET_API_STATUS
 
1430
 *
 
1431
 * example netdomjoin-gui/netdomjoin-gui.c
 
1432
 *
 
1433
 ***************************************************************/
 
1434
 
 
1435
NET_API_STATUS NetGetJoinInformation(const char * server_name /* [in] */,
 
1436
                                     const char * *name_buffer /* [out] [ref] */,
 
1437
                                     uint16_t *name_type /* [out] [ref] */);
 
1438
 
 
1439
/************************************************************//**
 
1440
 *
 
1441
 * NetGetJoinableOUs
 
1442
 *
 
1443
 * @brief Query for the list of joinable organizational Units that can be used
 
1444
 * for joining AD
 
1445
 *
 
1446
 * @param[in] server_name The server name to connect to
 
1447
 * @param[in] domain The AD domain to query
 
1448
 * @param[in] account The domain account used for the query
 
1449
 * @param[in] password The domain account's password used for the query
 
1450
 * @param[out] ou_count The number of ous returned
 
1451
 * @param[out] ous Returned string array containing the ous
 
1452
 * @return NET_API_STATUS
 
1453
 *
 
1454
 * example netdomjoin-gui/netdomjoin-gui.c
 
1455
 *
 
1456
 ***************************************************************/
 
1457
 
 
1458
NET_API_STATUS NetGetJoinableOUs(const char * server_name /* [in] */,
 
1459
                                 const char * domain /* [in] [ref] */,
 
1460
                                 const char * account /* [in] */,
 
1461
                                 const char * password /* [in] */,
 
1462
                                 uint32_t *ou_count /* [out] [ref] */,
 
1463
                                 const char * **ous /* [out] [ref] */);
 
1464
 
 
1465
/************************************************************//**
 
1466
 *
 
1467
 * NetRenameMachineInDomain
 
1468
 *
 
1469
 * @brief Rename a machine in a domain
 
1470
 *
 
1471
 * @param[in] server_name The server name to connect to
 
1472
 * @param[in] new_machine_name The new machine name
 
1473
 * @param[in] account The domain account used for the query
 
1474
 * @param[in] password The domain account's password used for the query
 
1475
 * @param[in] rename_options Options used for the rename operation
 
1476
 * @return NET_API_STATUS
 
1477
 *
 
1478
 * example join/rename_machine.c
 
1479
 *
 
1480
 ***************************************************************/
 
1481
 
 
1482
NET_API_STATUS NetRenameMachineInDomain(const char * server_name /* [in] */,
 
1483
                                        const char * new_machine_name /* [in] */,
 
1484
                                        const char * account /* [in] */,
 
1485
                                        const char * password /* [in] */,
 
1486
                                        uint32_t rename_options /* [in] */);
 
1487
 
 
1488
/************************************************************//**
 
1489
 *
 
1490
 * NetServerGetInfo
 
1491
 *
 
1492
 * @brief Get Information on a server
 
1493
 *
 
1494
 * @param[in] server_name The server name to connect to
 
1495
 * @param[in] level The level to define which information is requested
 
1496
 * @param[out] buffer The returned buffer carrying the SERVER_INFO structure
 
1497
 * @return NET_API_STATUS
 
1498
 *
 
1499
 ***************************************************************/
 
1500
 
 
1501
NET_API_STATUS NetServerGetInfo(const char * server_name /* [in] */,
 
1502
                                uint32_t level /* [in] */,
 
1503
                                uint8_t **buffer /* [out] [ref] */);
 
1504
 
 
1505
/************************************************************//**
 
1506
 *
 
1507
 * NetServerSetInfo
 
1508
 *
 
1509
 * @brief Get Information on a server
 
1510
 *
 
1511
 * @param[in] server_name The server name to connect to
 
1512
 * @param[in] level The level to define which information is set
 
1513
 * @param[in] buffer The buffer carrying the SERVER_INFO structure
 
1514
 * @param[out] parm_error On failure returns the invalid SERVER_INFO member
 
1515
 * @return NET_API_STATUS
 
1516
 *
 
1517
 ***************************************************************/
 
1518
 
 
1519
NET_API_STATUS NetServerSetInfo(const char * server_name /* [in] */,
 
1520
                                uint32_t level /* [in] */,
 
1521
                                uint8_t *buffer /* [in] [ref] */,
 
1522
                                uint32_t *parm_error /* [out] [ref] */);
 
1523
 
 
1524
/************************************************************//**
 
1525
 *
 
1526
 * NetGetDCName
 
1527
 *
 
1528
 * @brief Query for the PDC for a given domain
 
1529
 *
 
1530
 * @param[in] server_name The server name to connect to
 
1531
 * @param[in] domain_name The name of the domain to lookup
 
1532
 * @param[out] buffer The name of the domain to lookup
 
1533
 * @return NET_API_STATUS
 
1534
 *
 
1535
 * example getdc/getdc.c
 
1536
 ***************************************************************/
 
1537
 
 
1538
NET_API_STATUS NetGetDCName(const char * server_name /* [in] */,
 
1539
                            const char * domain_name /* [in] */,
 
1540
                            uint8_t **buffer /* [out] [ref] */);
 
1541
 
 
1542
/************************************************************//**
 
1543
 *
 
1544
 * NetGetAnyDCName
 
1545
 *
 
1546
 * @brief Query for any DC for a given domain
 
1547
 *
 
1548
 * @param[in] server_name The server name to connect to
 
1549
 * @param[in] domain_name The name of the domain to lookup
 
1550
 * @param[out] buffer The name of the domain to lookup
 
1551
 * @return NET_API_STATUS
 
1552
 *
 
1553
 * example getdc/getdc.c
 
1554
 ***************************************************************/
 
1555
 
 
1556
NET_API_STATUS NetGetAnyDCName(const char * server_name /* [in] */,
 
1557
                               const char * domain_name /* [in] */,
 
1558
                               uint8_t **buffer /* [out] [ref] */);
 
1559
 
 
1560
 
 
1561
/************************************************************//**
 
1562
 *
 
1563
 * DsGetDcName
 
1564
 *
 
1565
 * @brief Lookup a DC for a given domain and return information structure
 
1566
 *
 
1567
 * @param[in] server_name The server name to connect to
 
1568
 * @param[in] domain_name The name of the domain to lookup (cannot be NULL)
 
1569
 * @param[in] domain_guid The GUID of the domain to lookup (optional)
 
1570
 * @param[in] site_name The name of the site the DC should reside in
 
1571
 * @param[in] flags A bitmask to request specific features supported by the DC
 
1572
 * @param[out] dc_info Pointer to a DOMAIN_CONTROLLER_INFO structure
 
1573
 * @return NET_API_STATUS
 
1574
 *
 
1575
 * example dsgetdc/dsgetdc.c
 
1576
 ***************************************************************/
 
1577
 
 
1578
NET_API_STATUS DsGetDcName(const char * server_name /* [in] [unique] */,
 
1579
                           const char * domain_name /* [in] [ref] */,
 
1580
                           struct GUID *domain_guid /* [in] [unique] */,
 
1581
                           const char * site_name /* [in] [unique] */,
 
1582
                           uint32_t flags /* [in] */,
 
1583
                           struct DOMAIN_CONTROLLER_INFO **dc_info /* [out] [ref] */);
 
1584
 
 
1585
/************************************************************//**
 
1586
 *
 
1587
 * NetUserAdd
 
1588
 *
 
1589
 * @brief Create a user on a given server
 
1590
 *
 
1591
 * @param[in] server_name The server name to connect to
 
1592
 * @param[in] level The level of the USER_INFO structure passed in (Currently
 
1593
 * only level 1 is supported)
 
1594
 * @param[in] buffer The buffer carrying the USER_INFO structure
 
1595
 * @param[out] parm_error In case of error returns the failing member of the
 
1596
 * structure
 
1597
 * @return NET_API_STATUS
 
1598
 *
 
1599
 * example user/user_add.c
 
1600
 ***************************************************************/
 
1601
 
 
1602
NET_API_STATUS NetUserAdd(const char * server_name /* [in] */,
 
1603
                          uint32_t level /* [in] */,
 
1604
                          uint8_t *buffer /* [in] [ref] */,
 
1605
                          uint32_t *parm_error /* [out] [ref] */);
 
1606
 
 
1607
/************************************************************//**
 
1608
 *
 
1609
 * NetUserDel
 
1610
 *
 
1611
 * @brief Delete a user on a given server
 
1612
 *
 
1613
 * @param[in] server_name The server name to connect to
 
1614
 * @param[in] user_name The user account to delete
 
1615
 * @return NET_API_STATUS
 
1616
 *
 
1617
 * example user/user_del.c
 
1618
 ***************************************************************/
 
1619
 
 
1620
NET_API_STATUS NetUserDel(const char * server_name /* [in] */,
 
1621
                          const char * user_name /* [in] */);
 
1622
 
 
1623
/************************************************************//**
 
1624
 *
 
1625
 * NetUserEnum
 
1626
 *
 
1627
 * @brief Enumerate accounts on a server
 
1628
 *
 
1629
 * @param[in] server_name The server name to connect to
 
1630
 * @param[in] level The enumeration level used for the query (Currently only
 
1631
 * level 0 is supported)
 
1632
 * @param[in] filter The account flags filter used for the query
 
1633
 * @param[out] buffer The returned enumeration buffer
 
1634
 * @param[in] prefmaxlen The requested maximal buffer size
 
1635
 * @param[out] entries_read The number of returned entries
 
1636
 * @param[out] total_entries The number of total entries
 
1637
 * @param[in,out] resume_handle A handle passed in and returned for resuming
 
1638
 * operations
 
1639
 * @return NET_API_STATUS
 
1640
 *
 
1641
 * example user/user_enum.c
 
1642
 ***************************************************************/
 
1643
 
 
1644
NET_API_STATUS NetUserEnum(const char * server_name /* [in] */,
 
1645
                           uint32_t level /* [in] */,
 
1646
                           uint32_t filter /* [in] */,
 
1647
                           uint8_t **buffer /* [out] [ref] */,
 
1648
                           uint32_t prefmaxlen /* [in] */,
 
1649
                           uint32_t *entries_read /* [out] [ref] */,
 
1650
                           uint32_t *total_entries /* [out] [ref] */,
 
1651
                           uint32_t *resume_handle /* [in,out] [ref] */);
 
1652
 
 
1653
/************************************************************//**
 
1654
 *
 
1655
 * NetUserChangePassword
 
1656
 *
 
1657
 * @brief Change the password for a user on a given server or in a given domain
 
1658
 *
 
1659
 * @param[in] domain_name The server or domain name to connect to
 
1660
 * @param[in] user_name The user account to change the password for
 
1661
 * @param[in] old_password The user account's old password
 
1662
 * @param[in] new_password The user account's new password
 
1663
 * @return NET_API_STATUS
 
1664
 *
 
1665
 * example user/user_chgpwd.c
 
1666
 ***************************************************************/
 
1667
 
 
1668
NET_API_STATUS NetUserChangePassword(const char * domain_name /* [in] */,
 
1669
                                     const char * user_name /* [in] */,
 
1670
                                     const char * old_password /* [in] */,
 
1671
                                     const char * new_password /* [in] */);
 
1672
 
 
1673
/************************************************************//**
 
1674
 *
 
1675
 * NetUserGetInfo
 
1676
 *
 
1677
 * @brief Get User Information
 
1678
 *
 
1679
 * @param[in] server_name The server name to connect to
 
1680
 * @param[in] user_name The name of the user that is going to be queried
 
1681
 * @param[in] level The level defining the requested USER_INFO_X structure
 
1682
 * @param[out] buffer The buffer containing a USER_INFO_X structure
 
1683
 * @return NET_API_STATUS
 
1684
 *
 
1685
 * example user/user_getinfo.c
 
1686
 ***************************************************************/
 
1687
 
 
1688
NET_API_STATUS NetUserGetInfo(const char * server_name /* [in] */,
 
1689
                              const char * user_name /* [in] */,
 
1690
                              uint32_t level /* [in] */,
 
1691
                              uint8_t **buffer /* [out] [ref] */);
 
1692
 
 
1693
/************************************************************//**
 
1694
 *
 
1695
 * NetUserSetInfo
 
1696
 *
 
1697
 * @brief Set User Information
 
1698
 *
 
1699
 * @param[in] server_name The server name to connect to
 
1700
 * @param[in] user_name The name of the user that is going to be modified
 
1701
 * @param[in] level The level defining the requested USER_INFO_X structure
 
1702
 * @param[in] buffer The buffer containing a USER_INFO_X structure
 
1703
 * @param[out] parm_err The returned parameter error number if any
 
1704
 * @return NET_API_STATUS
 
1705
 *
 
1706
 * example user/user_setinfo.c
 
1707
 ***************************************************************/
 
1708
 
 
1709
NET_API_STATUS NetUserSetInfo(const char * server_name /* [in] */,
 
1710
                              const char * user_name /* [in] */,
 
1711
                              uint32_t level /* [in] */,
 
1712
                              uint8_t *buffer /* [in] [ref] */,
 
1713
                              uint32_t *parm_err /* [out] [ref] */);
 
1714
 
 
1715
/************************************************************//**
 
1716
 *
 
1717
 * NetUserModalsGet
 
1718
 *
 
1719
 * @brief Get SAM domain and password information
 
1720
 *
 
1721
 * @param[in] server_name The server name to connect to
 
1722
 * @param[in] level The level defining which USER_MODALS_INFO_X buffer to query
 
1723
 * @param[out] buffer The returned USER_MODALS_INFO_X buffer
 
1724
 * @return NET_API_STATUS
 
1725
 *
 
1726
 * example user/user_modalsget.c
 
1727
 ***************************************************************/
 
1728
 
 
1729
NET_API_STATUS NetUserModalsGet(const char * server_name /* [in] */,
 
1730
                                uint32_t level /* [in] */,
 
1731
                                uint8_t **buffer /* [out] [ref] */);
 
1732
 
 
1733
/************************************************************//**
 
1734
 *
 
1735
 * NetUserModalsSet
 
1736
 *
 
1737
 * @brief Set SAM domain and password information
 
1738
 *
 
1739
 * @param[in] server_name The server name to connect to
 
1740
 * @param[in] level The level defining which USER_MODALS_INFO_X buffer to query
 
1741
 * @param[out] buffer The buffer conntaing a USER_MODALS_INFO_X structure
 
1742
 * @param[out] parm_err The returned parameter error number if any
 
1743
 * @return NET_API_STATUS
 
1744
 *
 
1745
 * example user/user_modalsset.c
 
1746
 ***************************************************************/
 
1747
 
 
1748
NET_API_STATUS NetUserModalsSet(const char * server_name /* [in] */,
 
1749
                                uint32_t level /* [in] */,
 
1750
                                uint8_t *buffer /* [in] [ref] */,
 
1751
                                uint32_t *parm_err /* [out] [ref] */);
 
1752
 
 
1753
/************************************************************//**
 
1754
 *
 
1755
 * NetUserGetGroups
 
1756
 *
 
1757
 * @brief Enumerate grouplist of a user on a server
 
1758
 *
 
1759
 * @param[in] server_name The server name to connect to
 
1760
 * @param[in] user_name The user name to query
 
1761
 * @param[in] level The enumeration level used for the query (Currently only
 
1762
 * level 0 is supported)
 
1763
 * @param[out] buffer The returned enumeration buffer
 
1764
 * @param[in] prefmaxlen The requested maximal buffer size
 
1765
 * @param[out] entries_read The number of returned entries
 
1766
 * @param[out] total_entries The number of total entries
 
1767
 * @return NET_API_STATUS
 
1768
 *
 
1769
 * example user/user_getgroups.c
 
1770
 ***************************************************************/
 
1771
 
 
1772
NET_API_STATUS NetUserGetGroups(const char * server_name /* [in] */,
 
1773
                                const char * user_name /* [in] */,
 
1774
                                uint32_t level /* [in] */,
 
1775
                                uint8_t **buffer /* [out] [ref] */,
 
1776
                                uint32_t prefmaxlen /* [in] */,
 
1777
                                uint32_t *entries_read /* [out] [ref] */,
 
1778
                                uint32_t *total_entries /* [out] [ref] */);
 
1779
 
 
1780
/************************************************************//**
 
1781
 *
 
1782
 * NetUserSetGroups
 
1783
 *
 
1784
 * @brief Set grouplist of a user on a server
 
1785
 *
 
1786
 * @param[in] server_name The server name to connect to
 
1787
 * @param[in] user_name The user name to query
 
1788
 * @param[in] level The level defining the GROUP_USERS_INFO_X structures in the buffer
 
1789
 * @param[in] buffer The buffer containing GROUP_USERS_INFO_X structures
 
1790
 * @param[in] num_entries The number of X structures in the buffer
 
1791
 * @return NET_API_STATUS
 
1792
 *
 
1793
 * example user/user_setgroups.c
 
1794
 ***************************************************************/
 
1795
 
 
1796
NET_API_STATUS NetUserSetGroups(const char * server_name /* [in] */,
 
1797
                                const char * user_name /* [in] */,
 
1798
                                uint32_t level /* [in] */,
 
1799
                                uint8_t *buffer /* [in] [ref] */,
 
1800
                                uint32_t num_entries /* [in] */);
 
1801
 
 
1802
/************************************************************//**
 
1803
 *
 
1804
 * NetUserGetLocalGroups
 
1805
 *
 
1806
 * @brief Enumerate local grouplist of a user on a server
 
1807
 *
 
1808
 * @param[in] server_name The server name to connect to
 
1809
 * @param[in] user_name The user name to query
 
1810
 * @param[in] level The enumeration level used for the query
 
1811
 * @param[in] flags The flags used for the query
 
1812
 * @param[out] buffer The returned enumeration buffer
 
1813
 * @param[in] prefmaxlen The requested maximal buffer size
 
1814
 * @param[out] entries_read The number of returned entries
 
1815
 * @param[out] total_entries The number of total entries
 
1816
 * @return NET_API_STATUS
 
1817
 *
 
1818
 * example user/user_getlocalgroups.c
 
1819
 ***************************************************************/
 
1820
 
 
1821
NET_API_STATUS NetUserGetLocalGroups(const char * server_name /* [in] */,
 
1822
                                     const char * user_name /* [in] */,
 
1823
                                     uint32_t level /* [in] */,
 
1824
                                     uint32_t flags /* [in] */,
 
1825
                                     uint8_t **buffer /* [out] [ref] */,
 
1826
                                     uint32_t prefmaxlen /* [in] */,
 
1827
                                     uint32_t *entries_read /* [out] [ref] */,
 
1828
                                     uint32_t *total_entries /* [out] [ref] */);
 
1829
 
 
1830
/************************************************************//**
 
1831
 *
 
1832
 * NetQueryDisplayInformation
 
1833
 *
 
1834
 * @brief Enumerate accounts on a server
 
1835
 *
 
1836
 * @param[in] server_name The server name to connect to
 
1837
 * @param[in] level The enumeration level used for the query
 
1838
 * @param[in] idx The index to start the the display enumeration at
 
1839
 * @param[in] entries_requested The number of entries requested
 
1840
 * @param[in] prefmaxlen The requested maximal buffer size
 
1841
 * @param[out] entries_read The number of returned entries
 
1842
 * @param[out] buffer The returned display information buffer
 
1843
 * @return NET_API_STATUS
 
1844
 *
 
1845
 * example user/user_dispinfo.c
 
1846
 ***************************************************************/
 
1847
 
 
1848
NET_API_STATUS NetQueryDisplayInformation(const char * server_name /* [in] [unique] */,
 
1849
                                          uint32_t level /* [in] */,
 
1850
                                          uint32_t idx /* [in] */,
 
1851
                                          uint32_t entries_requested /* [in] */,
 
1852
                                          uint32_t prefmaxlen /* [in] */,
 
1853
                                          uint32_t *entries_read /* [out] [ref] */,
 
1854
                                          void **buffer /* [out] [noprint,ref] */);
 
1855
 
 
1856
/************************************************************//**
 
1857
 *
 
1858
 * NetGroupAdd
 
1859
 *
 
1860
 * @brief Create Domain Group
 
1861
 *
 
1862
 * @param[in] server_name The server name to connect to
 
1863
 * @param[in] level The level used for the new group creation
 
1864
 * @param[in] buf The buffer containing the group structure
 
1865
 * @param[out] parm_err The returned parameter error number if any
 
1866
 * @return NET_API_STATUS
 
1867
 *
 
1868
 * example group/group_add.c
 
1869
 ***************************************************************/
 
1870
 
 
1871
NET_API_STATUS NetGroupAdd(const char * server_name /* [in] */,
 
1872
                           uint32_t level /* [in] */,
 
1873
                           uint8_t *buf /* [in] [ref] */,
 
1874
                           uint32_t *parm_err /* [out] [ref] */);
 
1875
 
 
1876
/************************************************************//**
 
1877
 *
 
1878
 * NetGroupDel
 
1879
 *
 
1880
 * @brief Delete Domain Group
 
1881
 *
 
1882
 * @param[in] server_name The server name to connect to
 
1883
 * @param[in] group_name The name of the group that is going to be deleted
 
1884
 * @return NET_API_STATUS
 
1885
 *
 
1886
 * example group/group_del.c
 
1887
 ***************************************************************/
 
1888
 
 
1889
NET_API_STATUS NetGroupDel(const char * server_name /* [in] */,
 
1890
                           const char * group_name /* [in] */);
 
1891
 
 
1892
/************************************************************//**
 
1893
 *
 
1894
 * NetGroupEnum
 
1895
 *
 
1896
 * @brief Enumerate groups on a server
 
1897
 *
 
1898
 * @param[in] server_name The server name to connect to
 
1899
 * @param[in] level The enumeration level used for the query (Currently only
 
1900
 * level 0 is supported)
 
1901
 * @param[out] buffer The returned enumeration buffer
 
1902
 * @param[in] prefmaxlen The requested maximal buffer size
 
1903
 * @param[out] entries_read The number of returned entries
 
1904
 * @param[out] total_entries The number of total entries
 
1905
 * @param[in,out] resume_handle A handle passed in and returned for resuming
 
1906
 * operations
 
1907
 * @return NET_API_STATUS
 
1908
 *
 
1909
 * example group/group_enum.c
 
1910
 ***************************************************************/
 
1911
 
 
1912
NET_API_STATUS NetGroupEnum(const char * server_name /* [in] */,
 
1913
                            uint32_t level /* [in] */,
 
1914
                            uint8_t **buffer /* [out] [ref] */,
 
1915
                            uint32_t prefmaxlen /* [in] */,
 
1916
                            uint32_t *entries_read /* [out] [ref] */,
 
1917
                            uint32_t *total_entries /* [out] [ref] */,
 
1918
                            uint32_t *resume_handle /* [in,out] [ref] */);
 
1919
 
 
1920
/************************************************************//**
 
1921
 *
 
1922
 * NetGroupSetInfo
 
1923
 *
 
1924
 * @brief Set Domain Group Information
 
1925
 *
 
1926
 * @param[in] server_name The server name to connect to
 
1927
 * @param[in] group_name The name of the group that is going to be modified
 
1928
 * @param[in] level The level defining the structure type in buf
 
1929
 * @param[in] buf The buffer containing a GROUP_INFO_X structure
 
1930
 * @param[out] parm_err The returned parameter error number if any
 
1931
 * @return NET_API_STATUS
 
1932
 *
 
1933
 * example group/group_setinfo.c
 
1934
 ***************************************************************/
 
1935
 
 
1936
NET_API_STATUS NetGroupSetInfo(const char * server_name /* [in] */,
 
1937
                               const char * group_name /* [in] */,
 
1938
                               uint32_t level /* [in] */,
 
1939
                               uint8_t *buf /* [in] [ref] */,
 
1940
                               uint32_t *parm_err /* [out] [ref] */);
 
1941
 
 
1942
/************************************************************//**
 
1943
 *
 
1944
 * NetGroupGetInfo
 
1945
 *
 
1946
 * @brief Get Domain Group Information
 
1947
 *
 
1948
 * @param[in] server_name The server name to connect to
 
1949
 * @param[in] group_name The name of the group that is going to be queried
 
1950
 * @param[in] level The level defining the requested GROUP_INFO_X structure
 
1951
 * @param[out] buf The buffer containing a GROUP_INFO_X structure
 
1952
 * @return NET_API_STATUS
 
1953
 *
 
1954
 * example group/group_getinfo.c
 
1955
 ***************************************************************/
 
1956
 
 
1957
NET_API_STATUS NetGroupGetInfo(const char * server_name /* [in] */,
 
1958
                               const char * group_name /* [in] */,
 
1959
                               uint32_t level /* [in] */,
 
1960
                               uint8_t **buf /* [out] [ref] */);
 
1961
 
 
1962
/************************************************************//**
 
1963
 *
 
1964
 * NetGroupAddUser
 
1965
 *
 
1966
 * @brief Add existing User to existing Domain Group
 
1967
 *
 
1968
 * @param[in] server_name The server name to connect to
 
1969
 * @param[in] group_name The name of the group that is going to be modified
 
1970
 * @param[in] user_name The name of the user that is going to be added to the
 
1971
 * group
 
1972
 * @return NET_API_STATUS
 
1973
 *
 
1974
 * example group/group_adduser.c
 
1975
 ***************************************************************/
 
1976
 
 
1977
NET_API_STATUS NetGroupAddUser(const char * server_name /* [in] */,
 
1978
                               const char * group_name /* [in] */,
 
1979
                               const char * user_name /* [in] */);
 
1980
 
 
1981
/************************************************************//**
 
1982
 *
 
1983
 * NetGroupDelUser
 
1984
 *
 
1985
 * @brief Remove User from Domain Group
 
1986
 *
 
1987
 * @param[in] server_name The server name to connect to
 
1988
 * @param[in] group_name The name of the group that is going to be modified
 
1989
 * @param[in] user_name The name of the user that is going to be removed from
 
1990
 * the group
 
1991
 * @return NET_API_STATUS
 
1992
 *
 
1993
 * example group/group_deluser.c
 
1994
 ***************************************************************/
 
1995
 
 
1996
NET_API_STATUS NetGroupDelUser(const char * server_name /* [in] */,
 
1997
                               const char * group_name /* [in] */,
 
1998
                               const char * user_name /* [in] */);
 
1999
 
 
2000
/************************************************************//**
 
2001
 *
 
2002
 * NetGroupGetUsers
 
2003
 *
 
2004
 * @brief Get Users for a group on a server
 
2005
 *
 
2006
 * @param[in] server_name The server name to connect to
 
2007
 * @param[in] group_name The group name to enumerate users for
 
2008
 * @param[in] level The enumeration level used for the query
 
2009
 * @param[out] buffer The returned enumeration buffer
 
2010
 * @param[in] prefmaxlen The requested maximal buffer size
 
2011
 * @param[out] entries_read The number of returned entries
 
2012
 * @param[out] total_entries The number of total entries
 
2013
 * @param[in,out] resume_handle A handle passed in and returned for resuming
 
2014
 * operations
 
2015
 * @return NET_API_STATUS
 
2016
 *
 
2017
 * example group/group_getusers.c
 
2018
 ***************************************************************/
 
2019
 
 
2020
NET_API_STATUS NetGroupGetUsers(const char * server_name /* [in] */,
 
2021
                                const char * group_name /* [in] */,
 
2022
                                uint32_t level /* [in] */,
 
2023
                                uint8_t **buffer /* [out] [ref] */,
 
2024
                                uint32_t prefmaxlen /* [in] */,
 
2025
                                uint32_t *entries_read /* [out] [ref] */,
 
2026
                                uint32_t *total_entries /* [out] [ref] */,
 
2027
                                uint32_t *resume_handle /* [in,out] [ref] */);
 
2028
 
 
2029
/************************************************************//**
 
2030
 *
 
2031
 * NetGroupSetUsers
 
2032
 *
 
2033
 * @brief Set Users for a group on a server
 
2034
 *
 
2035
 * @param[in] server_name The server name to connect to
 
2036
 * @param[in] group_name The group name to enumerate users for
 
2037
 * @param[in] level The enumeration level used for the query
 
2038
 * @param[in] buffer The buffer containing a X structure
 
2039
 * @param[in] num_entries The number of X entries in the buffer
 
2040
 * @return NET_API_STATUS
 
2041
 *
 
2042
 * example group/group_setusers.c
 
2043
 ***************************************************************/
 
2044
 
 
2045
NET_API_STATUS NetGroupSetUsers(const char * server_name /* [in] */,
 
2046
                                const char * group_name /* [in] */,
 
2047
                                uint32_t level /* [in] */,
 
2048
                                uint8_t *buffer /* [in] [ref] */,
 
2049
                                uint32_t num_entries /* [in] */);
 
2050
 
 
2051
/************************************************************//**
 
2052
 *
 
2053
 * NetLocalGroupAdd
 
2054
 *
 
2055
 * @brief Create Local Group
 
2056
 *
 
2057
 * @param[in] server_name The server name to connect to
 
2058
 * @param[in] level The level used for the new group creation
 
2059
 * @param[in] buf The buffer containing the group structure
 
2060
 * @param[out] parm_err The returned parameter error number if any
 
2061
 * @return NET_API_STATUS
 
2062
 *
 
2063
 * example localgroup/localgroup_add.c
 
2064
 ***************************************************************/
 
2065
 
 
2066
NET_API_STATUS NetLocalGroupAdd(const char * server_name /* [in] */,
 
2067
                                uint32_t level /* [in] */,
 
2068
                                uint8_t *buf /* [in] [ref] */,
 
2069
                                uint32_t *parm_err /* [out] [ref] */);
 
2070
 
 
2071
/************************************************************//**
 
2072
 *
 
2073
 * NetLocalGroupDel
 
2074
 *
 
2075
 * @brief Delete Local Group
 
2076
 *
 
2077
 * @param[in] server_name The server name to connect to
 
2078
 * @param[in] group_name The name of the group that is going to be deleted
 
2079
 * @return NET_API_STATUS
 
2080
 *
 
2081
 * example localgroup/localgroup_del.c
 
2082
 ***************************************************************/
 
2083
 
 
2084
 
 
2085
NET_API_STATUS NetLocalGroupDel(const char * server_name /* [in] */,
 
2086
                                const char * group_name /* [in] */);
 
2087
 
 
2088
/************************************************************//**
 
2089
 *
 
2090
 * NetLocalGroupGetInfo
 
2091
 *
 
2092
 * @brief Get Local Group Information
 
2093
 *
 
2094
 * @param[in] server_name The server name to connect to
 
2095
 * @param[in] group_name The name of the group that is going to be queried
 
2096
 * @param[in] level The level defining the requested LOCALGROUP_INFO_X structure
 
2097
 * @param[out] buf The buffer containing a LOCALGROUP_INFO_X structure
 
2098
 * @return NET_API_STATUS
 
2099
 *
 
2100
 * example localgroup/localgroup_getinfo.c
 
2101
 ***************************************************************/
 
2102
 
 
2103
NET_API_STATUS NetLocalGroupGetInfo(const char * server_name /* [in] */,
 
2104
                                    const char * group_name /* [in] */,
 
2105
                                    uint32_t level /* [in] */,
 
2106
                                    uint8_t **buf /* [out] [ref] */);
 
2107
 
 
2108
/************************************************************//**
 
2109
 *
 
2110
 * NetLocalGroupSetInfo
 
2111
 *
 
2112
 * @brief Set Local Group Information
 
2113
 *
 
2114
 * @param[in] server_name The server name to connect to
 
2115
 * @param[in] group_name The name of the group that is going to be modified
 
2116
 * @param[in] level The level defining the requested LOCALGROUP_INFO_X structure
 
2117
 * @param[in] buf The buffer containing a LOCALGROUP_INFO_X structure
 
2118
 * @param[out] parm_err The returned parameter error number if any
 
2119
 * @return NET_API_STATUS
 
2120
 *
 
2121
 * example localgroup/localgroup_setinfo.c
 
2122
 ***************************************************************/
 
2123
 
 
2124
 
 
2125
NET_API_STATUS NetLocalGroupSetInfo(const char * server_name /* [in] */,
 
2126
                                    const char * group_name /* [in] */,
 
2127
                                    uint32_t level /* [in] */,
 
2128
                                    uint8_t *buf /* [in] [ref] */,
 
2129
                                    uint32_t *parm_err /* [out] [ref] */);
 
2130
 
 
2131
/************************************************************//**
 
2132
 *
 
2133
 * NetLocalGroupEnum
 
2134
 *
 
2135
 * @brief Enumerate local groups on a server
 
2136
 *
 
2137
 * @param[in] server_name The server name to connect to
 
2138
 * @param[in] level The enumeration level used for the query (Currently only
 
2139
 * level 0 is supported)
 
2140
 * @param[out] buffer The returned enumeration buffer
 
2141
 * @param[in] prefmaxlen The requested maximal buffer size
 
2142
 * @param[out] entries_read The number of returned entries
 
2143
 * @param[out] total_entries The number of total entries
 
2144
 * @param[in,out] resume_handle A handle passed in and returned for resuming
 
2145
 * operations
 
2146
 * @return NET_API_STATUS
 
2147
 *
 
2148
 * example localgroup/localgroup_enum.c
 
2149
 ***************************************************************/
 
2150
 
 
2151
NET_API_STATUS NetLocalGroupEnum(const char * server_name /* [in] */,
 
2152
                                 uint32_t level /* [in] */,
 
2153
                                 uint8_t **buffer /* [out] [ref] */,
 
2154
                                 uint32_t prefmaxlen /* [in] */,
 
2155
                                 uint32_t *entries_read /* [out] [ref] */,
 
2156
                                 uint32_t *total_entries /* [out] [ref] */,
 
2157
                                 uint32_t *resume_handle /* [in,out] [ref] */);
 
2158
 
 
2159
/************************************************************//**
 
2160
 *
 
2161
 * NetLocalGroupAddMembers
 
2162
 *
 
2163
 * @brief Add Members to a Local Group
 
2164
 *
 
2165
 * @param[in] server_name The server name to connect to
 
2166
 * @param[in] group_name The name of the group that is going to modified
 
2167
 * @param[in] level The level defining the LOCALGROUP_MEMBERS_INFO_X structure
 
2168
 * @param[in] buffer The buffer containing a LOCALGROUP_MEMBERS_INFO_X structure
 
2169
 * @param[in] total_entries The number of LOCALGROUP_MEMBERS_INFO_X entries in
 
2170
 * the buffer
 
2171
 * @return NET_API_STATUS
 
2172
 *
 
2173
 * example localgroup/localgroup_addmembers.c
 
2174
 ***************************************************************/
 
2175
 
 
2176
NET_API_STATUS NetLocalGroupAddMembers(const char * server_name /* [in] */,
 
2177
                                       const char * group_name /* [in] */,
 
2178
                                       uint32_t level /* [in] */,
 
2179
                                       uint8_t *buffer /* [in] [ref] */,
 
2180
                                       uint32_t total_entries /* [in] */);
 
2181
 
 
2182
/************************************************************//**
 
2183
 *
 
2184
 * NetLocalGroupDelMembers
 
2185
 *
 
2186
 * @brief Delete Members from a Local Group
 
2187
 *
 
2188
 * @param[in] server_name The server name to connect to
 
2189
 * @param[in] group_name The name of the group that is going to modified
 
2190
 * @param[in] level The level defining the LOCALGROUP_MEMBERS_INFO_X structure
 
2191
 * @param[in] buffer The buffer containing a LOCALGROUP_MEMBERS_INFO_X structure
 
2192
 * @param[in] total_entries The number of LOCALGROUP_MEMBERS_INFO_X entries in
 
2193
 * the buffer
 
2194
 * @return NET_API_STATUS
 
2195
 *
 
2196
 * example localgroup/localgroup_delmembers.c
 
2197
 ***************************************************************/
 
2198
 
 
2199
NET_API_STATUS NetLocalGroupDelMembers(const char * server_name /* [in] */,
 
2200
                                       const char * group_name /* [in] */,
 
2201
                                       uint32_t level /* [in] */,
 
2202
                                       uint8_t *buffer /* [in] [ref] */,
 
2203
                                       uint32_t total_entries /* [in] */);
 
2204
 
 
2205
/************************************************************//**
 
2206
 *
 
2207
 * NetLocalGroupGetMembers
 
2208
 *
 
2209
 * @brief Enumerate Members in a local group
 
2210
 *
 
2211
 * @param[in] server_name The server name to connect to
 
2212
 * @param[in] local_group_name The localgroup that is going to be queried
 
2213
 * @param[in] level The level defining the LOCALGROUP_MEMBERS_INFO_X structure
 
2214
 * @param[out] buffer The buffer containing a LOCALGROUP_MEMBERS_INFO_X
 
2215
 * structure
 
2216
 * @param[in] prefmaxlen The requested maximal buffer size
 
2217
 * @param[out] entries_read The number of LOCALGROUP_MEMBERS_INFO_X entries in the buffer
 
2218
 * @param[out] total_entries The total number of LOCALGROUP_MEMBERS_INFO_X entries for that group
 
2219
 * @param[in,out] resume_handle A handle passed in and returned for resuming
 
2220
 * operations
 
2221
 * @return NET_API_STATUS
 
2222
 *
 
2223
 * example localgroup/localgroup_getmembers.c
 
2224
 ***************************************************************/
 
2225
 
 
2226
NET_API_STATUS NetLocalGroupGetMembers(const char * server_name /* [in] */,
 
2227
                                       const char * local_group_name /* [in] */,
 
2228
                                       uint32_t level /* [in] */,
 
2229
                                       uint8_t **buffer /* [out] [ref] */,
 
2230
                                       uint32_t prefmaxlen /* [in] */,
 
2231
                                       uint32_t *entries_read /* [out] [ref] */,
 
2232
                                       uint32_t *total_entries /* [out] [ref] */,
 
2233
                                       uint32_t *resume_handle /* [in,out] [ref] */);
 
2234
 
 
2235
/************************************************************//**
 
2236
 *
 
2237
 * NetLocalGroupSetMembers
 
2238
 *
 
2239
 * @brief Set Members in a Local Group
 
2240
 *
 
2241
 * @param[in] server_name The server name to connect to
 
2242
 * @param[in] group_name The name of the group that is going to modified
 
2243
 * @param[in] level The level defining the LOCALGROUP_MEMBERS_INFO_X structure
 
2244
 * @param[in] buffer The buffer containing a LOCALGROUP_MEMBERS_INFO_X structure
 
2245
 * @param[in] total_entries The number of LOCALGROUP_MEMBERS_INFO_X entries in
 
2246
 * the buffer
 
2247
 * @return NET_API_STATUS
 
2248
 *
 
2249
 * example localgroup/localgroup_setmembers.c
 
2250
 ***************************************************************/
 
2251
 
 
2252
NET_API_STATUS NetLocalGroupSetMembers(const char * server_name /* [in] */,
 
2253
                                       const char * group_name /* [in] */,
 
2254
                                       uint32_t level /* [in] */,
 
2255
                                       uint8_t *buffer /* [in] [ref] */,
 
2256
                                       uint32_t total_entries /* [in] */);
 
2257
 
 
2258
/************************************************************//**
 
2259
 *
 
2260
 * NetRemoteTOD
 
2261
 *
 
2262
 * @brief Query remote Time of Day
 
2263
 *
 
2264
 * @param[in] server_name The server name to connect to
 
2265
 * @param[out] buf The buffer containing a TIME_OF_DAY_INFO structure
 
2266
 * @return NET_API_STATUS
 
2267
 *
 
2268
 * example server/remote_tod.c
 
2269
 ***************************************************************/
 
2270
 
 
2271
NET_API_STATUS NetRemoteTOD(const char * server_name /* [in] */,
 
2272
                            uint8_t **buf /* [out] [ref] */);
 
2273
 
 
2274
/************************************************************//**
 
2275
 *
 
2276
 * NetShareAdd
 
2277
 *
 
2278
 * @brief Add Share
 
2279
 *
 
2280
 * @param[in] server_name The server name to connect to
 
2281
 * @param[in] level The level defining the requested SHARE_INFO_X structure
 
2282
 * @param[in] buffer The buffer containing a SHARE_INFO_X structure
 
2283
 * @param[out] parm_err The returned parameter error number if any
 
2284
 * @return NET_API_STATUS
 
2285
 *
 
2286
 * example share/share_add.c
 
2287
 ***************************************************************/
 
2288
 
 
2289
NET_API_STATUS NetShareAdd(const char * server_name /* [in] */,
 
2290
                           uint32_t level /* [in] */,
 
2291
                           uint8_t *buffer /* [in] [ref] */,
 
2292
                           uint32_t *parm_err /* [out] [ref] */);
 
2293
 
 
2294
/************************************************************//**
 
2295
 *
 
2296
 * NetShareDel
 
2297
 *
 
2298
 * @brief Delete Share
 
2299
 *
 
2300
 * @param[in] server_name The server name to connect to
 
2301
 * @param[in] net_name The name of the share to delete
 
2302
 * @param[in] reserved
 
2303
 * @return NET_API_STATUS
 
2304
 *
 
2305
 * example share/share_del.c
 
2306
 ***************************************************************/
 
2307
 
 
2308
NET_API_STATUS NetShareDel(const char * server_name /* [in] */,
 
2309
                           const char * net_name /* [in] */,
 
2310
                           uint32_t reserved /* [in] */);
 
2311
 
 
2312
/************************************************************//**
 
2313
 *
 
2314
 * NetShareEnum
 
2315
 *
 
2316
 * @brief Enumerate Shares
 
2317
 *
 
2318
 * @param[in] server_name The server name to connect to
 
2319
 * @param[in] level The level defining the SHARE_INFO_X structure
 
2320
 * @param[out] buffer The buffer containing a SHARE_INFO_X structure
 
2321
 * @param[in] prefmaxlen The requested maximal buffer size
 
2322
 * @param[out] entries_read The number of SHARE_INFO_X entries in the buffer
 
2323
 * @param[out] total_entries The total number of SHARE_INFO_X entries
 
2324
 * @param[in,out] resume_handle A handle passed in and returned for resuming
 
2325
 * operations
 
2326
 * @return NET_API_STATUS
 
2327
 *
 
2328
 * example share/share_enum.c
 
2329
 ***************************************************************/
 
2330
 
 
2331
NET_API_STATUS NetShareEnum(const char * server_name /* [in] */,
 
2332
                            uint32_t level /* [in] */,
 
2333
                            uint8_t **buffer /* [out] [ref] */,
 
2334
                            uint32_t prefmaxlen /* [in] */,
 
2335
                            uint32_t *entries_read /* [out] [ref] */,
 
2336
                            uint32_t *total_entries /* [out] [ref] */,
 
2337
                            uint32_t *resume_handle /* [in,out] [ref] */);
 
2338
 
 
2339
/************************************************************//**
 
2340
 *
 
2341
 * NetShareGetInfo
 
2342
 *
 
2343
 * @brief Get Share Info
 
2344
 *
 
2345
 * @param[in] server_name The server name to connect to
 
2346
 * @param[in] net_name The name of the share to query
 
2347
 * @param[in] level The level defining the SHARE_INFO_X structure
 
2348
 * @param[out] buffer The buffer containing a SHARE_INFO_X structure
 
2349
 * @return NET_API_STATUS
 
2350
 *
 
2351
 * example share/share_getinfo.c
 
2352
 ***************************************************************/
 
2353
 
 
2354
NET_API_STATUS NetShareGetInfo(const char * server_name /* [in] */,
 
2355
                               const char * net_name /* [in] */,
 
2356
                               uint32_t level /* [in] */,
 
2357
                               uint8_t **buffer /* [out] [ref] */);
 
2358
 
 
2359
/************************************************************//**
 
2360
 *
 
2361
 * NetShareSetInfo
 
2362
 *
 
2363
 * @brief Set Share Info
 
2364
 *
 
2365
 * @param[in] server_name The server name to connect to
 
2366
 * @param[in] net_name The name of the share to query
 
2367
 * @param[in] level The level defining the SHARE_INFO_X structure
 
2368
 * @param[in] buffer The buffer containing a SHARE_INFO_X structure
 
2369
 * @param[out] parm_err The returned parameter error number if any
 
2370
 * @return NET_API_STATUS
 
2371
 *
 
2372
 * example share/share_setinfo.c
 
2373
 ***************************************************************/
 
2374
 
 
2375
NET_API_STATUS NetShareSetInfo(const char * server_name /* [in] */,
 
2376
                               const char * net_name /* [in] */,
 
2377
                               uint32_t level /* [in] */,
 
2378
                               uint8_t *buffer /* [in] [ref] */,
 
2379
                               uint32_t *parm_err /* [out] [ref] */);
 
2380
 
 
2381
/************************************************************//**
 
2382
 *
 
2383
 * NetFileClose
 
2384
 *
 
2385
 * @brief Close a file
 
2386
 *
 
2387
 * @param[in] server_name The server name to connect to
 
2388
 * @param[in] fileid The fileid of the file that is going to be closed
 
2389
 * @return NET_API_STATUS
 
2390
 *
 
2391
 * example file/file_close.c
 
2392
 ***************************************************************/
 
2393
 
 
2394
NET_API_STATUS NetFileClose(const char * server_name /* [in] */,
 
2395
                            uint32_t fileid /* [in] */);
 
2396
 
 
2397
/************************************************************//**
 
2398
 *
 
2399
 * NetFileGetInfo
 
2400
 *
 
2401
 * @brief Close a file
 
2402
 *
 
2403
 * @param[in] server_name The server name to connect to
 
2404
 * @param[in] fileid The fileid of the file that is going to be closed
 
2405
 * @param[in] level The level of the FILE_INFO_X buffer
 
2406
 * @param[out] buffer The buffer containing a FILE_INFO_X structure
 
2407
 * @return NET_API_STATUS
 
2408
 *
 
2409
 * example file/file_getinfo.c
 
2410
 ***************************************************************/
 
2411
 
 
2412
NET_API_STATUS NetFileGetInfo(const char * server_name /* [in] */,
 
2413
                              uint32_t fileid /* [in] */,
 
2414
                              uint32_t level /* [in] */,
 
2415
                              uint8_t **buffer /* [out] [ref] */);
 
2416
 
 
2417
/************************************************************//**
 
2418
 *
 
2419
 * NetFileEnum
 
2420
 *
 
2421
 * @brief Enumerate Files
 
2422
 *
 
2423
 * @param[in] server_name The server name to connect to
 
2424
 * @param[in] base_path The
 
2425
 * @param[in] user_name The
 
2426
 * @param[in] level The level defining the FILE_INFO_X structure
 
2427
 * @param[out] buffer The buffer containing a FILE_INFO_X structure
 
2428
 * @param[in] prefmaxlen The requested maximal buffer size
 
2429
 * @param[out] entries_read The number of FILE_INFO_X entries in the buffer
 
2430
 * @param[out] total_entries The total number of FILE_INFO_X entries
 
2431
 * @param[in,out] resume_handle A handle passed in and returned for resuming
 
2432
 * operations
 
2433
 * @return NET_API_STATUS
 
2434
 *
 
2435
 * example file/file_enum.c
 
2436
 ***************************************************************/
 
2437
 
 
2438
NET_API_STATUS NetFileEnum(const char * server_name /* [in] */,
 
2439
                           const char * base_path /* [in] */,
 
2440
                           const char * user_name /* [in] */,
 
2441
                           uint32_t level /* [in] */,
 
2442
                           uint8_t **buffer /* [out] [ref] */,
 
2443
                           uint32_t prefmaxlen /* [in] */,
 
2444
                           uint32_t *entries_read /* [out] [ref] */,
 
2445
                           uint32_t *total_entries /* [out] [ref] */,
 
2446
                           uint32_t *resume_handle /* [in,out] [ref] */);
 
2447
 
 
2448
/************************************************************//**
 
2449
 *
 
2450
 * NetShutdownInit
 
2451
 *
 
2452
 * @brief Start a machine shutdown
 
2453
 *
 
2454
 * @param[in] server_name The server name to connect to
 
2455
 * @param[in] message The message that is displayed before the shutdown
 
2456
 * @param[in] timeout The amount of seconds to wait until shutting down
 
2457
 * @param[in] force_apps Whether to close all applications before the shutdown
 
2458
 * @param[in] do_reboot Whether to reboot after the shutdown
 
2459
 * @return NET_API_STATUS
 
2460
 *
 
2461
 * example shutdown/shutdown_init.c
 
2462
 ***************************************************************/
 
2463
 
 
2464
NET_API_STATUS NetShutdownInit(const char * server_name /* [in] */,
 
2465
                               const char * message /* [in] */,
 
2466
                               uint32_t timeout /* [in] */,
 
2467
                               uint8_t force_apps /* [in] */,
 
2468
                               uint8_t do_reboot /* [in] */);
 
2469
 
 
2470
/************************************************************//**
 
2471
 *
 
2472
 * NetShutdownAbort
 
2473
 *
 
2474
 * @brief Abort an initiated machine shutdown
 
2475
 *
 
2476
 * @param[in] server_name The server name to connect to
 
2477
 * @return NET_API_STATUS
 
2478
 *
 
2479
 * example shutdown/shutdown_abort.c
 
2480
 ***************************************************************/
 
2481
 
 
2482
NET_API_STATUS NetShutdownAbort(const char * server_name /* [in] */);
 
2483
 
 
2484
#ifdef __cplusplus
 
2485
}
 
2486
#endif /* __cplusplus */
 
2487
 
 
2488
#endif /* __LIB_NETAPI_H__ */