aboutsummaryrefslogtreecommitdiff
path: root/wcsmbs/wchar.h
diff options
context:
space:
mode:
Diffstat (limited to 'wcsmbs/wchar.h')
-rw-r--r--wcsmbs/wchar.h168
1 files changed, 168 insertions, 0 deletions
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
new file mode 100644
index 0000000000..69ad2d3c67
--- /dev/null
+++ b/wcsmbs/wchar.h
@@ -0,0 +1,168 @@
+/* Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+This file is part of the GNU C Library.
+
+The GNU C Library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+The GNU C Library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with the GNU C Library; see the file COPYING.LIB. If
+not, write to the Free Software Foundation, Inc., 675 Mass Ave,
+Cambridge, MA 02139, USA. */
+
+/*
+ * ISO Standard: 7.16.4 General wide-string utilities <wchar.h>
+ */
+
+#ifndef _WCHAR_H
+
+#define _WCHAR_H 1
+#include <features.h>
+
+__BEGIN_DECLS
+
+/* Get size_t, wchar_t, uwchar_t and NULL from <stddef.h>. */
+#define __need_size_t
+#define __need_wchar_t
+/* #define __need_uwchar_t */
+#define __need_NULL
+/* __need_WCHAR_MAX */
+/* __need_WCHAR_MIN */
+#include <stddef.h>
+
+/* FIXME: Should go with this or another name in stddef.h. */
+typedef unsigned int uwchar_t;
+
+/* Conversion state information. */
+typedef int mbstate_t; /* FIXME */
+
+/* Should come from <stddef.h> */
+#define WCHAR_MIN ((wchar_t) 0) /* FIXME */
+#define WCHAR_MAX (~WCHAR_MIN) /* FIXME */
+
+#ifndef WEOF
+# define WEOF (0xffffffffu)
+#endif
+
+/* FIXME: should this go into <stddef.h>??? */
+#if 0
+#define __need_wint_t
+#include <stddef.h>
+#else
+/* Integral type unchanged by default argument promotions that can
+ hold any value corresponding to members of the extended character
+ set, as well as at least one value that does not correspond to any
+ member of the extended character set. */
+typedef unsigned int wint_t;
+#endif
+
+
+/* Copy SRC to DEST. */
+extern wchar_t *wcscpy __P ((wchar_t *__dest, __const wchar_t *__src));
+/* Copy no more than N wide-characters of SRC to DEST. */
+extern wchar_t *wcsncpy __P ((wchar_t *__dest, __const wchar_t *__src,
+ size_t __n));
+
+/* Append SRC onto DEST. */
+extern wchar_t *wcscat __P ((wchar_t *__dest, __const wchar_t *__src));
+/* Append no more than N wide-characters of SRC onto DEST. */
+extern wchar_t *wcsncat __P ((wchar_t *__dest, __const wchar_t *__src,
+ size_t __n));
+
+/* Compare S1 and S2. */
+extern int wcscmp __P ((__const wchar_t *__s1, __const wchar_t *__s2));
+/* Compare N wide-characters of S1 and S2. */
+extern int wcsncmp __P ((__const wchar_t *__s1, __const wchar_t *__s2,
+ size_t __n));
+
+/* Duplicate S, returning an identical malloc'd string. */
+extern wchar_t *wcsdup __P ((__const wchar_t *__s));
+
+/* Find the first occurence of WC in WCS. */
+extern wchar_t *wcschr __P ((__const wchar_t *__wcs, wchar_t __wc));
+/* Find the last occurence of WC in WCS. */
+extern wchar_t *wcsrchr __P ((__const wchar_t *__wcs, wchar_t __wc));
+
+/* Return the length of the initial segmet of WCS which
+ consists entirely of wide-characters not in REJECT. */
+extern size_t wcscspn __P ((__const wchar_t *__wcs,
+ __const wchar_t *__reject));
+/* Return the length of the initial segmet of WCS which
+ consists entirely of wide-characters in ACCEPT. */
+extern size_t wcsspn __P ((__const wchar_t *__wcs, __const wchar_t *__accept));
+/* Find the first occurence in WCS of any character in ACCEPT. */
+extern wchar_t *wcspbrk __P ((__const wchar_t *__wcs,
+ __const wchar_t *__accept));
+/* Find the first occurence of NEEDLE in HAYSTACK. */
+extern wchar_t *wcsstr __P ((__const wchar_t *__haystack,
+ __const wchar_t *__needle));
+/* Divide WCS into tokens separated by characters in DELIM. */
+extern wchar_t *wcstok __P ((wchar_t *__s, __const wchar_t *__delim,
+ wchar_t **ptr));
+
+/* Return the number of wide-characters in S. */
+extern size_t wcslen __P ((__const wchar_t *__s));
+
+
+/* Search N bytes of S for C. */
+extern wchar_t *wmemchr __P ((__const wchar_t *__s, wchar_t __c, size_t __n));
+
+/* Compare N bytes of S1 and S2. */
+extern int wmemcmp __P ((__const wchar_t *__s1, __const wchar_t *__s2,
+ size_t __n));
+
+/* Copy N bytes of SRC to DEST. */
+extern wchar_t *wmemcpy __P ((wchar_t *__s1, __const wchar_t *__s2,
+ size_t __n));
+
+/* Copy N bytes of SRC to DEST, guaranteeing
+ correct behavior for overlapping strings. */
+extern wchar_t *wmemmove __P ((wchar_t *__s1, __const wchar_t *__s2,
+ size_t __N));
+
+/* Set N bytes of S to C. */
+extern wchar_t *wmemset __P ((wchar_t *__s, wchar_t __c, size_t __n));
+
+
+/* Determine whether C constitutes a valid (one-byte) multibyte
+ character. */
+extern wint_t btowc __P ((int __c));
+
+/* Determine whether C corresponds to a member of the extended
+ character set whose multibyte representation is a single byte. */
+extern int wctob __P ((wint_t __c));
+
+/* Determine whether PS points to an object representing the initial
+ state. */
+extern int mbsinit __P ((__const mbstate_t *__ps));
+
+/* Return number of bytes in multibyte character pointed to by S. */
+extern size_t mbrlen __P ((__const char *__s, size_t __n, mbstate_t *ps));
+
+/* Write wide character representation of multibyte character pointed
+ to by S to PWC. */
+extern size_t mbrtowc __P ((wchar_t *__pwc, __const char *__s, size_t __n,
+ mbstate_t *__p));
+
+/* Write multibyte representation of wide character WC to S. */
+extern size_t wcrtomb __P ((char *__s, wchar_t __wc, mbstate_t *__ps));
+
+/* Write wide character representation of multibyte chracter string SRC
+ to DST. */
+extern size_t mbsrtowcs __P ((wchar_t *__dst, __const char **__src,
+ size_t __len, mbstate_t *__ps));
+
+/* Write multibyte character representation of wide character string
+ SRC to DST. */
+extern size_t wcsrtombs __P ((char *__dst, __const wchar_t **__src,
+ size_t __len, mbstate_t *__ps));
+
+__END_DECLS
+
+#endif /* wchar.h */