annotate IM_AF Encoder/string.h @ 8:c51c0b844461 tip

Ok
author Eugenio Oñate Hospital <eo301@eecs.qmul.ac.uk>
date Tue, 28 Aug 2012 12:20:04 +0100
parents 1636a6250528
children
rev   line source
eo301@2 1 /*
eo301@2 2 * string.h
eo301@2 3 *
eo301@2 4 * Definitions for memory and string functions.
eo301@2 5 *
eo301@2 6 * This file is part of the Mingw32 package.
eo301@2 7 *
eo301@2 8 * Contributors:
eo301@2 9 * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
eo301@2 10 *
eo301@2 11 * THIS SOFTWARE IS NOT COPYRIGHTED
eo301@2 12 *
eo301@2 13 * This source code is offered for use in the public domain. You may
eo301@2 14 * use, modify or distribute it freely.
eo301@2 15 *
eo301@2 16 * This code is distributed in the hope that it will be useful but
eo301@2 17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
eo301@2 18 * DISCLAMED. This includes but is not limited to warranties of
eo301@2 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
eo301@2 20 *
eo301@2 21 * $Revision: 1.1.1.1 $
eo301@2 22 * $Author: brandon6684 $
eo301@2 23 * $Date: 2001/12/18 22:54:03 $
eo301@2 24 *
eo301@2 25 */
eo301@2 26 /* Appropriated for Reactos Crtdll by Ariadne */
eo301@2 27 /* changed prototype for _strerror */
eo301@2 28 /* moved prototype for swab from string.h to stdlib.h */
eo301@2 29
eo301@2 30
eo301@2 31 #ifndef _STRING_H_
eo301@2 32 #define _STRING_H_
eo301@2 33
eo301@2 34 #ifdef __cplusplus
eo301@2 35 extern "C" {
eo301@2 36 #endif
eo301@2 37
eo301@2 38 /*
eo301@2 39 * Define size_t, wchar_t and NULL
eo301@2 40 */
eo301@2 41 #define __need_size_t
eo301@2 42 #define __need_wchar_t
eo301@2 43 #define __need_NULL
eo301@2 44 #include <crtdll/stddef.h>
eo301@2 45
eo301@2 46 char * ___strtok; // removed extern specifier 02-06-98, BD
eo301@2 47
eo301@2 48 /*
eo301@2 49 * Prototypes of the ANSI Standard C library string functions.
eo301@2 50 */
eo301@2 51 void* memchr (const void* p, int cSearchFor, size_t sizeSearch);
eo301@2 52 int memcmp (const void* p1, const void* p2, size_t sizeSearch);
eo301@2 53 void* memcpy (void* pCopyTo, const void* pSource, size_t sizeSource);
eo301@2 54 void* memmove (void* pMoveTo, const void* pSource, size_t sizeSource);
eo301@2 55 void* memset (void* p, int cFill, size_t sizeRepeatCount);
eo301@2 56 char* strcat (char* szAddTo, const char* szAdd);
eo301@2 57 char* strchr (const char* szSearch, int cFor);
eo301@2 58 int strcmp (const char* sz1, const char* sz2);
eo301@2 59 int strcoll (const char* sz1, const char* sz2); /* Compare using locale */
eo301@2 60 char* strcpy (char* szCopyTo, const char* szSource);
eo301@2 61 size_t strcspn (const char* szGetPrefix, const char* szNotIncluding);
eo301@2 62 char* strerror (int nError); /* NOTE: NOT an old name wrapper. */
eo301@2 63 char * _strerror(const char *s);
eo301@2 64 size_t strlen (const char* sz);
eo301@2 65 size_t strnlen (const char* sz, size_t count); // not exported
eo301@2 66 char* strncat (char* szAddTo, const char* szAdd, size_t sizeMaxAdd);
eo301@2 67 int strncmp (const char* sz1, const char* sz2, size_t sizeMaxCompare);
eo301@2 68 char* strncpy (char* szCopyTo, const char* szSource, size_t sizeMaxCopy);
eo301@2 69 char* strpbrk (const char* szSearch, const char* szAnyOf);
eo301@2 70 char* strrchr (const char* szSearch, int cFor);
eo301@2 71 size_t strspn (const char* szGetPrefix, const char *szIncluding);
eo301@2 72 char* strstr (const char* szSearch, const char *szFor);
eo301@2 73 char* strtok (char* szTokenize, const char* szDelimiters);
eo301@2 74 size_t strxfrm (char* szTransformed, const char *szSource,
eo301@2 75 size_t sizeTransform);
eo301@2 76
eo301@2 77 #ifndef __STRICT_ANSI__
eo301@2 78 /*
eo301@2 79 * Extra non-ANSI functions provided by the CRTDLL library
eo301@2 80 */
eo301@2 81 void* _memccpy (void* pCopyTo, const void* pSource, int cTerminator,
eo301@2 82 size_t sizeMaxCopy);
eo301@2 83 int _memicmp (const void* p1, const void* p2, size_t sizeSearch);
eo301@2 84 char* _strdup (const char *szDuplicate);
eo301@2 85 int _strcmpi (const char* sz1, const char* sz2);
eo301@2 86 int _stricmp (const char* sz1, const char* sz2);
eo301@2 87 int _stricoll (const char* sz1, const char* sz2);
eo301@2 88 char* _strlwr (char* szToConvert);
eo301@2 89 int _strnicmp (const char* sz1, const char* sz2,
eo301@2 90 size_t sizeMaxCompare);
eo301@2 91 char* _strnset (char* szToFill, int cFill, size_t sizeMaxFill);
eo301@2 92 char* _strrev (char* szToReverse);
eo301@2 93 char* _strset (char* szToFill, int cFill);
eo301@2 94 char* _strupr (char* szToConvert);
eo301@2 95
eo301@2 96
eo301@2 97 #endif /* Not __STRICT_ANSI__ */
eo301@2 98
eo301@2 99
eo301@2 100 /*
eo301@2 101 * Unicode versions of the standard calls.
eo301@2 102 */
eo301@2 103 wchar_t* wcscat (wchar_t* wsAddTo, const wchar_t* wsAdd);
eo301@2 104 wchar_t* wcschr (const wchar_t* wsSearch, wchar_t wcFor);
eo301@2 105 int wcscmp (const wchar_t* ws1, const wchar_t* ws2);
eo301@2 106 int wcscoll (const wchar_t* ws1, const wchar_t* ws2);
eo301@2 107 wchar_t* wcscpy (wchar_t* wsCopyTo, const wchar_t* wsSource);
eo301@2 108 size_t wcscspn (const wchar_t* wsGetPrefix, const wchar_t* wsNotIncluding);
eo301@2 109 /* Note: No wcserror in CRTDLL. */
eo301@2 110 size_t wcslen (const wchar_t* ws);
eo301@2 111 wchar_t* wcsncat (wchar_t* wsAddTo, const wchar_t* wsAdd, size_t sizeMaxAdd);
eo301@2 112 int wcsncmp(const wchar_t* ws1, const wchar_t* ws2, size_t sizeMaxCompare);
eo301@2 113 wchar_t* wcsncpy(wchar_t* wsCopyTo, const wchar_t* wsSource,
eo301@2 114 size_t sizeMaxCopy);
eo301@2 115 wchar_t* wcspbrk(const wchar_t* wsSearch, const wchar_t* wsAnyOf);
eo301@2 116 wchar_t* wcsrchr(const wchar_t* wsSearch, wchar_t wcFor);
eo301@2 117 size_t wcsspn(const wchar_t* wsGetPrefix, const wchar_t* wsIncluding);
eo301@2 118 wchar_t* wcsstr(const wchar_t* wsSearch, const wchar_t* wsFor);
eo301@2 119 wchar_t* wcstok(wchar_t* wsTokenize, const wchar_t* wsDelimiters);
eo301@2 120 size_t wcsxfrm(wchar_t* wsTransformed, const wchar_t *wsSource,
eo301@2 121 size_t sizeTransform);
eo301@2 122
eo301@2 123
eo301@2 124 #ifndef __STRICT_ANSI__
eo301@2 125 /*
eo301@2 126 * Unicode versions of non-ANSI functions provided by CRTDLL.
eo301@2 127 */
eo301@2 128
eo301@2 129 /* NOTE: _wcscmpi not provided by CRTDLL, this define is for portability */
eo301@2 130 #define _wcscmpi _wcsicmp
eo301@2 131
eo301@2 132 wchar_t* _wcsdup (const wchar_t* wsToDuplicate);
eo301@2 133 int _wcsicmp (const wchar_t* ws1, const wchar_t* ws2);
eo301@2 134 int _wcsicoll (const wchar_t* ws1, const wchar_t* ws2);
eo301@2 135 wchar_t* _wcslwr (wchar_t* wsToConvert);
eo301@2 136 int _wcsnicmp (const wchar_t* ws1, const wchar_t* ws2,
eo301@2 137 size_t sizeMaxCompare);
eo301@2 138 wchar_t* _wcsnset (wchar_t* wsToFill, wchar_t wcFill, size_t sizeMaxFill);
eo301@2 139 wchar_t* _wcsrev (wchar_t* wsToReverse);
eo301@2 140 wchar_t* _wcsset (wchar_t* wsToFill, wchar_t wcToFill);
eo301@2 141 wchar_t* _wcsupr (wchar_t* wsToConvert);
eo301@2 142
eo301@2 143 #endif /* Not __STRICT_ANSI__ */
eo301@2 144
eo301@2 145
eo301@2 146 #ifndef __STRICT_ANSI__
eo301@2 147 #ifndef _NO_OLDNAMES
eo301@2 148
eo301@2 149 /*
eo301@2 150 * Non-underscored versions of non-ANSI functions. They live in liboldnames.a
eo301@2 151 * and provide a little extra portability. Also a few extra UNIX-isms like
eo301@2 152 * strcasecmp.
eo301@2 153 */
eo301@2 154
eo301@2 155 void* memccpy (void* pCopyTo, const void* pSource, int cTerminator,
eo301@2 156 size_t sizeMaxCopy);
eo301@2 157 int memicmp (const void* p1, const void* p2, size_t sizeSearch);
eo301@2 158 #define strdup(szDuplicate) _strdup(szDuplicate)
eo301@2 159 int strcmpi (const char* sz1, const char* sz2);
eo301@2 160 int stricmp (const char* sz1, const char* sz2);
eo301@2 161 int strcasecmp (const char* sz1, const char* sz2);
eo301@2 162 int stricoll (const char* sz1, const char* sz2);
eo301@2 163 char* strlwr (char* szToConvert);
eo301@2 164 int strnicmp (const char* sz1, const char* sz2, size_t sizeMaxCompare);
eo301@2 165 int strncasecmp (const char* sz1, const char* sz2, size_t sizeMaxCompare);
eo301@2 166 char* strnset (char* szToFill, int cFill, size_t sizeMaxFill);
eo301@2 167 char* strrev (char* szToReverse);
eo301@2 168 char* strset (char* szToFill, int cFill);
eo301@2 169 char* strupr (char* szToConvert);
eo301@2 170
eo301@2 171
eo301@2 172 /* NOTE: There is no _wcscmpi, but this is for compatibility. */
eo301@2 173 int wcscmpi (const wchar_t* ws1, const wchar_t* ws2);
eo301@2 174 wchar_t* wcsdup (const wchar_t* wsToDuplicate);
eo301@2 175 int wcsicmp (const wchar_t* ws1, const wchar_t* ws2);
eo301@2 176 int wcsicoll (const wchar_t* ws1, const wchar_t* ws2);
eo301@2 177 wchar_t* wcslwr (wchar_t* wsToConvert);
eo301@2 178 int wcsnicmp (const wchar_t* ws1, const wchar_t* ws2,
eo301@2 179 size_t sizeMaxCompare);
eo301@2 180 wchar_t* wcsnset (wchar_t* wsToFill, wchar_t wcFill, size_t sizeMaxFill);
eo301@2 181 wchar_t* wcsrev (wchar_t* wsToReverse);
eo301@2 182 wchar_t* wcsset (wchar_t* wsToFill, wchar_t wcToFill);
eo301@2 183 wchar_t* wcsupr (wchar_t* wsToConvert);
eo301@2 184
eo301@2 185 #endif /* Not _NO_OLDNAMES */
eo301@2 186 #endif /* Not strict ANSI */
eo301@2 187
eo301@2 188 #endif
eo301@2 189
eo301@2 190 #ifdef __cplusplus
eo301@2 191 }; /* extern "c" */
eo301@2 192 #endif