Subversion Repositories Kolibri OS

Rev

Rev 4872 | Rev 4921 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. #ifndef _WCHAR_H_
  2. #define _WCHAR_H_
  3.  
  4. #include <_ansi.h>
  5.  
  6. #include <sys/reent.h>
  7.  
  8. #define __need_size_t
  9. #define __need_wchar_t
  10. #define __need_wint_t
  11. #include <stddef.h>
  12.  
  13. #define __need___va_list
  14. #include <stdarg.h>
  15.  
  16. /* For _mbstate_t definition. */
  17. #include <sys/_types.h>
  18.  
  19. /* For __STDC_ISO_10646__ */
  20. #include <sys/features.h>
  21.  
  22. #ifndef NULL
  23. #define NULL    0
  24. #endif
  25.  
  26. #ifndef WEOF
  27. # define WEOF ((wint_t)-1)
  28. #endif
  29.  
  30. #ifndef WCHAR_MIN
  31. #define WCHAR_MIN 0
  32. #endif
  33.  
  34. #ifndef WCHAR_MAX
  35. #ifdef __WCHAR_MAX__
  36. #define WCHAR_MAX __WCHAR_MAX__
  37. #else
  38. #define WCHAR_MAX 0x7fffffffu
  39. #endif
  40. #endif
  41.  
  42. _BEGIN_STD_C
  43.  
  44. /* As required by POSIX.1-2008, declare tm as incomplete type.
  45.    The actual definition is in time.h. */
  46. struct tm;
  47.  
  48. #ifndef _MBSTATE_T
  49. #define _MBSTATE_T
  50. typedef _mbstate_t mbstate_t;
  51. #endif /* _MBSTATE_T */
  52.  
  53. wint_t  _EXFUN(btowc, (int));
  54. int     _EXFUN(wctob, (wint_t));
  55. size_t  _EXFUN(mbrlen, (const char * , size_t, mbstate_t *));
  56. size_t  _EXFUN(mbrtowc, (wchar_t * , const char * , size_t, mbstate_t *));
  57. size_t  _EXFUN(_mbrtowc_r, (struct _reent *, wchar_t * , const char * ,
  58.                         size_t, mbstate_t *));
  59. int     _EXFUN(mbsinit, (const mbstate_t *));
  60. size_t  _EXFUN(mbsnrtowcs, (wchar_t * , const char ** , size_t, size_t,
  61.                         mbstate_t *));
  62. size_t  _EXFUN(_mbsnrtowcs_r, (struct _reent *, wchar_t * , const char ** ,
  63.                         size_t, size_t, mbstate_t *));
  64. size_t  _EXFUN(mbsrtowcs, (wchar_t * , const char ** , size_t, mbstate_t *));
  65. size_t  _EXFUN(_mbsrtowcs_r, (struct _reent *, wchar_t * , const char ** , size_t, mbstate_t *));
  66. size_t  _EXFUN(wcrtomb, (char * , wchar_t, mbstate_t *));
  67. size_t  _EXFUN(_wcrtomb_r, (struct _reent *, char * , wchar_t, mbstate_t *));
  68. size_t  _EXFUN(wcsnrtombs, (char * , const wchar_t ** , size_t, size_t,
  69.                         mbstate_t *));
  70. size_t  _EXFUN(_wcsnrtombs_r, (struct _reent *, char * , const wchar_t ** ,
  71.                         size_t, size_t, mbstate_t *));
  72. size_t  _EXFUN(wcsrtombs, (char * , const wchar_t ** , size_t, mbstate_t *));
  73. size_t  _EXFUN(_wcsrtombs_r, (struct _reent *, char * , const wchar_t ** ,
  74.                         size_t, mbstate_t *));
  75. int     _EXFUN(wcscasecmp, (const wchar_t *, const wchar_t *));
  76. wchar_t *_EXFUN(wcscat, (wchar_t * , const wchar_t *));
  77. wchar_t *_EXFUN(wcschr, (const wchar_t *, wchar_t));
  78. int     _EXFUN(wcscmp, (const wchar_t *, const wchar_t *));
  79. int     _EXFUN(wcscoll, (const wchar_t *, const wchar_t *));
  80. wchar_t *_EXFUN(wcscpy, (wchar_t * , const wchar_t *));
  81. wchar_t *_EXFUN(wcpcpy, (wchar_t * , const wchar_t *));
  82. wchar_t *_EXFUN(wcsdup, (const wchar_t *));
  83. wchar_t *_EXFUN(_wcsdup_r, (struct _reent *, const wchar_t * ));
  84. size_t  _EXFUN(wcscspn, (const wchar_t *, const wchar_t *));
  85. size_t  _EXFUN(wcsftime, (wchar_t *, size_t, const wchar_t *, const struct tm *));
  86. size_t  _EXFUN(wcslcat, (wchar_t *, const wchar_t *, size_t));
  87. size_t  _EXFUN(wcslcpy, (wchar_t *, const wchar_t *, size_t));
  88. size_t  _EXFUN(wcslen, (const wchar_t *));
  89. int     _EXFUN(wcsncasecmp, (const wchar_t *, const wchar_t *, size_t));
  90. wchar_t *_EXFUN(wcsncat, (wchar_t * , const wchar_t * , size_t));
  91. int     _EXFUN(wcsncmp, (const wchar_t *, const wchar_t *, size_t));
  92. wchar_t *_EXFUN(wcsncpy, (wchar_t *  , const wchar_t * , size_t));
  93. wchar_t *_EXFUN(wcpncpy, (wchar_t *  , const wchar_t * , size_t));
  94. size_t  _EXFUN(wcsnlen, (const wchar_t *, size_t));
  95. wchar_t *_EXFUN(wcspbrk, (const wchar_t *, const wchar_t *));
  96. wchar_t *_EXFUN(wcsrchr, (const wchar_t *, wchar_t));
  97. size_t  _EXFUN(wcsspn, (const wchar_t *, const wchar_t *));
  98. wchar_t *_EXFUN(wcsstr, (const wchar_t *, const wchar_t *));
  99. wchar_t *_EXFUN(wcstok, (wchar_t *, const wchar_t *, wchar_t **));
  100. double _EXFUN(wcstod, (const wchar_t *, wchar_t **));
  101. double _EXFUN(_wcstod_r, (struct _reent *, const wchar_t *, wchar_t **));
  102. float _EXFUN(wcstof, (const wchar_t *, wchar_t **));
  103. float _EXFUN(_wcstof_r, (struct _reent *, const wchar_t *, wchar_t **));
  104. int     _EXFUN(wcswidth, (const wchar_t *, size_t));
  105. size_t  _EXFUN(wcsxfrm, (wchar_t *, const wchar_t *, size_t));
  106. int     _EXFUN(wcwidth, (const wchar_t));
  107. wchar_t *_EXFUN(wmemchr, (const wchar_t *, wchar_t, size_t));
  108. int     _EXFUN(wmemcmp, (const wchar_t *, const wchar_t *, size_t));
  109. wchar_t *_EXFUN(wmemcpy, (wchar_t * , const wchar_t * , size_t));
  110. wchar_t *_EXFUN(wmemmove, (wchar_t *, const wchar_t *, size_t));
  111. wchar_t *_EXFUN(wmemset, (wchar_t *, wchar_t, size_t));
  112.  
  113. long    _EXFUN(wcstol, (const wchar_t *, wchar_t **, int));
  114. long long _EXFUN(wcstoll, (const wchar_t *, wchar_t **, int));
  115. unsigned long _EXFUN(wcstoul, (const wchar_t *, wchar_t **, int));
  116. unsigned long long _EXFUN(wcstoull, (const wchar_t *, wchar_t **, int));
  117. long    _EXFUN(_wcstol_r, (struct _reent *, const wchar_t *, wchar_t **, int));
  118. long long _EXFUN(_wcstoll_r, (struct _reent *, const wchar_t *, wchar_t **, int));
  119. unsigned long _EXFUN(_wcstoul_r, (struct _reent *, const wchar_t *, wchar_t **, int));
  120. unsigned long long _EXFUN(_wcstoull_r, (struct _reent *, const wchar_t *, wchar_t **, int));
  121.  
  122. wint_t _EXFUN(fgetwc, (__FILE *));
  123. wchar_t *_EXFUN(fgetws, (wchar_t *, int, __FILE *));
  124. wint_t _EXFUN(fputwc, (wchar_t, __FILE *));
  125. int _EXFUN(fputws, (const wchar_t *, __FILE *));
  126. int _EXFUN (fwide, (__FILE *, int));
  127. wint_t _EXFUN (getwc, (__FILE *));
  128. wint_t _EXFUN (getwchar, (void));
  129. wint_t _EXFUN(putwc, (wchar_t, __FILE *));
  130. wint_t _EXFUN(putwchar, (wchar_t));
  131. wint_t _EXFUN (ungetwc, (wint_t wc, __FILE *));
  132.  
  133. wint_t _EXFUN(_fgetwc_r, (struct _reent *, __FILE *));
  134. wchar_t *_EXFUN(_fgetws_r, (struct _reent *, wchar_t *, int, __FILE *));
  135. wint_t _EXFUN(_fputwc_r, (struct _reent *, wchar_t, __FILE *));
  136. int _EXFUN(_fputws_r, (struct _reent *, const wchar_t *, __FILE *));
  137. int _EXFUN (_fwide_r, (struct _reent *, __FILE *, int));
  138. wint_t _EXFUN (_getwc_r, (struct _reent *, __FILE *));
  139. wint_t _EXFUN (_getwchar_r, (struct _reent *ptr));
  140. wint_t _EXFUN(_putwc_r, (struct _reent *, wchar_t, __FILE *));
  141. wint_t _EXFUN(_putwchar_r, (struct _reent *, wchar_t));
  142. wint_t _EXFUN (_ungetwc_r, (struct _reent *, wint_t wc, __FILE *));
  143.  
  144. __FILE *_EXFUN (open_wmemstream, (wchar_t **, size_t *));
  145. __FILE *_EXFUN (_open_wmemstream_r, (struct _reent *, wchar_t **, size_t *));
  146.  
  147. #ifndef __VALIST
  148. #ifdef __GNUC__
  149. #define __VALIST __gnuc_va_list
  150. #else
  151. #define __VALIST char*
  152. #endif
  153. #endif
  154.  
  155. int     _EXFUN(fwprintf, (__FILE *, const wchar_t *, ...));
  156. int     _EXFUN(swprintf, (wchar_t *, size_t, const wchar_t *, ...));
  157. int     _EXFUN(vfwprintf, (__FILE *, const wchar_t *, __VALIST));
  158. int     _EXFUN(vswprintf, (wchar_t *, size_t, const wchar_t *, __VALIST));
  159. int     _EXFUN(vwprintf, (const wchar_t *, __VALIST));
  160. int     _EXFUN(wprintf, (const wchar_t *, ...));
  161.  
  162. int     _EXFUN(_fwprintf_r, (struct _reent *, __FILE *, const wchar_t *, ...));
  163. int     _EXFUN(_swprintf_r, (struct _reent *, wchar_t *, size_t, const wchar_t *, ...));
  164. int     _EXFUN(_vfwprintf_r, (struct _reent *, __FILE *, const wchar_t *, __VALIST));
  165. int     _EXFUN(_vswprintf_r, (struct _reent *, wchar_t *, size_t, const wchar_t *, __VALIST));
  166. int     _EXFUN(_vwprintf_r, (struct _reent *, const wchar_t *, __VALIST));
  167. int     _EXFUN(_wprintf_r, (struct _reent *, const wchar_t *, ...));
  168.  
  169. int     _EXFUN(fwscanf, (__FILE *, const wchar_t *, ...));
  170. int     _EXFUN(swscanf, (const wchar_t *, const wchar_t *, ...));
  171. int     _EXFUN(vfwscanf, (__FILE *, const wchar_t *, __VALIST));
  172. int     _EXFUN(vswscanf, (const wchar_t *, const wchar_t *, __VALIST));
  173. int     _EXFUN(vwscanf, (const wchar_t *, __VALIST));
  174. int     _EXFUN(wscanf, (const wchar_t *, ...));
  175.  
  176. int     _EXFUN(_fwscanf_r, (struct _reent *, __FILE *, const wchar_t *, ...));
  177. int     _EXFUN(_swscanf_r, (struct _reent *, const wchar_t *, const wchar_t *, ...));
  178. int     _EXFUN(_vfwscanf_r, (struct _reent *, __FILE *, const wchar_t *, __VALIST));
  179. int     _EXFUN(_vswscanf_r, (struct _reent *, const wchar_t *, const wchar_t *, __VALIST));
  180. int     _EXFUN(_vwscanf_r, (struct _reent *, const wchar_t *, __VALIST));
  181. int     _EXFUN(_wscanf_r, (struct _reent *, const wchar_t *, ...));
  182.  
  183. #define getwc(fp)       fgetwc(fp)
  184. #define putwc(wc,fp)    fputwc((wc), (fp))
  185. #ifndef _REENT_ONLY
  186. #define getwchar()      fgetwc(_REENT->_stdin)
  187. #define putwchar(wc)    fputwc((wc), _REENT->_stdout)
  188. #else
  189. #define getwchar()      fgetwc(_impure_ptr->_stdin)
  190. #define putwchar(wc)    fputwc((wc), _impure_ptr->_stdout)
  191. #endif
  192.  
  193. _END_STD_C
  194.  
  195. #endif /* _WCHAR_H_ */
  196.