CFStringEncodingConverterPriv.h [plain text]
#if !defined(__COREFOUNDATION_CFSTRINGENCODINGCONVERTERPRIV__)
#define __COREFOUNDATION_CFSTRINGENCODINGCONVERTERPRIV__ 1
#include <CoreFoundation/CFBase.h>
#include "CFStringEncodingConverterExt.h"
#define MAX_IANA_ALIASES (4)
typedef CFIndex (*_CFToBytesProc)(const void *converter, uint32_t flags, const UniChar *characters, CFIndex numChars, uint8_t *bytes, CFIndex maxByteLen, CFIndex *usedByteLen);
typedef CFIndex (*_CFToUnicodeProc)(const void *converter, uint32_t flags, const uint8_t *bytes, CFIndex numBytes, UniChar *characters, CFIndex maxCharLen, CFIndex *usedCharLen);
typedef struct {
_CFToBytesProc toBytes;
_CFToUnicodeProc toUnicode;
_CFToUnicodeProc toCanonicalUnicode;
void *_toBytes; void *_toUnicode; uint16_t maxLen;
uint16_t :16;
CFStringEncodingToBytesLenProc toBytesLen;
CFStringEncodingToUnicodeLenProc toUnicodeLen;
CFStringEncodingToBytesFallbackProc toBytesFallback;
CFStringEncodingToUnicodeFallbackProc toUnicodeFallback;
CFStringEncodingToBytesPrecomposeProc toBytesPrecompose;
CFStringEncodingIsValidCombiningCharacterProc isValidCombiningChar;
} _CFEncodingConverter;
typedef struct {
uint32_t encoding;
_CFEncodingConverter *converter;
const char *encodingName;
const char *ianaNames[MAX_IANA_ALIASES];
const char *loadablePath;
CFStringEncodingBootstrapProc bootstrap;
CFStringEncodingToBytesFallbackProc toBytesFallback;
CFStringEncodingToUnicodeFallbackProc toUnicodeFallback;
uint32_t scriptCode;
} _CFConverterEntry;
extern const CFStringEncodingConverter __CFConverterASCII;
extern const CFStringEncodingConverter __CFConverterISOLatin1;
extern const CFStringEncodingConverter __CFConverterMacRoman;
extern const CFStringEncodingConverter __CFConverterWinLatin1;
extern const CFStringEncodingConverter __CFConverterNextStepLatin;
extern const CFStringEncodingConverter __CFConverterUTF8;
#endif