Annotation of mstools/h/wchar.h, revision 1.1

1.1     ! root        1: /***
        !             2: *wchar.h - declarations for wide character functions
        !             3: *
        !             4: *      Copyright (c) 1992, Microsoft Corporation. All rights reserved.
        !             5: *
        !             6: *Purpose:
        !             7: *      This file contains the types, macros and function declarations for
        !             8: *      all wide character-related functions.  They may also be declared in
        !             9: *      individual header files on a functional basis.
        !            10: *      [ISO]
        !            11: *
        !            12: *      Note: keep in sync with ctype.h, stdio.h, stdlib.h, string.h, time.h.
        !            13: *
        !            14: ****/
        !            15: 
        !            16: #ifndef _INC_WCHAR
        !            17: #define _INC_WCHAR
        !            18: 
        !            19: #ifdef __cplusplus
        !            20: extern "C" {
        !            21: #endif
        !            22: 
        !            23: 
        !            24: #ifndef MIPS
        !            25: #if (_MSC_VER <= 600)
        !            26: #define __cdecl _cdecl
        !            27: #endif
        !            28: #endif
        !            29: 
        !            30: #ifndef _SIZE_T_DEFINED
        !            31: typedef unsigned int size_t;
        !            32: #define _SIZE_T_DEFINED
        !            33: #endif
        !            34: 
        !            35: 
        !            36: #ifndef _WCHAR_T_DEFINED
        !            37: typedef unsigned short wchar_t;
        !            38: #define _WCHAR_T_DEFINED
        !            39: #endif
        !            40: 
        !            41: #ifndef _WCTYPE_T_DEFINED
        !            42: typedef wchar_t wint_t;
        !            43: typedef wchar_t wctype_t;
        !            44: #define _WCTYPE_T_DEFINED
        !            45: #endif
        !            46: 
        !            47: #ifndef _VA_LIST_DEFINED
        !            48: typedef char * va_list;
        !            49: #define _VA_LIST_DEFINED
        !            50: #endif
        !            51: 
        !            52: #ifndef WEOF
        !            53: #define WEOF (wint_t)(0xFFFF)
        !            54: #endif
        !            55: 
        !            56: #ifndef _FILE_DEFINED
        !            57: struct _iobuf {
        !            58:        char *_ptr;
        !            59:        int   _cnt;
        !            60:        char *_base;
        !            61:        int   _flag;
        !            62:        int   _file;
        !            63:        int   _charbuf;
        !            64:        int   _bufsiz;
        !            65:        char *_tmpfname;
        !            66:        };
        !            67: typedef struct _iobuf FILE;
        !            68: #define _FILE_DEFINED
        !            69: #endif
        !            70: 
        !            71: /* UNDONE: define struct tm */
        !            72: 
        !            73: /* define NULL pointer value */
        !            74: 
        !            75: #ifndef NULL
        !            76: #ifdef __cplusplus
        !            77: #define NULL   0
        !            78: #else
        !            79: #define NULL   ((void *)0)
        !            80: #endif
        !            81: #endif
        !            82: 
        !            83: /* function prototypes */
        !            84: 
        !            85: #ifndef _WCTYPE_DEFINED
        !            86: 
        !            87: /*
        !            88:  * This declaration allows the user access to the ctype look-up
        !            89:  * array _ctype defined in ctype.obj by simply including ctype.h
        !            90:  */
        !            91: 
        !            92: #ifndef _NEWCTYPETABLE
        !            93: 
        !            94: #ifdef _DLL
        !            95: extern unsigned char * _ctype;
        !            96: #else
        !            97: extern unsigned char  _ctype[];
        !            98: #endif
        !            99: 
        !           100: extern unsigned char  *_pctype;
        !           101: extern unsigned char  *_pwctype;
        !           102: 
        !           103: #else
        !           104: 
        !           105: #ifdef _DLL
        !           106: extern unsigned short * _ctype;
        !           107: #else
        !           108: extern unsigned short _ctype[];
        !           109: #endif
        !           110: 
        !           111: extern unsigned short *_pctype;
        !           112: extern wctype_t *_pwctype;
        !           113: 
        !           114: #endif
        !           115: 
        !           116: 
        !           117: /* set bit masks for the possible character types */
        !           118: 
        !           119: #define _UPPER         0x1     /* upper case letter */
        !           120: #define _LOWER         0x2     /* lower case letter */
        !           121: #define _DIGIT         0x4     /* digit[0-9] */
        !           122: #define _SPACE         0x8     /* tab, carriage return, newline, */
        !           123:                                /* vertical tab or form feed */
        !           124: #define _PUNCT         0x10    /* punctuation character */
        !           125: #define _CONTROL       0x20    /* control character */
        !           126: #define _BLANK         0x40    /* space char */
        !           127: #define _HEX           0x80    /* hexadecimal digit */
        !           128: 
        !           129: 
        !           130: 
        !           131: /* character classification function prototypes */
        !           132: 
        !           133: int iswalpha(wint_t);
        !           134: int iswupper(wint_t);
        !           135: int iswlower(wint_t);
        !           136: int iswdigit(wint_t);
        !           137: int iswxdigit(wint_t);
        !           138: int iswspace(wint_t);
        !           139: int iswpunct(wint_t);
        !           140: int iswalnum(wint_t);
        !           141: int iswprint(wint_t);
        !           142: int iswgraph(wint_t);
        !           143: int iswcntrl(wint_t);
        !           144: int iswascii(wint_t);
        !           145: 
        !           146: wchar_t towupper(wchar_t);
        !           147: wchar_t towlower(wchar_t);
        !           148: 
        !           149: /* UNDONE: add wctype_t set_wctype(const char* property); */
        !           150: int is_wctype(wint_t, wctype_t);
        !           151: 
        !           152: #define isleadbyte(_c) (0)
        !           153: /* #define is_wctype(_c,_t) ((_c) < 256 ? _pwctype[_c] & _t : 0 ) */
        !           154: 
        !           155: #define _WCTYPE_DEFINED
        !           156: #endif
        !           157: 
        !           158: #define iswalpha(_c)   ((_c) < 256 ? _pwctype[_c] &_ALPHA:is_wctype(_c,_ALPHA))
        !           159: #define iswupper(_c)   ((_c) < 256 ? _pwctype[_c] &_UPPER:is_wctype(_c,_UPPER))
        !           160: #define iswlower(_c)   ((_c) < 256 ? _pwctype[_c] &_LOWER:is_wctype(_c,_LOWER))
        !           161: #define iswdigit(_c)   ((_c) < 256 ? _pwctype[_c] &_DIGIT:is_wctype(_c,_DIGIT))
        !           162: #define iswxdigit(_c)  ((_c) < 256 ? _pwctype[_c] &_HEX:is_wctype(_c,_HEX))
        !           163: #define iswspace(_c)   ((_c) < 256 ? _pwctype[_c] &_SPACE:is_wctype(_c,_SPACE))
        !           164: #define iswpunct(_c)   ((_c) < 256 ? _pwctype[_c] &_PUNCT:is_wctype(_c,_PUNCT))
        !           165: #define iswalnum(_c)   ((_c) < 256 ? _pwctype[_c] &(_ALPHA|_DIGIT):is_wctype(_c,_ALPHA|_DIGIT))
        !           166: #define iswprint(_c)   ((_c) < 256 ? _pwctype[_c] &(_BLANK|_PUNCT|_ALPHA|_DIGIT):is_wctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT))
        !           167: #define iswgraph(_c)   ((_c) < 256 ? _pwctype[_c] &(_PUNCT|_ALPHA|_DIGIT):is_wctype(_c,_PUNCT|_ALPHA|_DIGIT))
        !           168: #define iswcntrl(_c)   ((_c) < 256 ? _pwctype[_c] &_CONTROL:is_wctype(_c,_CONTROL))
        !           169: #define iswascii(_c)   ( (unsigned)(_c) < 0x80 )
        !           170: 
        !           171: 
        !           172: 
        !           173: #ifndef _WSTDIO_DEFINED
        !           174: int fwprintf(FILE *, const wchar_t *, ...);
        !           175: int wprintf(const wchar_t *, ...);
        !           176: int _snwprintf(wchar_t *, size_t, const wchar_t *, ...);
        !           177: int swprintf(wchar_t *, const wchar_t *, ...);
        !           178: int vfwprintf(FILE *, const wchar_t *, va_list);
        !           179: int vwprintf(const wchar_t *, va_list);
        !           180: int _vsnwprintf(wchar_t *, size_t, const wchar_t *, va_list);
        !           181: int vswprintf(wchar_t *, const wchar_t *, va_list);
        !           182: /* UNDONE: add wscanf, swscanf, fwscanf */
        !           183: #define _WSTDIO_DEFINED
        !           184: #endif
        !           185: 
        !           186: 
        !           187: #ifndef _WSTDLIB_DEFINED
        !           188: /* UNDONE: add wcstod, etc.  */
        !           189: /* #define _WSTDLIB_DEFINED */
        !           190: #endif
        !           191: 
        !           192: 
        !           193: #ifndef _WSTRING_DEFINED
        !           194: wchar_t * wcscat(wchar_t *, const wchar_t *);
        !           195: wchar_t * wcschr(const wchar_t *, wchar_t);
        !           196: int wcscmp(const wchar_t *, const wchar_t *);
        !           197: wchar_t * wcscpy(wchar_t *, const wchar_t *);
        !           198: size_t wcscspn(const wchar_t *, const wchar_t *);
        !           199: size_t wcslen(const wchar_t *);
        !           200: wchar_t * wcsncat(wchar_t *, const wchar_t *, size_t);
        !           201: int wcsncmp(const wchar_t *, const wchar_t *, size_t);
        !           202: wchar_t * wcsncpy(wchar_t *, const wchar_t *, size_t);
        !           203: wchar_t * wcspbrk(const wchar_t *, const wchar_t *);
        !           204: wchar_t * wcsrchr(const wchar_t *, wchar_t);
        !           205: size_t wcsspn(const wchar_t *, const wchar_t *);
        !           206: wchar_t * wcsstr(const wchar_t *, const wchar_t *);
        !           207: 
        !           208: wchar_t * _wcsdup(const wchar_t *);
        !           209: int _wcsicmp(const wchar_t *, const wchar_t *);
        !           210: int _wcsnicmp(const wchar_t *, const wchar_t *, size_t);
        !           211: wchar_t * _wcsnset(wchar_t *, wchar_t, size_t);
        !           212: wchar_t * _wcsrev(wchar_t *);
        !           213: wchar_t * _wcsset(wchar_t *, wchar_t);
        !           214: 
        !           215: wchar_t * _wcslwr(wchar_t *);
        !           216: wchar_t * _wcsupr(wchar_t *);
        !           217: size_t wcsxfrm(wchar_t *, const wchar_t *, size_t);
        !           218: int wcscoll(const wchar_t *, const wchar_t *);
        !           219: int _wcsicoll(const wchar_t *, const wchar_t *);
        !           220: 
        !           221: /* old names */
        !           222: #define wcswcs wcsstr
        !           223: 
        !           224: #if !__STDC__
        !           225: /* Non-ANSI names for compatibility */
        !           226: #define wcsdup _wcsdup
        !           227: #define wcsicmp        _wcsicmp
        !           228: #define wcsnicmp _wcsnicmp
        !           229: #define wcsnset        _wcsnset
        !           230: #define wcsrev _wcsrev
        !           231: #define wcsset _wcsset
        !           232: #define wcslwr _wcslwr
        !           233: #define wcsupr _wcsupr
        !           234: #define wcsicoll _wcsicoll
        !           235: #endif
        !           236: 
        !           237: #define _WSTRING_DEFINED
        !           238: #endif
        !           239: 
        !           240: 
        !           241: #ifndef _WTIME_DEFINED
        !           242: /* UNDONE: add wcsftime, etc.  */
        !           243: /* #define _WTIME_DEFINED */
        !           244: #endif
        !           245: 
        !           246: 
        !           247: #ifdef __cplusplus
        !           248: }
        !           249: #endif
        !           250: 
        !           251: #endif /* _INC_WCHAR */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.