wchar.h
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024: #ifndef _WCHAR_H
025:
026: #if !defined __need_mbstate_t && !defined __need_wint_t
027: # define _WCHAR_H 1
028: # include <features.h>
029: #endif
030:
031: #ifdef _WCHAR_H
032:
033: # define __need___FILE
034: # if defined __USE_UNIX98 || defined __USE_XOPEN2K
035: # define __need_FILE
036: # endif
037: # include <stdio.h>
038:
039: # define __need___va_list
040: # include <stdarg.h>
041:
042: # include <bits/wchar.h>
043:
044:
045: # define __need_size_t
046: # define __need_wchar_t
047: # define __need_NULL
048: #endif
049: #if defined _WCHAR_H || defined __need_wint_t || !defined __WINT_TYPE__
050: # undef __need_wint_t
051: # define __need_wint_t
052: # include <stddef.h>
053:
054:
055:
056: # ifndef _WINT_T
057:
058:
059:
060:
061: # define _WINT_T
062: typedef unsigned int wint_t;
063: # else
064:
065:
066: # if defined __cplusplus && defined _GLIBCPP_USE_NAMESPACES \
067: && defined __WINT_TYPE__
068: __BEGIN_NAMESPACE_STD
069: typedef __WINT_TYPE__ wint_t;
070: __END_NAMESPACE_STD
071: # endif
072: # endif
073:
074:
075: # if defined __cplusplus && __GNUC_PREREQ (4, 4)
076: # define __CORRECT_ISO_CPP_WCHAR_H_PROTO
077: # endif
078: #endif
079:
080: #if (defined _WCHAR_H || defined __need_mbstate_t) && !defined __mbstate_t_defined
081: # define __mbstate_t_defined 1
082:
083: typedef struct
084: {
085: int __count;
086: union
087: {
088: # ifdef __WINT_TYPE__
089: __WINT_TYPE__ __wch;
090: # else
091: wint_t __wch;
092: # endif
093: char __wchb[4];
094: } __value;
095: } __mbstate_t;
096: #endif
097: #undef __need_mbstate_t
098:
099:
100:
101:
102: #ifdef _WCHAR_H
103:
104: __BEGIN_NAMESPACE_C99
105:
106: typedef __mbstate_t mbstate_t;
107: __END_NAMESPACE_C99
108: #ifdef __USE_GNU
109: __USING_NAMESPACE_C99(mbstate_t)
110: #endif
111:
112: #ifndef WCHAR_MIN
113:
114: # define WCHAR_MIN __WCHAR_MIN
115: # define WCHAR_MAX __WCHAR_MAX
116: #endif
117:
118: #ifndef WEOF
119: # define WEOF (0xffffffffu)
120: #endif
121:
122:
123:
124: #if defined __USE_XOPEN && !defined __USE_UNIX98
125: # include <wctype.h>
126: #endif
127:
128:
129: __BEGIN_DECLS
130:
131: __BEGIN_NAMESPACE_STD
132:
133:
134: struct tm;
135: __END_NAMESPACE_STD
136:
137:
138:
139: __USING_NAMESPACE_STD(tm)
140:
141:
142: __BEGIN_NAMESPACE_STD
143:
144: extern wchar_t *wcscpy (wchar_t *__restrict __dest,
145: __const wchar_t *__restrict __src) __THROW;
146:
147: extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
148: __const wchar_t *__restrict __src, size_t __n)
149: __THROW;
150:
151:
152: extern wchar_t *wcscat (wchar_t *__restrict __dest,
153: __const wchar_t *__restrict __src) __THROW;
154:
155: extern wchar_t *wcsncat (wchar_t *__restrict __dest,
156: __const wchar_t *__restrict __src, size_t __n)
157: __THROW;
158:
159:
160: extern int wcscmp (__const wchar_t *__s1, __const wchar_t *__s2)
161: __THROW __attribute_pure__;
162:
163: extern int wcsncmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)
164: __THROW __attribute_pure__;
165: __END_NAMESPACE_STD
166:
167: #ifdef __USE_XOPEN2K8
168:
169: extern int wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2) __THROW;
170:
171:
172: extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
173: size_t __n) __THROW;
174:
175:
176:
177: # include <xlocale.h>
178:
179: extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
180: __locale_t __loc) __THROW;
181:
182: extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
183: size_t __n, __locale_t __loc) __THROW;
184: #endif
185:
186: __BEGIN_NAMESPACE_STD
187:
188:
189: extern int wcscoll (__const wchar_t *__s1, __const wchar_t *__s2) __THROW;
190:
191:
192:
193: extern size_t wcsxfrm (wchar_t *__restrict __s1,
194: __const wchar_t *__restrict __s2, size_t __n) __THROW;
195: __END_NAMESPACE_STD
196:
197: #ifdef __USE_XOPEN2K8
198:
199:
200:
201:
202:
203: extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
204: __locale_t __loc) __THROW;
205:
206:
207:
208:
209: extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
210: size_t __n, __locale_t __loc) __THROW;
211:
212:
213: extern wchar_t *wcsdup (__const wchar_t *__s) __THROW __attribute_malloc__;
214: #endif
215:
216: __BEGIN_NAMESPACE_STD
217:
218: #ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
219: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
220: __THROW __asm ("wcschr") __attribute_pure__;
221: extern "C++" __const wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc)
222: __THROW __asm ("wcschr") __attribute_pure__;
223: #else
224: extern wchar_t *wcschr (__const wchar_t *__wcs, wchar_t __wc)
225: __THROW __attribute_pure__;
226: #endif
227:
228: #ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
229: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
230: __THROW __asm ("wcsrchr") __attribute_pure__;
231: extern "C++" __const wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc)
232: __THROW __asm ("wcsrchr") __attribute_pure__;
233: #else
234: extern wchar_t *wcsrchr (__const wchar_t *__wcs, wchar_t __wc)
235: __THROW __attribute_pure__;
236: #endif
237: __END_NAMESPACE_STD
238:
239: #ifdef __USE_GNU
240:
241:
242: extern wchar_t *wcschrnul (__const wchar_t *__s, wchar_t __wc)
243: __THROW __attribute_pure__;
244: #endif
245:
246: __BEGIN_NAMESPACE_STD
247:
248:
249: extern size_t wcscspn (__const wchar_t *__wcs, __const wchar_t *__reject)
250: __THROW __attribute_pure__;
251:
252:
253: extern size_t wcsspn (__const wchar_t *__wcs, __const wchar_t *__accept)
254: __THROW __attribute_pure__;
255:
256: #ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
257: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, __const wchar_t *__accept)
258: __THROW __asm ("wcspbrk") __attribute_pure__;
259: extern "C++" __const wchar_t *wcspbrk (__const wchar_t *__wcs,
260: __const wchar_t *__accept)
261: __THROW __asm ("wcspbrk") __attribute_pure__;
262: #else
263: extern wchar_t *wcspbrk (__const wchar_t *__wcs, __const wchar_t *__accept)
264: __THROW __attribute_pure__;
265: #endif
266:
267: #ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
268: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, __const wchar_t *__needle)
269: __THROW __asm ("wcsstr") __attribute_pure__;
270: extern "C++" __const wchar_t *wcsstr (__const wchar_t *__haystack,
271: __const wchar_t *__needle)
272: __THROW __asm ("wcsstr") __attribute_pure__;
273: #else
274: extern wchar_t *wcsstr (__const wchar_t *__haystack, __const wchar_t *__needle)
275: __THROW __attribute_pure__;
276: #endif
277:
278:
279: extern wchar_t *wcstok (wchar_t *__restrict __s,
280: __const wchar_t *__restrict __delim,
281: wchar_t **__restrict __ptr) __THROW;
282:
283:
284: extern size_t wcslen (__const wchar_t *__s) __THROW __attribute_pure__;
285: __END_NAMESPACE_STD
286:
287: #ifdef __USE_XOPEN
288:
289: # ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
290: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, __const wchar_t *__needle)
291: __THROW __asm ("wcswcs") __attribute_pure__;
292: extern "C++" __const wchar_t *wcswcs (__const wchar_t *__haystack,
293: __const wchar_t *__needle)
294: __THROW __asm ("wcswcs") __attribute_pure__;
295: # else
296: extern wchar_t *wcswcs (__const wchar_t *__haystack, __const wchar_t *__needle)
297: __THROW __attribute_pure__;
298: # endif
299: #endif
300:
301: #ifdef __USE_XOPEN2K8
302:
303: extern size_t wcsnlen (__const wchar_t *__s, size_t __maxlen)
304: __THROW __attribute_pure__;
305: #endif
306:
307:
308: __BEGIN_NAMESPACE_STD
309:
310: #ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
311: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
312: __THROW __asm ("wmemchr") __attribute_pure__;
313: extern "C++" __const wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c,
314: size_t __n)
315: __THROW __asm ("wmemchr") __attribute_pure__;
316: #else
317: extern wchar_t *wmemchr (__const wchar_t *__s, wchar_t __c, size_t __n)
318: __THROW __attribute_pure__;
319: #endif
320:
321:
322: extern int wmemcmp (__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)
323: __THROW __attribute_pure__;
324:
325:
326: extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
327: __const wchar_t *__restrict __s2, size_t __n) __THROW;
328:
329:
330:
331: extern wchar_t *wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n)
332: __THROW;
333:
334:
335: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) __THROW;
336: __END_NAMESPACE_STD
337:
338: #ifdef __USE_GNU
339:
340:
341: extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
342: __const wchar_t *__restrict __s2, size_t __n)
343: __THROW;
344: #endif
345:
346:
347: __BEGIN_NAMESPACE_STD
348:
349:
350: extern wint_t btowc (int __c) __THROW;
351:
352:
353:
354: extern int wctob (wint_t __c) __THROW;
355:
356:
357:
358: extern int mbsinit (__const mbstate_t *__ps) __THROW __attribute_pure__;
359:
360:
361:
362: extern size_t mbrtowc (wchar_t *__restrict __pwc,
363: __const char *__restrict __s, size_t __n,
364: mbstate_t *__p) __THROW;
365:
366:
367: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
368: mbstate_t *__restrict __ps) __THROW;
369:
370:
371: extern size_t __mbrlen (__const char *__restrict __s, size_t __n,
372: mbstate_t *__restrict __ps) __THROW;
373: extern size_t mbrlen (__const char *__restrict __s, size_t __n,
374: mbstate_t *__restrict __ps) __THROW;
375: __END_NAMESPACE_STD
376:
377: #ifdef __USE_EXTERN_INLINES
378:
379:
380:
381:
382:
383: extern wint_t __btowc_alias (int __c) __asm ("btowc");
384: __extern_inline wint_t
385: __NTH (btowc (int __c))
386: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
387: ? (wint_t) __c : __btowc_alias (__c)); }
388:
389: extern int __wctob_alias (wint_t __c) __asm ("wctob");
390: __extern_inline int
391: __NTH (wctob (wint_t __wc))
392: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
393: ? (int) __wc : __wctob_alias (__wc)); }
394:
395: __extern_inline size_t
396: __NTH (mbrlen (__const char *__restrict __s, size_t __n,
397: mbstate_t *__restrict __ps))
398: { return (__ps != NULL
399: ? mbrtowc (NULL, __s, __n, __ps) : __mbrlen (__s, __n, NULL)); }
400: #endif
401:
402: __BEGIN_NAMESPACE_STD
403:
404:
405: extern size_t mbsrtowcs (wchar_t *__restrict __dst,
406: __const char **__restrict __src, size_t __len,
407: mbstate_t *__restrict __ps) __THROW;
408:
409:
410:
411: extern size_t wcsrtombs (char *__restrict __dst,
412: __const wchar_t **__restrict __src, size_t __len,
413: mbstate_t *__restrict __ps) __THROW;
414: __END_NAMESPACE_STD
415:
416:
417: #ifdef __USE_XOPEN2K8
418:
419:
420: extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
421: __const char **__restrict __src, size_t __nmc,
422: size_t __len, mbstate_t *__restrict __ps) __THROW;
423:
424:
425:
426: extern size_t wcsnrtombs (char *__restrict __dst,
427: __const wchar_t **__restrict __src,
428: size_t __nwc, size_t __len,
429: mbstate_t *__restrict __ps) __THROW;
430: #endif
431:
432:
433:
434: #ifdef __USE_XOPEN
435:
436: extern int wcwidth (wchar_t __c) __THROW;
437:
438:
439:
440: extern int wcswidth (__const wchar_t *__s, size_t __n) __THROW;
441: #endif
442:
443:
444: __BEGIN_NAMESPACE_STD
445:
446:
447: extern double wcstod (__const wchar_t *__restrict __nptr,
448: wchar_t **__restrict __endptr) __THROW;
449: __END_NAMESPACE_STD
450:
451: #ifdef __USE_ISOC99
452: __BEGIN_NAMESPACE_C99
453:
454: extern float wcstof (__const wchar_t *__restrict __nptr,
455: wchar_t **__restrict __endptr) __THROW;
456: extern long double wcstold (__const wchar_t *__restrict __nptr,
457: wchar_t **__restrict __endptr) __THROW;
458: __END_NAMESPACE_C99
459: #endif
460:
461:
462: __BEGIN_NAMESPACE_STD
463:
464:
465: extern long int wcstol (__const wchar_t *__restrict __nptr,
466: wchar_t **__restrict __endptr, int __base) __THROW;
467:
468:
469:
470: extern unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
471: wchar_t **__restrict __endptr, int __base)
472: __THROW;
473: __END_NAMESPACE_STD
474:
475: #if defined __USE_ISOC99 || (defined __GNUC__ && defined __USE_GNU)
476: __BEGIN_NAMESPACE_C99
477:
478:
479: __extension__
480: extern long long int wcstoll (__const wchar_t *__restrict __nptr,
481: wchar_t **__restrict __endptr, int __base)
482: __THROW;
483:
484:
485:
486: __extension__
487: extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr,
488: wchar_t **__restrict __endptr,
489: int __base) __THROW;
490: __END_NAMESPACE_C99
491: #endif
492:
493: #if defined __GNUC__ && defined __USE_GNU
494:
495:
496: __extension__
497: extern long long int wcstoq (__const wchar_t *__restrict __nptr,
498: wchar_t **__restrict __endptr, int __base)
499: __THROW;
500:
501:
502:
503: __extension__
504: extern unsigned long long int wcstouq (__const wchar_t *__restrict __nptr,
505: wchar_t **__restrict __endptr,
506: int __base) __THROW;
507: #endif
508:
509: #ifdef __USE_GNU
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523: # include <xlocale.h>
524:
525:
526:
527: extern long int wcstol_l (__const wchar_t *__restrict __nptr,
528: wchar_t **__restrict __endptr, int __base,
529: __locale_t __loc) __THROW;
530:
531: extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr,
532: wchar_t **__restrict __endptr,
533: int __base, __locale_t __loc) __THROW;
534:
535: __extension__
536: extern long long int wcstoll_l (__const wchar_t *__restrict __nptr,
537: wchar_t **__restrict __endptr,
538: int __base, __locale_t __loc) __THROW;
539:
540: __extension__
541: extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr,
542: wchar_t **__restrict __endptr,
543: int __base, __locale_t __loc)
544: __THROW;
545:
546: extern double wcstod_l (__const wchar_t *__restrict __nptr,
547: wchar_t **__restrict __endptr, __locale_t __loc)
548: __THROW;
549:
550: extern float wcstof_l (__const wchar_t *__restrict __nptr,
551: wchar_t **__restrict __endptr, __locale_t __loc)
552: __THROW;
553:
554: extern long double wcstold_l (__const wchar_t *__restrict __nptr,
555: wchar_t **__restrict __endptr,
556: __locale_t __loc) __THROW;
557: #endif
558:
559:
560: #ifdef __USE_XOPEN2K8
561:
562:
563: extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
564: __const wchar_t *__restrict __src) __THROW;
565:
566:
567:
568: extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
569: __const wchar_t *__restrict __src, size_t __n)
570: __THROW;
571:
572:
573:
574:
575:
576:
577: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW;
578: #endif
579:
580: #if defined __USE_ISOC95 || defined __USE_UNIX98
581: __BEGIN_NAMESPACE_STD
582:
583:
584: extern int fwide (__FILE *__fp, int __mode) __THROW;
585:
586:
587:
588:
589:
590:
591: extern int fwprintf (__FILE *__restrict __stream,
592: __const wchar_t *__restrict __format, ...)
593: ;
594:
595:
596:
597:
598: extern int wprintf (__const wchar_t *__restrict __format, ...)
599: ;
600:
601: extern int swprintf (wchar_t *__restrict __s, size_t __n,
602: __const wchar_t *__restrict __format, ...)
603: __THROW ;
604:
605:
606:
607:
608:
609: extern int vfwprintf (__FILE *__restrict __s,
610: __const wchar_t *__restrict __format,
611: __gnuc_va_list __arg)
612: ;
613:
614:
615:
616:
617: extern int vwprintf (__const wchar_t *__restrict __format,
618: __gnuc_va_list __arg)
619: ;
620:
621:
622: extern int vswprintf (wchar_t *__restrict __s, size_t __n,
623: __const wchar_t *__restrict __format,
624: __gnuc_va_list __arg)
625: __THROW ;
626:
627:
628:
629:
630:
631:
632: extern int fwscanf (__FILE *__restrict __stream,
633: __const wchar_t *__restrict __format, ...)
634: ;
635:
636:
637:
638:
639: extern int wscanf (__const wchar_t *__restrict __format, ...)
640: ;
641:
642: extern int swscanf (__const wchar_t *__restrict __s,
643: __const wchar_t *__restrict __format, ...)
644: __THROW ;
645:
646: # if defined __USE_ISOC99 && !defined __USE_GNU \
647: && (!defined __LDBL_COMPAT || !defined __REDIRECT) \
648: && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
649: # ifdef __REDIRECT
650:
651:
652:
653: extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream,
654: __const wchar_t *__restrict __format, ...),
655: __isoc99_fwscanf)
656: ;
657: extern int __REDIRECT (wscanf, (__const wchar_t *__restrict __format, ...),
658: __isoc99_wscanf)
659: ;
660: extern int __REDIRECT_NTH (swscanf, (__const wchar_t *__restrict __s,
661: __const wchar_t *__restrict __format,
662: ...), __isoc99_swscanf)
663: ;
664: # else
665: extern int __isoc99_fwscanf (__FILE *__restrict __stream,
666: __const wchar_t *__restrict __format, ...);
667: extern int __isoc99_wscanf (__const wchar_t *__restrict __format, ...);
668: extern int __isoc99_swscanf (__const wchar_t *__restrict __s,
669: __const wchar_t *__restrict __format, ...)
670: __THROW;
671: # define fwscanf __isoc99_fwscanf
672: # define wscanf __isoc99_wscanf
673: # define swscanf __isoc99_swscanf
674: # endif
675: # endif
676:
677: __END_NAMESPACE_STD
678: #endif
679:
680: #ifdef __USE_ISOC99
681: __BEGIN_NAMESPACE_C99
682:
683:
684:
685:
686: extern int vfwscanf (__FILE *__restrict __s,
687: __const wchar_t *__restrict __format,
688: __gnuc_va_list __arg)
689: ;
690:
691:
692:
693:
694: extern int vwscanf (__const wchar_t *__restrict __format,
695: __gnuc_va_list __arg)
696: ;
697:
698: extern int vswscanf (__const wchar_t *__restrict __s,
699: __const wchar_t *__restrict __format,
700: __gnuc_va_list __arg)
701: __THROW ;
702:
703: # if !defined __USE_GNU \
704: && (!defined __LDBL_COMPAT || !defined __REDIRECT) \
705: && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
706: # ifdef __REDIRECT
707: extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s,
708: __const wchar_t *__restrict __format,
709: __gnuc_va_list __arg), __isoc99_vfwscanf)
710: ;
711: extern int __REDIRECT (vwscanf, (__const wchar_t *__restrict __format,
712: __gnuc_va_list __arg), __isoc99_vwscanf)
713: ;
714: extern int __REDIRECT_NTH (vswscanf, (__const wchar_t *__restrict __s,
715: __const wchar_t *__restrict __format,
716: __gnuc_va_list __arg), __isoc99_vswscanf)
717: ;
718: # else
719: extern int __isoc99_vfwscanf (__FILE *__restrict __s,
720: __const wchar_t *__restrict __format,
721: __gnuc_va_list __arg);
722: extern int __isoc99_vwscanf (__const wchar_t *__restrict __format,
723: __gnuc_va_list __arg);
724: extern int __isoc99_vswscanf (__const wchar_t *__restrict __s,
725: __const wchar_t *__restrict __format,
726: __gnuc_va_list __arg) __THROW;
727: # define vfwscanf __isoc99_vfwscanf
728: # define vwscanf __isoc99_vwscanf
729: # define vswscanf __isoc99_vswscanf
730: # endif
731: # endif
732:
733: __END_NAMESPACE_C99
734: #endif
735:
736:
737: __BEGIN_NAMESPACE_STD
738:
739:
740:
741:
742: extern wint_t fgetwc (__FILE *__stream);
743: extern wint_t getwc (__FILE *__stream);
744:
745:
746:
747:
748:
749: extern wint_t getwchar (void);
750:
751:
752:
753:
754:
755:
756: extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
757: extern wint_t putwc (wchar_t __wc, __FILE *__stream);
758:
759:
760:
761:
762:
763: extern wint_t putwchar (wchar_t __wc);
764:
765:
766:
767:
768:
769:
770:
771: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
772: __FILE *__restrict __stream);
773:
774:
775:
776:
777:
778: extern int fputws (__const wchar_t *__restrict __ws,
779: __FILE *__restrict __stream);
780:
781:
782:
783:
784:
785:
786: extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
787: __END_NAMESPACE_STD
788:
789:
790: #ifdef __USE_GNU
791:
792:
793:
794:
795:
796:
797:
798: extern wint_t getwc_unlocked (__FILE *__stream);
799: extern wint_t getwchar_unlocked (void);
800:
801:
802:
803:
804:
805:
806:
807: extern wint_t fgetwc_unlocked (__FILE *__stream);
808:
809:
810:
811:
812:
813:
814:
815: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
816:
817:
818:
819:
820:
821:
822:
823:
824: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
825: extern wint_t putwchar_unlocked (wchar_t __wc);
826:
827:
828:
829:
830:
831:
832:
833:
834: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
835: __FILE *__restrict __stream);
836:
837:
838:
839:
840:
841:
842:
843: extern int fputws_unlocked (__const wchar_t *__restrict __ws,
844: __FILE *__restrict __stream);
845: #endif
846:
847:
848: __BEGIN_NAMESPACE_C99
849:
850:
851:
852: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
853: __const wchar_t *__restrict __format,
854: __const struct tm *__restrict __tp) __THROW;
855: __END_NAMESPACE_C99
856:
857: # ifdef __USE_GNU
858: # include <xlocale.h>
859:
860:
861:
862: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
863: __const wchar_t *__restrict __format,
864: __const struct tm *__restrict __tp,
865: __locale_t __loc) __THROW;
866: # endif
867:
868:
869:
870:
871:
872:
873:
874: #if defined __USE_UNIX98 && !defined __USE_GNU
875: # define __need_iswxxx
876: # include <wctype.h>
877: #endif
878:
879:
880: #if __USE_FORTIFY_LEVEL > 0 && defined __extern_always_inline
881: # include <bits/wchar2.h>
882: #endif
883:
884: #ifdef __LDBL_COMPAT
885: # include <bits/wchar-ldbl.h>
886: #endif
887:
888: __END_DECLS
889:
890: #endif
891:
892: #endif
893:
894:
895:
896: #undef __need_mbstate_t
897: #undef __need_wint_t
898:
for client
18.204.214.205
© Andrew Scott 2006 -
2024,
All Rights Reserved