summaryrefslogtreecommitdiffstats
path: root/private/utils/ulib/inc/cstring.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/utils/ulib/inc/cstring.h')
-rw-r--r--private/utils/ulib/inc/cstring.h174
1 files changed, 174 insertions, 0 deletions
diff --git a/private/utils/ulib/inc/cstring.h b/private/utils/ulib/inc/cstring.h
new file mode 100644
index 000000000..b401d2fd2
--- /dev/null
+++ b/private/utils/ulib/inc/cstring.h
@@ -0,0 +1,174 @@
+/*++
+
+Copyright (c) 1991 Microsoft Corporation
+
+Module Name:
+
+ wstring.h
+
+Abstract:
+
+ This module contains the prototypes for the wide character
+ C-runtime support. Since there is no C-runtime support for
+ wide characters, the functions here are wrappers to the
+ single-byte counterparts
+
+Author:
+
+ Ramon San Andres (Ramonsa) 07-Jun-1991
+
+Revision History:
+
+--*/
+
+typedef char wchar;
+typedef WCHAR wchar_t;
+typedef size_t wsize_t;
+
+long watol( const wchar *);
+wchar * wcschr(const wchar *, int);
+wchar * wcslwr(wchar *);
+wchar * wcsrchr(const wchar *, int);
+wchar * wcsupr(wchar *);
+wsize_t wcscspn(const wchar *, const wchar *);
+wsize_t wcsspn(const wchar *, const wchar *);
+wchar * wcsstr(const wchar *, const wchar *);
+int wctomb( char *s, wchar_t wchar );
+int mbtowc(wchar_t *pwc, const char *s, size_t n);
+wchar_t towupper( wchar_t wc);
+
+INLINE
+long
+watol(
+ const wchar * p
+ )
+{
+ return atol( (char *)p );
+}
+
+
+INLINE
+wchar *
+wcschr (
+ const wchar * p,
+ int c
+ )
+{
+ return (wchar *)strchr( (char *)p, c);
+}
+
+
+INLINE
+wchar *
+wcslwr (
+ wchar * p
+ )
+{
+ return (wchar *)strlwr( (char *)p );
+}
+
+INLINE
+wchar *
+wcsrchr (
+ const wchar * p,
+ int c
+ )
+{
+ return (char *)strrchr( (char *)p, c);
+}
+
+INLINE
+wchar *
+wcsupr (
+ wchar * p
+ )
+{
+ return (char *)strupr( (char *)p );
+}
+
+
+INLINE
+wsize_t
+wcscspn (
+ const wchar *p1,
+ const wchar *p2
+ )
+{
+
+ return (wsize_t)strcspn( (char *)p1, (char *)p2);
+
+}
+
+INLINE
+wsize_t
+wcsspn (
+ const wchar *p1,
+ const wchar *p2
+ )
+{
+
+ return (wsize_t)strspn( (char *)p1, (char *)p2);
+
+}
+
+
+INLINE
+wchar *
+wcsstr (
+ const wchar *p1,
+ const wchar *p2
+ )
+{
+
+ return (wchar *)strstr( (char *)p1, (char *)p2);
+
+}
+
+
+INLINE
+int
+wctomb (
+ char *s,
+ wchar_t wchar
+ )
+{
+
+ if (s) {
+ *s = (char)wchar;
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+
+INLINE
+int
+mbtowc (
+ wchar_t *pwc,
+ const char *s,
+ size_t n
+ )
+{
+ UNREFERENCED_PARAMETER( n );
+
+ if ( s && *s && (n > 0) ) {
+ *pwc = (wchar_t)(*s);
+ return 1;
+ } else {
+ return 0;
+ }
+
+}
+
+
+INLINE
+wchar_t
+towupper(
+ wchar_t wc
+ )
+{
+
+ return (wchar_t)toupper( (char)wc );
+
+}