Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

574 lines
15 KiB

5 years ago
/*
File: TextEncodingConverter.h
Contains: Text Encoding Conversion Interfaces.
Version: QuickTime 7.3
Copyright: (c) 2007 (c) 1994-2001 by Apple Computer, Inc., all rights reserved.
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
#ifndef __TEXTENCODINGCONVERTER__
#define __TEXTENCODINGCONVERTER__
#ifndef __MACTYPES__
#include <MacTypes.h>
#endif
#ifndef __TEXTCOMMON__
#include <TextCommon.h>
#endif
#if PRAGMA_ONCE
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if PRAGMA_IMPORT
#pragma import on
#endif
#if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
#endif
typedef OSType TECPluginSignature;
typedef UInt32 TECPluginVersion;
/* plugin signatures */
enum {
kTECSignature = FOUR_CHAR_CODE('encv'),
kTECUnicodePluginSignature = FOUR_CHAR_CODE('puni'),
kTECJapanesePluginSignature = FOUR_CHAR_CODE('pjpn'),
kTECChinesePluginSignature = FOUR_CHAR_CODE('pzho'),
kTECKoreanPluginSignature = FOUR_CHAR_CODE('pkor')
};
/* converter object reference */
typedef struct OpaqueTECObjectRef* TECObjectRef;
typedef struct OpaqueTECSnifferObjectRef* TECSnifferObjectRef;
typedef OSType TECPluginSig;
struct TECConversionInfo {
TextEncoding sourceEncoding;
TextEncoding destinationEncoding;
UInt16 reserved1;
UInt16 reserved2;
};
typedef struct TECConversionInfo TECConversionInfo;
/* return number of encodings types supported by user's configuraton of the encoding converter */
/*
* TECCountAvailableTextEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECCountAvailableTextEncodings(ItemCount * numberEncodings);
/* fill in an array of type TextEncoding passed in by the user with types of encodings the current configuration of the encoder can handle. */
/*
* TECGetAvailableTextEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECGetAvailableTextEncodings(
TextEncoding availableEncodings[],
ItemCount maxAvailableEncodings,
ItemCount * actualAvailableEncodings);
/* return number of from-to encoding conversion pairs supported */
/*
* TECCountDirectTextEncodingConversions()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECCountDirectTextEncodingConversions(ItemCount * numberOfEncodings);
/* fill in an array of type TextEncodingPair passed in by the user with types of encoding pairs the current configuration of the encoder can handle. */
/*
* TECGetDirectTextEncodingConversions()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECGetDirectTextEncodingConversions(
TECConversionInfo availableConversions[],
ItemCount maxAvailableConversions,
ItemCount * actualAvailableConversions);
/* return number of encodings a given encoding can be converter into */
/*
* TECCountDestinationTextEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECCountDestinationTextEncodings(
TextEncoding inputEncoding,
ItemCount * numberOfEncodings);
/* fill in an array of type TextEncodingPair passed in by the user with types of encodings pairs the current configuration of the encoder can handle. */
/*
* TECGetDestinationTextEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECGetDestinationTextEncodings(
TextEncoding inputEncoding,
TextEncoding destinationEncodings[],
ItemCount maxDestinationEncodings,
ItemCount * actualDestinationEncodings);
/* get info about a text encoding */
/*
* TECGetTextEncodingInternetName()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECGetTextEncodingInternetName(
TextEncoding textEncoding,
Str255 encodingName);
/*
* TECGetTextEncodingFromInternetName()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECGetTextEncodingFromInternetName(
TextEncoding * textEncoding,
ConstStr255Param encodingName);
/* create/dispose converters */
/*
* TECCreateConverter()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECCreateConverter(
TECObjectRef * newEncodingConverter,
TextEncoding inputEncoding,
TextEncoding outputEncoding);
/*
* TECCreateConverterFromPath()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECCreateConverterFromPath(
TECObjectRef * newEncodingConverter,
const TextEncoding inPath[],
ItemCount inEncodings);
/*
* TECDisposeConverter()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECDisposeConverter(TECObjectRef newEncodingConverter);
/* convert text encodings */
/*
* TECClearConverterContextInfo()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECClearConverterContextInfo(TECObjectRef encodingConverter);
/*
* TECConvertText()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECConvertText(
TECObjectRef encodingConverter,
ConstTextPtr inputBuffer,
ByteCount inputBufferLength,
ByteCount * actualInputLength,
TextPtr outputBuffer,
ByteCount outputBufferLength,
ByteCount * actualOutputLength);
/*
* TECFlushText()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECFlushText(
TECObjectRef encodingConverter,
TextPtr outputBuffer,
ByteCount outputBufferLength,
ByteCount * actualOutputLength);
/* one-to-many routines */
/*
* TECCountSubTextEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECCountSubTextEncodings(
TextEncoding inputEncoding,
ItemCount * numberOfEncodings);
/*
* TECGetSubTextEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECGetSubTextEncodings(
TextEncoding inputEncoding,
TextEncoding subEncodings[],
ItemCount maxSubEncodings,
ItemCount * actualSubEncodings);
/*
* TECGetEncodingList()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.1 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECGetEncodingList(
TECObjectRef encodingConverter,
ItemCount * numEncodings,
Handle * encodingList);
/*
* TECCreateOneToManyConverter()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECCreateOneToManyConverter(
TECObjectRef * newEncodingConverter,
TextEncoding inputEncoding,
ItemCount numOutputEncodings,
const TextEncoding outputEncodings[]);
/*
* TECConvertTextToMultipleEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECConvertTextToMultipleEncodings(
TECObjectRef encodingConverter,
ConstTextPtr inputBuffer,
ByteCount inputBufferLength,
ByteCount * actualInputLength,
TextPtr outputBuffer,
ByteCount outputBufferLength,
ByteCount * actualOutputLength,
TextEncodingRun outEncodingsBuffer[],
ItemCount maxOutEncodingRuns,
ItemCount * actualOutEncodingRuns);
/*
* TECFlushMultipleEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECFlushMultipleEncodings(
TECObjectRef encodingConverter,
TextPtr outputBuffer,
ByteCount outputBufferLength,
ByteCount * actualOutputLength,
TextEncodingRun outEncodingsBuffer[],
ItemCount maxOutEncodingRuns,
ItemCount * actualOutEncodingRuns);
/* international internet info */
/*
* TECCountWebTextEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECCountWebTextEncodings(
RegionCode locale,
ItemCount * numberEncodings);
/*
* TECGetWebTextEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECGetWebTextEncodings(
RegionCode locale,
TextEncoding availableEncodings[],
ItemCount maxAvailableEncodings,
ItemCount * actualAvailableEncodings);
/*
* TECCountMailTextEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECCountMailTextEncodings(
RegionCode locale,
ItemCount * numberEncodings);
/*
* TECGetMailTextEncodings()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECGetMailTextEncodings(
RegionCode locale,
TextEncoding availableEncodings[],
ItemCount maxAvailableEncodings,
ItemCount * actualAvailableEncodings);
/* examine text encodings */
/*
* TECCountAvailableSniffers()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECCountAvailableSniffers(ItemCount * numberOfEncodings);
/*
* TECGetAvailableSniffers()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECGetAvailableSniffers(
TextEncoding availableSniffers[],
ItemCount maxAvailableSniffers,
ItemCount * actualAvailableSniffers);
/*
* TECCreateSniffer()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECCreateSniffer(
TECSnifferObjectRef * encodingSniffer,
TextEncoding testEncodings[],
ItemCount numTextEncodings);
/*
* TECSniffTextEncoding()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECSniffTextEncoding(
TECSnifferObjectRef encodingSniffer,
TextPtr inputBuffer,
ByteCount inputBufferLength,
TextEncoding testEncodings[],
ItemCount numTextEncodings,
ItemCount numErrsArray[],
ItemCount maxErrs,
ItemCount numFeaturesArray[],
ItemCount maxFeatures);
/*
* TECDisposeSniffer()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECDisposeSniffer(TECSnifferObjectRef encodingSniffer);
/*
* TECClearSnifferContextInfo()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.2 and later
* CarbonLib: in CarbonLib 1.0 and later
* Mac OS X: in version 10.0 and later
*/
EXTERN_API( OSStatus )
TECClearSnifferContextInfo(TECSnifferObjectRef encodingSniffer);
#if CALL_NOT_IN_CARBON
/*
* TECSetBasicOptions()
*
* Availability:
* Non-Carbon CFM: in TextEncodingConverter 1.5 and later
* CarbonLib: not available
* Mac OS X: not available
*/
EXTERN_API( OSStatus )
TECSetBasicOptions(
TECObjectRef encodingConverter,
OptionBits controlFlags);
#endif /* CALL_NOT_IN_CARBON */
#if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
#endif
#ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
#endif
#ifdef __cplusplus
}
#endif
#endif /* __TEXTENCODINGCONVERTER__ */