1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7  * Source: $(DRUNTIMESRC core/sys/windows/_lmaudit.d)
8  */
9 // COMMENT: This file may be deprecated.
10 /// Automatically imported and edited from the druntime module
11 /// core.sys.windows.lmaudit for the auto-generated win32 package.
12 module win32.lmaudit;
13 //version (Windows):
14 @system:
15 
16 import win32.lmcons, win32.windef;
17 
18 enum LOGFLAGS_FORWARD  = 0;
19 enum LOGFLAGS_BACKWARD = 1;
20 enum LOGFLAGS_SEEK     = 2;
21 
22 enum ACTION_LOCKOUT     = 0;
23 enum ACTION_ADMINUNLOCK = 1;
24 
25 enum AE_GUEST=0;
26 enum AE_USER=1;
27 enum AE_ADMIN=2;
28 enum AE_NORMAL=0;
29 enum AE_USERLIMIT=0;
30 enum AE_GENERAL=0;
31 enum AE_ERROR=1;
32 enum AE_SESSDIS=1;
33 enum AE_BADPW=1;
34 enum AE_AUTODIS=2;
35 enum AE_UNSHARE=2;
36 enum AE_ADMINPRIVREQD=2;
37 enum AE_ADMINDIS=3;
38 enum AE_NOACCESSPERM=3;
39 enum AE_ACCRESTRICT=4;
40 enum AE_NORMAL_CLOSE=0;
41 enum AE_SES_CLOSE=1;
42 enum AE_ADMIN_CLOSE=2;
43 enum AE_LIM_UNKNOWN=0;
44 enum AE_LIM_LOGONHOURS=1;
45 enum AE_LIM_EXPIRED=2;
46 enum AE_LIM_INVAL_WKSTA=3;
47 enum AE_LIM_DISABLED=4;
48 enum AE_LIM_DELETED=5;
49 enum AE_MOD=0;
50 enum AE_DELETE=1;
51 enum AE_ADD=2;
52 
53 enum AE_UAS_USER   = 0;
54 enum AE_UAS_GROUP  = 1;
55 enum AE_UAS_MODALS = 2;
56 
57 enum SVAUD_SERVICE       = 1;
58 enum SVAUD_GOODSESSLOGON = 6;
59 enum SVAUD_BADSESSLOGON  = 24;
60 enum SVAUD_SESSLOGON     = SVAUD_GOODSESSLOGON|SVAUD_BADSESSLOGON;
61 enum SVAUD_GOODNETLOGON  = 96;
62 enum SVAUD_BADNETLOGON   = 384;
63 enum SVAUD_NETLOGON      = SVAUD_GOODNETLOGON|SVAUD_BADNETLOGON;
64 enum SVAUD_LOGON         = SVAUD_NETLOGON|SVAUD_SESSLOGON;
65 enum SVAUD_GOODUSE       = 0x600;
66 enum SVAUD_BADUSE        = 0x1800;
67 enum SVAUD_USE           = SVAUD_GOODUSE|SVAUD_BADUSE;
68 enum SVAUD_USERLIST      = 8192;
69 enum SVAUD_PERMISSIONS   = 16384;
70 enum SVAUD_RESOURCE      = 32768;
71 enum SVAUD_LOGONLIM      = 65536;
72 
73 enum AA_AUDIT_ALL=1;
74 enum AA_A_OWNER=4;
75 enum AA_CLOSE=8;
76 enum AA_S_OPEN=16;
77 enum AA_S_WRITE=32;
78 enum AA_S_CREATE=32;
79 enum AA_S_DELETE=64;
80 enum AA_S_ACL=128;
81 enum AA_S_ALL=253;
82 enum AA_F_OPEN=256;
83 enum AA_F_WRITE=512;
84 enum AA_F_CREATE=512;
85 enum AA_F_DELETE=1024;
86 enum AA_F_ACL=2048;
87 enum AA_F_ALL = AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL;
88 enum AA_A_OPEN=2048;
89 enum AA_A_WRITE=4096;
90 enum AA_A_CREATE=8192;
91 enum AA_A_DELETE=16384;
92 enum AA_A_ACL=32768;
93 enum AA_A_ALL = AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL;
94 
95 struct AUDIT_ENTRY{
96     DWORD ae_len;
97     DWORD ae_reserved;
98     DWORD ae_time;
99     DWORD ae_type;
100     DWORD ae_data_offset;
101     DWORD ae_data_size;
102 }
103 alias AUDIT_ENTRY* PAUDIT_ENTRY, LPAUDIT_ENTRY;
104 
105 struct HLOG{
106     DWORD time;
107     DWORD last_flags;
108     DWORD offset;
109     DWORD rec_offset;
110 }
111 alias HLOG* PHLOG, LPHLOG;
112 
113 struct AE_SRVSTATUS{
114     DWORD ae_sv_status;
115 }
116 alias AE_SRVSTATUS* PAE_SRVSTATUS, LPAE_SRVSTATUS;
117 
118 struct AE_SESSLOGON{
119     DWORD ae_so_compname;
120     DWORD ae_so_username;
121     DWORD ae_so_privilege;
122 }
123 alias AE_SESSLOGON* PAE_SESSLOGON, LPAE_SESSLOGON;
124 
125 struct AE_SESSLOGOFF{
126     DWORD ae_sf_compname;
127     DWORD ae_sf_username;
128     DWORD ae_sf_reason;
129 }
130 alias AE_SESSLOGOFF* PAE_SESSLOGOFF, LPAE_SESSLOGOFF;
131 
132 struct AE_SESSPWERR{
133     DWORD ae_sp_compname;
134     DWORD ae_sp_username;
135 }
136 alias AE_SESSPWERR* PAE_SESSPWERR, LPAE_SESSPWERR;
137 
138 struct AE_CONNSTART{
139     DWORD ae_ct_compname;
140     DWORD ae_ct_username;
141     DWORD ae_ct_netname;
142     DWORD ae_ct_connid;
143 }
144 alias AE_CONNSTART* PAE_CONNSTART, LPAE_CONNSTART;
145 
146 struct AE_CONNSTOP{
147     DWORD ae_cp_compname;
148     DWORD ae_cp_username;
149     DWORD ae_cp_netname;
150     DWORD ae_cp_connid;
151     DWORD ae_cp_reason;
152 }
153 alias AE_CONNSTOP* PAE_CONNSTOP, LPAE_CONNSTOP;
154 
155 struct AE_CONNREJ{
156     DWORD ae_cr_compname;
157     DWORD ae_cr_username;
158     DWORD ae_cr_netname;
159     DWORD ae_cr_reason;
160 }
161 alias AE_CONNREJ* PAE_CONNREJ, LPAE_CONNREJ;
162 
163 struct AE_RESACCESS{
164     DWORD ae_ra_compname;
165     DWORD ae_ra_username;
166     DWORD ae_ra_resname;
167     DWORD ae_ra_operation;
168     DWORD ae_ra_returncode;
169     DWORD ae_ra_restype;
170     DWORD ae_ra_fileid;
171 }
172 alias AE_RESACCESS* PAE_RESACCESS, LPAE_RESACCESS;
173 
174 struct AE_RESACCESSREJ{
175     DWORD ae_rr_compname;
176     DWORD ae_rr_username;
177     DWORD ae_rr_resname;
178     DWORD ae_rr_operation;
179 }
180 alias AE_RESACCESSREJ* PAE_RESACCESSREJ, LPAE_RESACCESSREJ;
181 
182 struct AE_CLOSEFILE{
183     DWORD ae_cf_compname;
184     DWORD ae_cf_username;
185     DWORD ae_cf_resname;
186     DWORD ae_cf_fileid;
187     DWORD ae_cf_duration;
188     DWORD ae_cf_reason;
189 }
190 alias AE_CLOSEFILE* PAE_CLOSEFILE, LPAE_CLOSEFILE;
191 
192 struct AE_SERVICESTAT{
193     DWORD ae_ss_compname;
194     DWORD ae_ss_username;
195     DWORD ae_ss_svcname;
196     DWORD ae_ss_status;
197     DWORD ae_ss_code;
198     DWORD ae_ss_text;
199     DWORD ae_ss_returnval;
200 }
201 alias AE_SERVICESTAT* PAE_SERVICESTAT, LPAE_SERVICESTAT;
202 
203 struct AE_ACLMOD{
204     DWORD ae_am_compname;
205     DWORD ae_am_username;
206     DWORD ae_am_resname;
207     DWORD ae_am_action;
208     DWORD ae_am_datalen;
209 }
210 alias AE_ACLMOD* PAE_ACLMOD, LPAE_ACLMOD;
211 
212 struct AE_UASMOD{
213     DWORD ae_um_compname;
214     DWORD ae_um_username;
215     DWORD ae_um_resname;
216     DWORD ae_um_rectype;
217     DWORD ae_um_action;
218     DWORD ae_um_datalen;
219 }
220 alias AE_UASMOD* PAE_UASMOD, LPAE_UASMOD;
221 
222 struct AE_NETLOGON{
223     DWORD ae_no_compname;
224     DWORD ae_no_username;
225     DWORD ae_no_privilege;
226     DWORD ae_no_authflags;
227 }
228 alias AE_NETLOGON* PAE_NETLOGON, LPAE_NETLOGON;
229 
230 struct AE_NETLOGOFF{
231     DWORD ae_nf_compname;
232     DWORD ae_nf_username;
233     DWORD ae_nf_reserved1;
234     DWORD ae_nf_reserved2;
235 }
236 alias AE_NETLOGOFF* PAE_NETLOGOFF, LPAE_NETLOGOFF;
237 
238 struct AE_ACCLIM{
239     DWORD ae_al_compname;
240     DWORD ae_al_username;
241     DWORD ae_al_resname;
242     DWORD ae_al_limit;
243 }
244 alias AE_ACCLIM* PAE_ACCLIM, LPAE_ACCLIM;
245 
246 struct AE_LOCKOUT{
247     DWORD ae_lk_compname;
248     DWORD ae_lk_username;
249     DWORD ae_lk_action;
250     DWORD ae_lk_bad_pw_count;
251 }
252 alias AE_LOCKOUT* PAE_LOCKOUT, LPAE_LOCKOUT;
253 
254 struct AE_GENERIC{
255     DWORD ae_ge_msgfile;
256     DWORD ae_ge_msgnum;
257     DWORD ae_ge_params;
258     DWORD ae_ge_param1;
259     DWORD ae_ge_param2;
260     DWORD ae_ge_param3;
261     DWORD ae_ge_param4;
262     DWORD ae_ge_param5;
263     DWORD ae_ge_param6;
264     DWORD ae_ge_param7;
265     DWORD ae_ge_param8;
266     DWORD ae_ge_param9;
267 }
268 alias AE_GENERIC* PAE_GENERIC, LPAE_GENERIC;
269 
270 extern (Windows) {
271 deprecated {
272 NET_API_STATUS NetAuditClear(LPCWSTR,LPCWSTR,LPCWSTR);
273 NET_API_STATUS NetAuditRead(LPTSTR,LPTSTR,LPHLOG,DWORD,PDWORD,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD);
274 NET_API_STATUS NetAuditWrite(DWORD,PBYTE,DWORD,LPTSTR,PBYTE);
275 }
276 }
277 
278 /+
279 /* MinGW: These conflict with struct typedefs, why? */
280 enum AE_SRVSTATUS=0;
281 enum AE_SESSLOGON=1;
282 enum AE_SESSLOGOFF=2;
283 enum AE_SESSPWERR=3;
284 enum AE_CONNSTART=4;
285 enum AE_CONNSTOP=5;
286 enum AE_CONNREJ=6;
287 enum AE_RESACCESS=7;
288 enum AE_RESACCESSREJ=8;
289 enum AE_CLOSEFILE=9;
290 enum AE_SERVICESTAT=11;
291 enum AE_ACLMOD=12;
292 enum AE_UASMOD=13;
293 enum AE_NETLOGON=14;
294 enum AE_NETLOGOFF=15;
295 enum AE_NETLOGDENIED=16;
296 enum AE_ACCLIMITEXCD=17;
297 enum AE_RESACCESS2=18;
298 enum AE_ACLMODFAIL=19;
299 enum AE_LOCKOUT=20;
300 enum AE_GENERIC_TYPE=21;
301 enum AE_SRVSTART=0;
302 enum AE_SRVPAUSED=1;
303 enum AE_SRVCONT=2;
304 enum AE_SRVSTOP=3;
305 +/