X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/51631861ddb16afcfcf748cee26c14481549065e..HEAD:/include/runetype.h diff --git a/include/runetype.h b/include/runetype.h index 2aedf2f..b3dcce2 100644 --- a/include/runetype.h +++ b/include/runetype.h @@ -1,25 +1,3 @@ -/* - * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ /*- * Copyright (c) 1993 * The Regents of the University of California. All rights reserved. @@ -61,39 +39,17 @@ #ifndef _RUNETYPE_H_ #define _RUNETYPE_H_ -#include -#include - -#ifndef _BSD_SIZE_T_DEFINED_ -#define _BSD_SIZE_T_DEFINED_ -typedef _BSD_SIZE_T_ size_t; -#endif - -#ifndef _BSD_CT_RUNE_T_DEFINED_ -#define _BSD_CT_RUNE_T_DEFINED_ -typedef _BSD_CT_RUNE_T_ ct_rune_t; -#endif - -#ifndef _BSD_RUNE_T_DEFINED_ -#define _BSD_RUNE_T_DEFINED_ -typedef _BSD_RUNE_T_ rune_t; -#endif - -#ifndef __cplusplus -#ifndef _BSD_WCHAR_T_DEFINED_ -#define _BSD_WCHAR_T_DEFINED_ -#ifdef __WCHAR_TYPE__ -typedef __WCHAR_TYPE__ wchar_t; -#else /* ! __WCHAR_TYPE__ */ -typedef _BSD_WCHAR_T_ wchar_t; -#endif /* __WCHAR_TYPE__ */ -#endif /* _BSD_WCHAR_T_DEFINED_ */ -#endif /* __cplusplus */ - -#ifndef _BSD_WINT_T_DEFINED_ -#define _BSD_WINT_T_DEFINED_ -typedef _BSD_WINT_T_ wint_t; -#endif +#include <_types.h> + +#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) + +#include +#include +#include +#include +#include + +#endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ #define _CACHED_RUNES (1 <<8 ) /* Must be a power of 2 */ #define _CRMASK (~(_CACHED_RUNES - 1)) @@ -102,45 +58,54 @@ typedef _BSD_WINT_T_ wint_t; * The lower 8 bits of runetype[] contain the digit value of the rune. */ typedef struct { - rune_t min; /* First rune of the range */ - rune_t max; /* Last rune (inclusive) of the range */ - rune_t map; /* What first maps to in maps */ - unsigned long *types; /* Array of types in range */ + __darwin_rune_t __min; /* First rune of the range */ + __darwin_rune_t __max; /* Last rune (inclusive) of the range */ + __darwin_rune_t __map; /* What first maps to in maps */ + __uint32_t *__types; /* Array of types in range */ } _RuneEntry; typedef struct { - int nranges; /* Number of ranges stored */ - _RuneEntry *ranges; /* Pointer to the ranges */ + int __nranges; /* Number of ranges stored */ + _RuneEntry *__ranges; /* Pointer to the ranges */ } _RuneRange; typedef struct { - char magic[8]; /* Magic saying what version we are */ - char encoding[32]; /* ASCII name of this encoding */ + char __name[14]; /* CHARCLASS_NAME_MAX = 14 */ + __uint32_t __mask; /* charclass mask */ +} _RuneCharClass; - rune_t (*sgetrune) - (const char *, size_t, char const **); - int (*sputrune) - (rune_t, char *, size_t, char **); - rune_t invalid_rune; +typedef struct { + char __magic[8]; /* Magic saying what version we are */ + char __encoding[32]; /* ASCII name of this encoding */ + + __darwin_rune_t (*__sgetrune)(const char *, __darwin_size_t, char const **); + int (*__sputrune)(__darwin_rune_t, char *, __darwin_size_t, char **); + __darwin_rune_t __invalid_rune; - unsigned long runetype[_CACHED_RUNES]; - rune_t maplower[_CACHED_RUNES]; - rune_t mapupper[_CACHED_RUNES]; + __uint32_t __runetype[_CACHED_RUNES]; + __darwin_rune_t __maplower[_CACHED_RUNES]; + __darwin_rune_t __mapupper[_CACHED_RUNES]; /* * The following are to deal with Runes larger than _CACHED_RUNES - 1. * Their data is actually contiguous with this structure so as to make * it easier to read/write from/to disk. */ - _RuneRange runetype_ext; - _RuneRange maplower_ext; - _RuneRange mapupper_ext; + _RuneRange __runetype_ext; + _RuneRange __maplower_ext; + _RuneRange __mapupper_ext; + + void *__variable; /* Data which depends on the encoding */ + int __variable_len; /* how long that data is */ - void *variable; /* Data which depends on the encoding */ - int variable_len; /* how long that data is */ + /* + * extra fields to deal with arbitrary character classes + */ + int __ncharclasses; + _RuneCharClass *__charclasses; } _RuneLocale; -#define _RUNE_MAGIC_1 "RuneMagi" /* Indicates version 0 of RuneLocale */ +#define _RUNE_MAGIC_A "RuneMagA" /* Indicates version A of RuneLocale */ __BEGIN_DECLS extern _RuneLocale _DefaultRuneLocale;