update for HEAD-2003091401
[reactos.git] / ntoskrnl / fs / name.c
1 /* $Id$
2  *
3  * reactos/ntoskrnl/fs/name.c
4  *
5  */
6 #include <ntos.h>
7
8 /* DATA */
9
10 PUCHAR  * FsRtlLegalAnsiCharacterArray = NULL;
11
12
13 /**********************************************************************
14  * NAME                                                 EXPORTED
15  *      FsRtlAreNamesEqual@16
16  *
17  * DESCRIPTION
18  *      
19  * ARGUMENTS
20  *
21  * RETURN VALUE
22  *
23  * NOTE
24  *      From Bo Branten's ntifs.h v25.
25  *
26  * @unimplemented
27  */
28 BOOLEAN
29 STDCALL
30 FsRtlAreNamesEqual (
31         IN      PUNICODE_STRING Name1,
32         IN      PUNICODE_STRING Name2,
33         IN      BOOLEAN         IgnoreCase,
34         IN      PWCHAR          UpcaseTable     OPTIONAL
35         )
36 {
37         return FALSE;
38 }
39
40
41 /**********************************************************************
42  * NAME                                                 EXPORTED
43  *      FsRtlDissectName@16
44  *
45  * DESCRIPTION
46  *
47  * ARGUMENTS
48  *
49  * RETURN VALUE
50  *
51  * @unimplemented
52  */
53 VOID
54 STDCALL
55 FsRtlDissectName (
56         DWORD   Unknown0,
57         DWORD   Unknown1,
58         DWORD   Unknown2,
59         DWORD   Unknown3
60         )
61 {
62 }
63
64
65 /**********************************************************************
66  * NAME                                                 EXPORTED
67  *      FsRtlDoesNameContainWildCards@4
68  *
69  * DESCRIPTION
70  *
71  * ARGUMENTS
72  *
73  * RETURN VALUE
74  *
75  * NOTE
76  *      From Bo Branten's ntifs.h v12.
77  *
78  * @implemented
79  */
80 BOOLEAN STDCALL
81 FsRtlDoesNameContainWildCards (IN PUNICODE_STRING Name)
82 {
83   PWCHAR Ptr;
84
85   if (Name->Length == 0)
86     return FALSE;
87
88   /* Set pointer to last character of the string */
89   Ptr = (PWCHAR)((ULONG_PTR)Name->Buffer + Name->Length - sizeof(WCHAR));
90
91   while (Ptr > Name->Buffer)
92     {
93       /* Stop at backslash */
94       if (*Ptr == L'\\')
95         return FALSE;
96
97       /* Check for wildcards */
98       if ((*Ptr < '@') &&
99           (*Ptr == L'\"' || *Ptr == L'*' || *Ptr == L'<' ||
100            *Ptr == L'>' || *Ptr == L'?'))
101         return TRUE;
102
103       /* Move to previous character */
104       Ptr--;
105     }
106
107   return FALSE;
108 }
109
110
111 /**********************************************************************
112  * NAME                                                 EXPORTED
113  *      FsRtlIsNameInExpression@16
114  *
115  * DESCRIPTION
116  *
117  * ARGUMENTS
118  *
119  * RETURN VALUE
120  *
121  * NOTE
122  *      From Bo Branten's ntifs.h v12.
123  *
124  * @unimplemented
125  */
126 BOOLEAN
127 STDCALL
128 FsRtlIsNameInExpression (
129         IN      PUNICODE_STRING Expression,
130         IN      PUNICODE_STRING Name,
131         IN      BOOLEAN         IgnoreCase,
132         IN      PWCHAR          UpcaseTable     OPTIONAL
133         )
134 {
135         return FALSE;
136 }
137
138
139 /* EOF */