OSDN Git Service

Redo the filters based on assumptions discussed in mingw-dvlpr list.
[mingw/mingw-org-wsl.git] / include / lmaudit.h
1 /**
2  * @file lmaudit.h
3  * @copy 2012 MinGW.org project
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  * 
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  * 
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 #ifndef _LMAUDIT_H
25 #define _LMAUDIT_H
26 #pragma GCC system_header
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 #define REVISED_AUDIT_ENTRY_STRUCT
32 #define LOGFLAGS_FORWARD 0
33 #define LOGFLAGS_BACKWARD 1
34 #define LOGFLAGS_SEEK 2
35 #define ACTION_LOCKOUT 0
36 #define ACTION_ADMINUNLOCK 1
37 #define AE_GUEST 0
38 #define AE_USER 1
39 #define AE_ADMIN 2
40 #define AE_NORMAL 0
41 #define AE_USERLIMIT 0
42 #define AE_GENERAL 0
43 #define AE_ERROR 1
44 #define AE_SESSDIS 1
45 #define AE_BADPW 1
46 #define AE_AUTODIS 2
47 #define AE_UNSHARE 2
48 #define AE_ADMINPRIVREQD 2
49 #define AE_ADMINDIS 3
50 #define AE_NOACCESSPERM 3
51 #define AE_ACCRESTRICT 4
52 #define AE_NORMAL_CLOSE 0
53 #define AE_SES_CLOSE 1
54 #define AE_ADMIN_CLOSE 2
55 #define AE_LIM_UNKNOWN 0
56 #define AE_LIM_LOGONHOURS 1
57 #define AE_LIM_EXPIRED 2
58 #define AE_LIM_INVAL_WKSTA 3
59 #define AE_LIM_DISABLED 4
60 #define AE_LIM_DELETED 5
61 #define AE_MOD 0
62 #define AE_DELETE 1
63 #define AE_ADD 2
64 #define AE_UAS_USER 0
65 #define AE_UAS_GROUP 1
66 #define AE_UAS_MODALS 2
67 #define SVAUD_SERVICE  1
68 #define SVAUD_GOODSESSLOGON 6
69 #define SVAUD_BADSESSLOGON 24
70 #define SVAUD_SESSLOGON (SVAUD_GOODSESSLOGON|SVAUD_BADSESSLOGON)
71 #define SVAUD_GOODNETLOGON 96
72 #define SVAUD_BADNETLOGON 384
73 #define SVAUD_NETLOGON (SVAUD_GOODNETLOGON|SVAUD_BADNETLOGON)
74 #define SVAUD_LOGON (SVAUD_NETLOGON|SVAUD_SESSLOGON)
75 #define SVAUD_GOODUSE 0x600
76 #define SVAUD_BADUSE 0x1800
77 #define SVAUD_USE (SVAUD_GOODUSE|SVAUD_BADUSE)
78 #define SVAUD_USERLIST 8192
79 #define SVAUD_PERMISSIONS 16384
80 #define SVAUD_RESOURCE 32768
81 #define SVAUD_LOGONLIM 65536
82 #define AA_AUDIT_ALL 1
83 #define AA_A_OWNER 4
84 #define AA_CLOSE 8
85 #define AA_S_OPEN 16
86 #define AA_S_WRITE 32
87 #define AA_S_CREATE 32
88 #define AA_S_DELETE 64
89 #define AA_S_ACL 128
90 #define AA_S_ALL 253
91 #define AA_F_OPEN 256
92 #define AA_F_WRITE 512
93 #define AA_F_CREATE 512
94 #define AA_F_DELETE 1024
95 #define AA_F_ACL 2048
96 #define AA_F_ALL (AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL)
97 #define AA_A_OPEN 2048
98 #define AA_A_WRITE 4096
99 #define AA_A_CREATE 8192
100 #define AA_A_DELETE 16384
101 #define AA_A_ACL 32768
102 #define AA_A_ALL (AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL)
103 typedef struct _AUDIT_ENTRY {
104         DWORD ae_len;
105         DWORD ae_reserved;
106         DWORD ae_time;
107         DWORD ae_type;
108         DWORD ae_data_offset;
109         DWORD ae_data_size;
110 } AUDIT_ENTRY,*PAUDIT_ENTRY,*LPAUDIT_ENTRY;
111 typedef struct _HLOG {
112         DWORD time;
113         DWORD last_flags;
114         DWORD offset;
115         DWORD rec_offset;
116 } HLOG,*PHLOG,*LPHLOG;
117 typedef struct _AE_SRVSTATUS {
118         DWORD ae_sv_status;
119 } AE_SRVSTATUS,*PAE_SRVSTATUS,*LPAE_SRVSTATUS;
120 typedef struct _AE_SESSLOGON {
121         DWORD ae_so_compname;
122         DWORD ae_so_username;
123         DWORD ae_so_privilege;
124 } AE_SESSLOGON,*PAE_SESSLOGON,*LPAE_SESSLOGON;
125 typedef struct _AE_SESSLOGOFF {
126         DWORD ae_sf_compname;
127         DWORD ae_sf_username;
128         DWORD ae_sf_reason;
129 } AE_SESSLOGOFF,*PAE_SESSLOGOFF,*LPAE_SESSLOGOFF;
130 typedef struct _AE_SESSPWERR {
131         DWORD ae_sp_compname;
132         DWORD ae_sp_username;
133 } AE_SESSPWERR,*PAE_SESSPWERR,*LPAE_SESSPWERR;
134 typedef struct _AE_CONNSTART {
135         DWORD ae_ct_compname;
136         DWORD ae_ct_username;
137         DWORD ae_ct_netname;
138         DWORD ae_ct_connid;
139 } AE_CONNSTART,*PAE_CONNSTART,*LPAE_CONNSTART;
140 typedef struct _AE_CONNSTOP {
141         DWORD ae_cp_compname;
142         DWORD ae_cp_username;
143         DWORD ae_cp_netname;
144         DWORD ae_cp_connid;
145         DWORD ae_cp_reason;
146 } AE_CONNSTOP,*PAE_CONNSTOP,*LPAE_CONNSTOP;
147 typedef struct _AE_CONNREJ {
148         DWORD ae_cr_compname;
149         DWORD ae_cr_username;
150         DWORD ae_cr_netname;
151         DWORD ae_cr_reason;
152 } AE_CONNREJ,*PAE_CONNREJ,*LPAE_CONNREJ;
153 typedef struct _AE_RESACCESS {
154         DWORD ae_ra_compname;
155         DWORD ae_ra_username;
156         DWORD ae_ra_resname;
157         DWORD ae_ra_operation;
158         DWORD ae_ra_returncode;
159         DWORD ae_ra_restype;
160         DWORD ae_ra_fileid;
161 } AE_RESACCESS,*PAE_RESACCESS,*LPAE_RESACCESS;
162 typedef struct _AE_RESACCESSREJ {
163         DWORD ae_rr_compname;
164         DWORD ae_rr_username;
165         DWORD ae_rr_resname;
166         DWORD ae_rr_operation;
167 } AE_RESACCESSREJ,*PAE_RESACCESSREJ,*LPAE_RESACCESSREJ;
168 typedef struct _AE_CLOSEFILE {
169         DWORD ae_cf_compname;
170         DWORD ae_cf_username;
171         DWORD ae_cf_resname;
172         DWORD ae_cf_fileid;
173         DWORD ae_cf_duration;
174         DWORD ae_cf_reason;
175 } AE_CLOSEFILE,*PAE_CLOSEFILE,*LPAE_CLOSEFILE;
176 typedef struct _AE_SERVICESTAT {
177         DWORD ae_ss_compname;
178         DWORD ae_ss_username;
179         DWORD ae_ss_svcname;
180         DWORD ae_ss_status;
181         DWORD ae_ss_code;
182         DWORD ae_ss_text;
183         DWORD ae_ss_returnval;
184 } AE_SERVICESTAT,*PAE_SERVICESTAT,*LPAE_SERVICESTAT;
185 typedef struct _AE_ACLMOD {
186         DWORD ae_am_compname;
187         DWORD ae_am_username;
188         DWORD ae_am_resname;
189         DWORD ae_am_action;
190         DWORD ae_am_datalen;
191 } AE_ACLMOD,*PAE_ACLMOD,*LPAE_ACLMOD;
192 typedef struct _AE_UASMOD {
193         DWORD ae_um_compname;
194         DWORD ae_um_username;
195         DWORD ae_um_resname;
196         DWORD ae_um_rectype;
197         DWORD ae_um_action;
198         DWORD ae_um_datalen;
199 } AE_UASMOD,*PAE_UASMOD,*LPAE_UASMOD;
200 typedef struct _AE_NETLOGON {
201         DWORD ae_no_compname;
202         DWORD ae_no_username;
203         DWORD ae_no_privilege;
204         DWORD ae_no_authflags;
205 } AE_NETLOGON,*PAE_NETLOGON,*LPAE_NETLOGON;
206 typedef struct _AE_NETLOGOFF {
207         DWORD ae_nf_compname;
208         DWORD ae_nf_username;
209         DWORD ae_nf_reserved1;
210         DWORD ae_nf_reserved2;
211 } AE_NETLOGOFF,*PAE_NETLOGOFF,*LPAE_NETLOGOFF;
212 typedef struct _AE_ACCLIM {
213         DWORD ae_al_compname;
214         DWORD ae_al_username;
215         DWORD ae_al_resname;
216         DWORD ae_al_limit;
217 } AE_ACCLIM,*PAE_ACCLIM,*LPAE_ACCLIM;
218 typedef struct _AE_LOCKOUT {
219         DWORD ae_lk_compname;
220         DWORD ae_lk_username;
221         DWORD ae_lk_action;
222         DWORD ae_lk_bad_pw_count;
223 } AE_LOCKOUT,*PAE_LOCKOUT,*LPAE_LOCKOUT;
224 typedef struct _AE_GENERIC {
225         DWORD ae_ge_msgfile;
226         DWORD ae_ge_msgnum;
227         DWORD ae_ge_params;
228         DWORD ae_ge_param1;
229         DWORD ae_ge_param2;
230         DWORD ae_ge_param3;
231         DWORD ae_ge_param4;
232         DWORD ae_ge_param5;
233         DWORD ae_ge_param6;
234         DWORD ae_ge_param7;
235         DWORD ae_ge_param8;
236         DWORD ae_ge_param9;
237 } AE_GENERIC,*PAE_GENERIC,*LPAE_GENERIC;
238 NET_API_STATUS WINAPI NetAuditClear(LPCWSTR,LPCWSTR,LPCWSTR); 
239 NET_API_STATUS WINAPI NetAuditRead(LPTSTR,LPTSTR,LPHLOG,DWORD,PDWORD,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD);
240 NET_API_STATUS WINAPI NetAuditWrite(DWORD,PBYTE,DWORD,LPTSTR,PBYTE);
241
242 /* These conflict with struct typedefs, why? */
243 #define AE_SRVSTATUS 0
244 #define AE_SESSLOGON 1
245 #define AE_SESSLOGOFF 2
246 #define AE_SESSPWERR 3
247 #define AE_CONNSTART 4
248 #define AE_CONNSTOP 5
249 #define AE_CONNREJ 6
250 #define AE_RESACCESS 7
251 #define AE_RESACCESSREJ 8
252 #define AE_CLOSEFILE 9
253 #define AE_SERVICESTAT 11
254 #define AE_ACLMOD 12
255 #define AE_UASMOD 13
256 #define AE_NETLOGON 14
257 #define AE_NETLOGOFF 15
258 #define AE_NETLOGDENIED 16
259 #define AE_ACCLIMITEXCD 17
260 #define AE_RESACCESS2 18
261 #define AE_ACLMODFAIL 19
262 #define AE_LOCKOUT 20
263 #define AE_GENERIC_TYPE 21
264 #define AE_SRVSTART 0
265 #define AE_SRVPAUSED 1
266 #define AE_SRVCONT 2
267 #define AE_SRVSTOP 3
268 #ifdef __cplusplus
269 }
270 #endif
271 #endif