|
|
1.1 root 1: /***
2: *string.h - declarations for string manipulation functions
3: *
1.1.1.2 root 4: * Copyright (c) 1985-1992, Microsoft Corporation. All rights reserved.
1.1 root 5: *
6: *Purpose:
7: * This file contains the function declarations for the string
8: * manipulation functions.
9: * [ANSI/System V]
10: *
11: ****/
12:
13: #ifndef _INC_STRING
14:
15: #ifdef __cplusplus
16: extern "C" {
17: #endif
18:
19:
1.1.1.3 ! root 20: /*
! 21: * Conditional macro definition for function calling type and variable type
! 22: * qualifiers.
! 23: */
! 24: #if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) )
! 25:
! 26: /*
! 27: * Definitions for MS C8-32 (386/486) compiler
! 28: */
! 29: #define _CRTAPI1 __cdecl
! 30: #define _CRTAPI2 __cdecl
! 31:
! 32: #elif ( _MSC_VER == 600 )
! 33:
! 34: /*
! 35: * Definitions for old MS C6-386 compiler
! 36: */
! 37: #define _CRTAPI1 _cdecl
! 38: #define _CRTAPI2 _cdecl
! 39: #define _M_IX86 300
! 40:
! 41: #else
! 42:
! 43: /*
! 44: * Other compilers (e.g., MIPS)
! 45: */
! 46: #define _CRTAPI1
! 47: #define _CRTAPI2
! 48:
1.1.1.2 root 49: #endif
1.1 root 50:
1.1.1.3 ! root 51:
1.1 root 52: #ifndef _SIZE_T_DEFINED
53: typedef unsigned int size_t;
54: #define _SIZE_T_DEFINED
55: #endif
56:
57:
58: #ifndef _WCHAR_T_DEFINED
59: typedef unsigned short wchar_t;
60: #define _WCHAR_T_DEFINED
61: #endif
62:
63:
64: /* define NULL pointer value */
65:
66: #ifndef NULL
67: #ifdef __cplusplus
68: #define NULL 0
69: #else
70: #define NULL ((void *)0)
71: #endif
72: #endif
73:
74:
75: /* function prototypes */
76:
1.1.1.3 ! root 77: void * _CRTAPI1 _memccpy(void *, const void *, int, unsigned int);
! 78: void * _CRTAPI1 memchr(const void *, int, size_t);
! 79: int _CRTAPI1 memcmp(const void *, const void *, size_t);
! 80: int _CRTAPI1 _memicmp(const void *, const void *, unsigned int);
! 81: void * _CRTAPI1 memcpy(void *, const void *, size_t);
! 82: void * _CRTAPI1 memmove(void *, const void *, size_t);
! 83: void * _CRTAPI1 memset(void *, int, size_t);
! 84: char * _CRTAPI1 strcat(char *, const char *);
! 85: char * _CRTAPI1 strchr(const char *, int);
! 86: int _CRTAPI1 strcmp(const char *, const char *);
! 87: int _CRTAPI1 _strcmpi(const char *, const char *);
! 88: int _CRTAPI1 _stricmp(const char *, const char *);
! 89: int _CRTAPI1 strcoll(const char *, const char *);
1.1.1.2 root 90: #ifdef _MAC_
1.1.1.3 ! root 91: char * _CRTAPI1 _c2pstr(const char *);
! 92: char * _CRTAPI1 _p2cstr(const char *);
1.1.1.2 root 93: #endif
1.1.1.3 ! root 94: int _CRTAPI1 _stricoll(const char *, const char *);
! 95: char * _CRTAPI1 strcpy(char *, const char *);
! 96: size_t _CRTAPI1 strcspn(const char *, const char *);
! 97: char * _CRTAPI1 _strdup(const char *);
! 98: char * _CRTAPI1 _strerror(const char *);
! 99: char * _CRTAPI1 strerror(int);
! 100: size_t _CRTAPI1 strlen(const char *);
! 101: char * _CRTAPI1 _strlwr(char *);
! 102: char * _CRTAPI1 strncat(char *, const char *, size_t);
! 103: int _CRTAPI1 strncmp(const char *, const char *, size_t);
! 104: int _CRTAPI1 _strnicmp(const char *, const char *, size_t);
! 105: char * _CRTAPI1 strncpy(char *, const char *, size_t);
! 106: char * _CRTAPI1 _strnset(char *, int, size_t);
! 107: char * _CRTAPI1 strpbrk(const char *, const char *);
! 108: char * _CRTAPI1 strrchr(const char *, int);
! 109: char * _CRTAPI1 _strrev(char *);
! 110: char * _CRTAPI1 _strset(char *, int);
! 111: size_t _CRTAPI1 strspn(const char *, const char *);
! 112: char * _CRTAPI1 strstr(const char *, const char *);
! 113: char * _CRTAPI1 strtok(char *, const char *);
! 114: char * _CRTAPI1 _strupr(char *);
! 115: size_t _CRTAPI1 strxfrm (char *, const char *, size_t);
1.1 root 116:
1.1.1.2 root 117: #ifndef _WSTRING_DEFINED
1.1.1.3 ! root 118: wchar_t * _CRTAPI1 wcscat(wchar_t *, const wchar_t *);
! 119: wchar_t * _CRTAPI1 wcschr(const wchar_t *, wchar_t);
! 120: int _CRTAPI1 wcscmp(const wchar_t *, const wchar_t *);
! 121: wchar_t * _CRTAPI1 wcscpy(wchar_t *, const wchar_t *);
! 122: size_t _CRTAPI1 wcscspn(const wchar_t *, const wchar_t *);
! 123: size_t _CRTAPI1 wcslen(const wchar_t *);
! 124: wchar_t * _CRTAPI1 wcsncat(wchar_t *, const wchar_t *, size_t);
! 125: int _CRTAPI1 wcsncmp(const wchar_t *, const wchar_t *, size_t);
! 126: wchar_t * _CRTAPI1 wcsncpy(wchar_t *, const wchar_t *, size_t);
! 127: wchar_t * _CRTAPI1 wcspbrk(const wchar_t *, const wchar_t *);
! 128: wchar_t * _CRTAPI1 wcsrchr(const wchar_t *, wchar_t);
! 129: size_t _CRTAPI1 wcsspn(const wchar_t *, const wchar_t *);
! 130: wchar_t * _CRTAPI1 wcsstr(const wchar_t *, const wchar_t *);
! 131: wchar_t * _CRTAPI1 wcstok(wchar_t *, const wchar_t *);
! 132:
! 133: wchar_t * _CRTAPI1 _wcsdup(const wchar_t *);
! 134: int _CRTAPI1 _wcsicmp(const wchar_t *, const wchar_t *);
! 135: int _CRTAPI1 _wcsnicmp(const wchar_t *, const wchar_t *, size_t);
! 136: wchar_t * _CRTAPI1 _wcsnset(wchar_t *, wchar_t, size_t);
! 137: wchar_t * _CRTAPI1 _wcsrev(wchar_t *);
! 138: wchar_t * _CRTAPI1 _wcsset(wchar_t *, wchar_t);
! 139:
! 140: wchar_t * _CRTAPI1 _wcslwr(wchar_t *);
! 141: wchar_t * _CRTAPI1 _wcsupr(wchar_t *);
! 142: size_t _CRTAPI1 wcsxfrm(wchar_t *, const wchar_t *, size_t);
! 143: int _CRTAPI1 wcscoll(const wchar_t *, const wchar_t *);
! 144: int _CRTAPI1 _wcsicoll(const wchar_t *, const wchar_t *);
1.1.1.2 root 145:
1.1.1.3 ! root 146: /* old names */
1.1.1.2 root 147: #define wcswcs wcsstr
148:
149: #define _WSTRING_DEFINED
150: #endif
151:
1.1 root 152: #if !__STDC__
153: /* Non-ANSI names for compatibility */
154: #define memccpy _memccpy
155: #define memicmp _memicmp
156: #define strcmpi _strcmpi
157: #define stricmp _stricmp
158: #define strdup _strdup
159: #define strlwr _strlwr
160: #define strnicmp _strnicmp
161: #define strnset _strnset
162: #define strrev _strrev
163: #define strset _strset
164: #define strupr _strupr
1.1.1.2 root 165: #define stricoll _stricoll
166:
167: #ifdef _MAC_
168: #define c2pstr _c2pstr
169: #define p2cstr _p2cstr
170: #endif
171:
172: #define wcsdup _wcsdup
173: #define wcsicmp _wcsicmp
174: #define wcsnicmp _wcsnicmp
175: #define wcsnset _wcsnset
176: #define wcsrev _wcsrev
177: #define wcsset _wcsset
178: #define wcslwr _wcslwr
179: #define wcsupr _wcsupr
180: #define wcsicoll _wcsicoll
181: #endif /* !__STDC__ */
1.1 root 182:
183: #ifdef __cplusplus
184: }
185: #endif
186:
187: #define _INC_STRING
188: #endif /* _INC_STRING */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.