summaryrefslogtreecommitdiffstats
path: root/man0p/wchar.h.0p
diff options
context:
space:
mode:
Diffstat (limited to 'man0p/wchar.h.0p')
-rw-r--r--man0p/wchar.h.0p242
1 files changed, 242 insertions, 0 deletions
diff --git a/man0p/wchar.h.0p b/man0p/wchar.h.0p
new file mode 100644
index 000000000..36d1f500a
--- /dev/null
+++ b/man0p/wchar.h.0p
@@ -0,0 +1,242 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "<wchar.h>" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" <wchar.h>
+.SH NAME
+wchar.h \- wide-character handling
+.SH SYNOPSIS
+.LP
+\fB#include <wchar.h>\fP
+.SH DESCRIPTION
+.LP
+Some of the functionality described on this reference page extends
+the ISO\ C standard. Applications shall define
+the appropriate feature test macro (see the System Interfaces volume
+of IEEE\ Std\ 1003.1-2001, Section 2.2, The Compilation Environment)
+to enable the visibility of these symbols in this
+header.
+.LP
+The \fI<wchar.h>\fP header shall define the following types:
+.TP 7
+\fBwchar_t\fP
+As described in \fI<stddef.h>\fP .
+.TP 7
+\fBwint_t\fP
+An integer type capable of storing any valid value of \fBwchar_t\fP
+or WEOF.
+.TP 7
+\fBwctype_t\fP
+A scalar type of a data object that can hold values which represent
+locale-specific character classification.
+.TP 7
+\fBmbstate_t\fP
+An object type other than an array type that can hold the conversion
+state information necessary to convert between sequences
+of (possibly multi-byte) characters and wide characters. \ If a
+codeset is being used such that an \fBmbstate_t\fP needs to
+preserve more than 2 levels of reserved state, the results are unspecified.
+.TP 7
+\fBFILE\fP
+As described in \fI<stdio.h>\fP .
+.TP 7
+\fBsize_t\fP
+As described in \fI<stddef.h>\fP .
+.TP 7
+\fBva_list\fP
+As described in \fI<stdarg.h>\fP .
+.sp
+.LP
+The implementation shall support one or more programming environments
+in which the width of \fBwint_t\fP is no greater than the
+width of type \fBlong\fP. The names of these programming environments
+can be obtained using the \fIconfstr\fP() function or the \fIgetconf\fP
+utility.
+.LP
+The following shall be declared as functions and may also be defined
+as macros. Function prototypes shall be provided.
+.sp
+.RS
+.nf
+
+\fBwint_t btowc(int);
+wint_t fgetwc(FILE *);
+wchar_t *fgetws(wchar_t *restrict, int, FILE *restrict);
+wint_t fputwc(wchar_t, FILE *);
+int fputws(const wchar_t *restrict, FILE *restrict);
+int fwide(FILE *, int);
+int fwprintf(FILE *restrict, const wchar_t *restrict, ...);
+int fwscanf(FILE *restrict, const wchar_t *restrict, ...);
+wint_t getwc(FILE *);
+wint_t getwchar(void);
+
+int iswalnum(wint_t);
+int iswalpha(wint_t);
+int iswcntrl(wint_t);
+int iswctype(wint_t, wctype_t);
+int iswdigit(wint_t);
+int iswgraph(wint_t);
+int iswlower(wint_t);
+int iswprint(wint_t);
+int iswpunct(wint_t);
+int iswspace(wint_t);
+int iswupper(wint_t);
+int iswxdigit(wint_t);
+
+size_t mbrlen(const char *restrict, size_t, mbstate_t *restrict);
+size_t mbrtowc(wchar_t *restrict, const char *restrict, size_t,
+ mbstate_t *restrict);
+int mbsinit(const mbstate_t *);
+size_t mbsrtowcs(wchar_t *restrict, const char **restrict, size_t,
+ mbstate_t *restrict);
+wint_t putwc(wchar_t, FILE *);
+wint_t putwchar(wchar_t);
+int swprintf(wchar_t *restrict, size_t,
+ const wchar_t *restrict, ...);
+int swscanf(const wchar_t *restrict,
+ const wchar_t *restrict, ...);
+
+wint_t towlower(wint_t);
+wint_t towupper(wint_t);
+
+wint_t ungetwc(wint_t, FILE *);
+int vfwprintf(FILE *restrict, const wchar_t *restrict, va_list);
+int vfwscanf(FILE *restrict, const wchar_t *restrict, va_list);
+int vwprintf(const wchar_t *restrict, va_list);
+int vswprintf(wchar_t *restrict, size_t,
+ const wchar_t *restrict, va_list);
+int vswscanf(const wchar_t *restrict, const wchar_t *restrict,
+ va_list);
+int vwscanf(const wchar_t *restrict, va_list);
+size_t wcrtomb(char *restrict, wchar_t, mbstate_t *restrict);
+wchar_t *wcscat(wchar_t *restrict, const wchar_t *restrict);
+wchar_t *wcschr(const wchar_t *, wchar_t);
+int wcscmp(const wchar_t *, const wchar_t *);
+int wcscoll(const wchar_t *, const wchar_t *);
+wchar_t *wcscpy(wchar_t *restrict, const wchar_t *restrict);
+size_t wcscspn(const wchar_t *, const wchar_t *);
+size_t wcsftime(wchar_t *restrict, size_t,
+ const wchar_t *restrict, const struct tm *restrict);
+size_t wcslen(const wchar_t *);
+wchar_t *wcsncat(wchar_t *restrict, const wchar_t *restrict, size_t);
+int wcsncmp(const wchar_t *, const wchar_t *, size_t);
+wchar_t *wcsncpy(wchar_t *restrict, const wchar_t *restrict, size_t);
+wchar_t *wcspbrk(const wchar_t *, const wchar_t *);
+wchar_t *wcsrchr(const wchar_t *, wchar_t);
+size_t wcsrtombs(char *restrict, const wchar_t **restrict,
+ size_t, mbstate_t *restrict);
+size_t wcsspn(const wchar_t *, const wchar_t *);
+wchar_t *wcsstr(const wchar_t *restrict, const wchar_t *restrict);
+double wcstod(const wchar_t *restrict, wchar_t **restrict);
+float wcstof(const wchar_t *restrict, wchar_t **restrict);
+wchar_t *wcstok(wchar_t *restrict, const wchar_t *restrict,
+ wchar_t **restrict);
+long wcstol(const wchar_t *restrict, wchar_t **restrict, int);
+long double wcstold(const wchar_t *restrict, wchar_t **restrict);
+long long wcstoll(const wchar_t *restrict, wchar_t **restrict, int);
+unsigned long wcstoul(const wchar_t *restrict, wchar_t **restrict, int);
+unsigned long long
+ wcstoull(const wchar_t *restrict, wchar_t **restrict, int);
+
+wchar_t *wcswcs(const wchar_t *, const wchar_t *);
+int wcswidth(const wchar_t *, size_t);
+
+size_t wcsxfrm(wchar_t *restrict, const wchar_t *restrict, size_t);
+int wctob(wint_t);
+
+wctype_t wctype(const char *);
+int wcwidth(wchar_t);
+
+wchar_t *wmemchr(const wchar_t *, wchar_t, size_t);
+int wmemcmp(const wchar_t *, const wchar_t *, size_t);
+wchar_t *wmemcpy(wchar_t *restrict, const wchar_t *restrict, size_t);
+wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t);
+wchar_t *wmemset(wchar_t *, wchar_t, size_t);
+int wprintf(const wchar_t *restrict, ...);
+int wscanf(const wchar_t *restrict, ...);
+\fP
+.fi
+.RE
+.LP
+The \fI<wchar.h>\fP header shall define the following macros:
+.TP 7
+WCHAR_MAX
+The maximum value representable by an object of type \fBwchar_t\fP.
+.TP 7
+WCHAR_MIN
+The minimum value representable by an object of type \fBwchar_t\fP.
+.TP 7
+WEOF
+Constant expression of type \fBwint_t\fP that is returned by several
+WP functions to indicate end-of-file.
+.TP 7
+NULL
+As described in \fI<stddef.h>\fP .
+.sp
+.LP
+The tag \fBtm\fP shall be declared as naming an incomplete structure
+type, the contents of which are described in the header \fI<time.h>\fP
+\&.
+.LP
+Inclusion of the \fI<wchar.h>\fP header may make visible all symbols
+from the headers \fI<ctype.h>\fP, \fI<string.h>\fP, \fI<stdarg.h>\fP,
+\fI<stddef.h>\fP, \fI<stdio.h>\fP, \fI<stdlib.h>\fP, and \fI<time.h>\fP.
+.LP
+\fIThe following sections are informative.\fP
+.SH APPLICATION USAGE
+.LP
+The \fIiswblank\fP() function was a late addition to the ISO\ C standard
+and was
+introduced at the same time as the ISO\ C standard introduced \fI<wctype.h>\fP,
+which contains all of the \fIisw*\fP() functions. The Open Group Base
+Specifications had
+previously aligned with the MSE working draft and had introduced the
+rest of the \fIisw*\fP()
+functions into \fI<wchar.h>\fP. For backwards-compatibility, the original
+set of
+\fIisw*\fP() functions, without \fIiswblank\fP(), are
+permitted (as an XSI extension) in \fI<wchar.h>\fP. For maximum portability,
+applications should include \fI<wctype.h>\fP in order to obtain declarations
+for the
+\fIisw*\fP() functions.
+.SH RATIONALE
+.LP
+In the ISO\ C standard, the symbols referenced as XSI extensions are
+in \fI<wctype.h>\fP. Their presence here is thus an extension.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fI<ctype.h>\fP , \fI<stdarg.h>\fP , \fI<stddef.h>\fP , \fI<stdio.h>\fP
+, \fI<stdlib.h>\fP , \fI<string.h>\fP , \fI<time.h>\fP , \fI<wctype.h>\fP
+, the System Interfaces volume of
+IEEE\ Std\ 1003.1-2001, \fIbtowc\fP(), \fIconfstr\fP(), \fIfgetwc\fP(),
+\fIfgetws\fP(), \fIfputwc\fP(), \fIfputws\fP(), \fIfwide\fP(), \fIfwprintf\fP(),
+\fIfwscanf\fP(), \fIgetwc\fP(), \fIgetwchar\fP(), \fIiswalnum\fP(),
+\fIiswalpha\fP(), \fIiswcntrl\fP(), \fIiswctype\fP(), \fIiswdigit\fP(),
+\fIiswgraph\fP(), \fIiswlower\fP(), \fIiswprint\fP(), \fIiswpunct\fP(),
+\fIiswspace\fP(), \fIiswupper\fP(), \fIiswxdigit\fP(), \fIiswctype\fP(),
+\fImbsinit\fP(), \fImbrlen\fP(), \fImbrtowc\fP(), \fImbsrtowcs\fP(),
+\fIputwc\fP(), \fIputwchar\fP(), \fIswprintf\fP(), \fIswscanf\fP(),
+\fItowlower\fP(), \fItowupper\fP(), \fIungetwc\fP(), \fIvfwprintf\fP(),
+\fIvfwscanf\fP(), \fIvswprintf\fP(), \fIvswscanf\fP(), \fIvwscanf\fP(),
+\fIwcrtomb\fP(), \fIwcsrtombs\fP(), \fIwcscat\fP(), \fIwcschr\fP(),
+\fIwcscmp\fP(), \fIwcscoll\fP(), \fIwcscpy\fP(), \fIwcscspn\fP(),
+\fIwcsftime\fP(), \fIwcslen\fP(), \fIwcsncat\fP(), \fIwcsncmp\fP(),
+\fIwcsncpy\fP(), \fIwcspbrk\fP(), \fIwcsrchr\fP(), \fIwcsspn\fP(),
+\fIwcsstr\fP(), \fIwcstod\fP(), \fIwcstof\fP(), \fIwcstok\fP(), \fIwcstol\fP(),
+\fIwcstold\fP(), \fIwcstoll\fP(), \fIwcstoul\fP(), \fIwcstoull\fP(),
+\fIwcswcs\fP(), \fIwcswidth\fP(), \fIwcsxfrm\fP(), \fIwctob\fP(),
+\fIwctype\fP(), \fIwcwidth\fP(), \fIwmemchr\fP(), \fIwmemcmp\fP(),
+\fIwmemcpy\fP(), \fIwmemmove\fP(), \fIwmemset\fP(), \fIwprintf\fP(),
+\fIwscanf\fP(), the Shell and Utilities volume of IEEE\ Std\ 1003.1-2001,
+\fIgetconf\fP
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .