about summary refs log tree commit diff
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  */