migrate substitution keywords to SVN
[reactos.git] / reactos / include / rosrtl / string.h
1 /* $Id$
2 */
3
4 #ifndef ROSRTL_STRING_H__
5 #define ROSRTL_STRING_H__
6
7 #ifdef __cplusplus
8 extern "C"
9 {
10 #endif
11
12 #define RosInitializeString( \
13 __PDEST_STRING__, \
14 __LENGTH__, \
15 __MAXLENGTH__, \
16 __BUFFER__ \
17 ) \
18 { \
19 (__PDEST_STRING__)->Length = (__LENGTH__); \
20 (__PDEST_STRING__)->MaximumLength = (__MAXLENGTH__); \
21 (__PDEST_STRING__)->Buffer = (__BUFFER__); \
22 }
23
24 #define RtlRosInitStringFromLiteral( \
25 __PDEST_STRING__, __SOURCE_STRING__) \
26 RosInitializeString( \
27 (__PDEST_STRING__), \
28 sizeof(__SOURCE_STRING__) - sizeof((__SOURCE_STRING__)[0]), \
29 sizeof(__SOURCE_STRING__), \
30 (__SOURCE_STRING__) \
31 )
32
33 #define RtlRosInitUnicodeStringFromLiteral \
34 RtlRosInitStringFromLiteral
35
36 #define ROS_STRING_INITIALIZER(__SOURCE_STRING__) \
37 { \
38 sizeof(__SOURCE_STRING__) - sizeof((__SOURCE_STRING__)[0]), \
39 sizeof(__SOURCE_STRING__), \
40 (__SOURCE_STRING__) \
41 }
42
43 #define ROS_EMPTY_STRING {0, 0, NULL}
44
45 NTSTATUS NTAPI RosAppendUnicodeString( PUNICODE_STRING ResultFirst,
46 PUNICODE_STRING Second,
47 BOOL Deallocate );
48
49 #ifdef __cplusplus
50 }
51 #endif
52
53 #endif
54
55 /* EOF */