Fix misplaced STDCALL calling convention specifiers.
[reactos.git] / reactos / ntoskrnl / fs / notify.c
1 /* $Id: notify.c,v 1.13 2004/08/21 20:38:53 tamlin Exp $
2 *
3 * reactos/ntoskrnl/fs/notify.c
4 *
5 */
6
7 #include <ntoskrnl.h>
8 #define NDEBUG
9 #include <internal/debug.h>
10
11 /**********************************************************************
12 * NAME EXPORTED
13 * FsRtlNotifyChangeDirectory@28
14 *
15 * DESCRIPTION
16 *
17 * ARGUMENTS
18 *
19 * RETURN VALUE
20 *
21 * @implemented
22 */
23 VOID
24 STDCALL
25 FsRtlNotifyChangeDirectory (
26 IN PNOTIFY_SYNC NotifySync,
27 IN PVOID FsContext,
28 IN PSTRING FullDirectoryName,
29 IN PLIST_ENTRY NotifyList,
30 IN BOOLEAN WatchTree,
31 IN ULONG CompletionFilter,
32 IN PIRP NotifyIrp
33 )
34 {
35 FsRtlNotifyFullChangeDirectory (
36 NotifySync,
37 NotifyList,
38 FsContext,
39 FullDirectoryName,
40 WatchTree,
41 TRUE, /* IgnoreBuffer */
42 CompletionFilter,
43 NotifyIrp,
44 NULL,
45 NULL
46 );
47 }
48
49
50
51 /**********************************************************************
52 * NAME EXPORTED
53 * FsRtlNotifyCleanup@12
54 *
55 * DESCRIPTION
56 *
57 * ARGUMENTS
58 *
59 * RETURN VALUE
60 *
61 * @unimplemented
62 */
63 VOID
64 STDCALL
65 FsRtlNotifyCleanup (
66 IN PNOTIFY_SYNC NotifySync,
67 IN PLIST_ENTRY NotifyList,
68 IN PVOID FsContext
69 )
70 {
71 }
72
73
74 /*
75 * @unimplemented
76 */
77 VOID
78 STDCALL
79 FsRtlNotifyFilterChangeDirectory (
80 IN PNOTIFY_SYNC NotifySync,
81 IN PLIST_ENTRY NotifyList,
82 IN PVOID FsContext,
83 IN PSTRING FullDirectoryName,
84 IN BOOLEAN WatchTree,
85 IN BOOLEAN IgnoreBuffer,
86 IN ULONG CompletionFilter,
87 IN PIRP NotifyIrp,
88 IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback OPTIONAL,
89 IN PSECURITY_SUBJECT_CONTEXT SubjectContext OPTIONAL,
90 IN PFILTER_REPORT_CHANGE FilterCallback OPTIONAL
91 )
92 {
93 UNIMPLEMENTED;
94 }
95
96 /*
97 * @unimplemented
98 */
99 VOID
100 STDCALL
101 FsRtlNotifyFilterReportChange (
102 IN PNOTIFY_SYNC NotifySync,
103 IN PLIST_ENTRY NotifyList,
104 IN PSTRING FullTargetName,
105 IN USHORT TargetNameOffset,
106 IN PSTRING StreamName OPTIONAL,
107 IN PSTRING NormalizedParentName OPTIONAL,
108 IN ULONG FilterMatch,
109 IN ULONG Action,
110 IN PVOID TargetContext,
111 IN PVOID FilterContext
112 )
113 {
114 UNIMPLEMENTED;
115 }
116
117
118 /**********************************************************************
119 * NAME EXPORTED
120 * FsRtlNotifyFullChangeDirectory@40
121 *
122 * DESCRIPTION
123 *
124 * ARGUMENTS
125 *
126 * RETURN VALUE
127 *
128 * @unimplemented
129 */
130 VOID
131 STDCALL
132 FsRtlNotifyFullChangeDirectory (
133 IN PNOTIFY_SYNC NotifySync,
134 IN PLIST_ENTRY NotifyList,
135 IN PVOID FsContext,
136 IN PSTRING FullDirectoryName,
137 IN BOOLEAN WatchTree,
138 IN BOOLEAN IgnoreBuffer,
139 IN ULONG CompletionFilter,
140 IN PIRP NotifyIrp,
141 IN PCHECK_FOR_TRAVERSE_ACCESS TraverseCallback OPTIONAL,
142 IN PSECURITY_SUBJECT_CONTEXT SubjectContext OPTIONAL
143 )
144 {
145 #if defined(__GNUC__) || (defined(_MSC_VER) && _MSC_VER >= 1300)
146 DbgPrint("%s()\n", __FUNCTION__);
147 #else
148 DbgPrint("FsRtlNotifyFullChangeDirectory()\n");
149 #endif
150 }
151
152
153 /**********************************************************************
154 * NAME EXPORTED
155 * FsRtlNotifyFullReportChange@36
156 *
157 * DESCRIPTION
158 *
159 * ARGUMENTS
160 *
161 * RETURN VALUE
162 *
163 * @unimplemented
164 */
165 VOID
166 STDCALL
167 FsRtlNotifyFullReportChange (
168 IN PNOTIFY_SYNC NotifySync,
169 IN PLIST_ENTRY NotifyList,
170 IN PSTRING FullTargetName,
171 IN USHORT TargetNameOffset,
172 IN PSTRING StreamName OPTIONAL,
173 IN PSTRING NormalizedParentName OPTIONAL,
174 IN ULONG FilterMatch,
175 IN ULONG Action,
176 IN PVOID TargetContext
177 )
178 {
179 }
180
181
182 /**********************************************************************
183 * NAME EXPORTED
184 * FsRtlNotifyInitializeSync@4
185 *
186 * DESCRIPTION
187 *
188 * ARGUMENTS
189 *
190 * RETURN VALUE
191 *
192 * @implemented
193 */
194 VOID
195 STDCALL
196 FsRtlNotifyInitializeSync (
197 IN PNOTIFY_SYNC NotifySync
198 )
199 {
200 #if 0
201 *NotifySync = NULL;
202 *NotifySync = ExAllocatePoolWithTag (
203 0x10, // PoolType???
204 sizeof (NOTIFY_SYNC), // NumberOfBytes = 0x28
205 FSRTL_TAG
206 );
207
208 *NotifySync->Unknown0 = 1;
209 *NotifySync->Unknown2 = 0;
210 *NotifySync->Unknown3 = 1;
211 *NotifySync->Unknown4 = 4;
212 *NotifySync->Unknown5 = 0;
213 *NotifySync->Unknown9 = 0;
214 *NotifySync->Unknown10 = 0;
215 #endif
216 }
217
218
219 /**********************************************************************
220 * NAME EXPORTED
221 * FsRtlNotifyReportChange@20
222 *
223 * DESCRIPTION
224 *
225 * ARGUMENTS
226 *
227 * RETURN VALUE
228 *
229 * @implemented
230 */
231 VOID
232 STDCALL
233 FsRtlNotifyReportChange (
234 IN PNOTIFY_SYNC NotifySync,
235 IN PLIST_ENTRY NotifyList,
236 IN PSTRING FullTargetName,
237 IN PUSHORT FileNamePartLength,
238 IN ULONG FilterMatch
239 )
240 {
241 FsRtlNotifyFullReportChange (
242 NotifySync,
243 NotifyList,
244 FullTargetName,
245 (FullTargetName->Length - *FileNamePartLength), /*?*/
246 NULL,
247 NULL,
248 FilterMatch,
249 0, /* Action ? */
250 NULL
251 );
252 }
253
254
255 /**********************************************************************
256 * NAME EXPORTED
257 * FsRtlNotifyUninitializeSync@4
258 *
259 * DESCRIPTION
260 * Uninitialize a NOTIFY_SYNC object.
261 *
262 * ARGUMENTS
263 * NotifySync is the address of a pointer
264 * to a PNOTIFY_SYNC object previously initialized by
265 * FsRtlNotifyInitializeSync().
266 *
267 * RETURN VALUE
268 * None.
269 *
270 * @implemented
271 */
272 VOID
273 STDCALL
274 FsRtlNotifyUninitializeSync (
275 IN OUT PNOTIFY_SYNC NotifySync
276 )
277 {
278 #if 0
279 if (NULL != *NotifySync)
280 {
281 ExFreePool (*NotifySync);
282 *NotifySync = NULL;
283 }
284 #endif
285 }
286
287 /**********************************************************************
288 * NAME EXPORTED
289 * FsRtlNotifyVolumeEvent@8
290 *
291 * DESCRIPTION
292 * NOTE: Only present in NT 5+.
293 *
294 * ARGUMENTS
295 *
296 * RETURN VALUE
297 *
298 * @unimplemented
299 */
300 NTSTATUS
301 STDCALL
302 FsRtlNotifyVolumeEvent (
303 IN PFILE_OBJECT FileObject,
304 IN ULONG EventCode
305 )
306 {
307 return STATUS_NOT_IMPLEMENTED;
308 }
309
310 /*
311 *
312 * @unimplemented
313 */
314 NTSTATUS
315 STDCALL
316 FsRtlRegisterFileSystemFilterCallbacks (
317 IN PVOID Unknown1,
318 IN PVOID Unknown2
319 )
320 {
321 UNIMPLEMENTED;
322 return STATUS_NOT_IMPLEMENTED;
323 }
324 /* EOF */