Team Fortress 2 Source Code as on 22/4/2020
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.

327 lines
8.4 KiB

  1. /*
  2. File: MacLocales.h
  3. Contains: Types & prototypes for locale functions
  4. Version: QuickTime 7.3
  5. Copyright: (c) 2007 (c) 1998-2001 by Apple Computer, Inc., all rights reserved.
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://developer.apple.com/bugreporter/
  9. */
  10. #ifndef __MACLOCALES__
  11. #define __MACLOCALES__
  12. #ifndef __MACTYPES__
  13. #include <MacTypes.h>
  14. #endif
  15. #ifndef __MACERRORS__
  16. #include <MacErrors.h>
  17. #endif
  18. #if PRAGMA_ONCE
  19. #pragma once
  20. #endif
  21. #ifdef __cplusplus
  22. extern "C" {
  23. #endif
  24. #if PRAGMA_IMPORT
  25. #pragma import on
  26. #endif
  27. #if PRAGMA_STRUCT_ALIGN
  28. #pragma options align=mac68k
  29. #elif PRAGMA_STRUCT_PACKPUSH
  30. #pragma pack(push, 2)
  31. #elif PRAGMA_STRUCT_PACK
  32. #pragma pack(2)
  33. #endif
  34. /*
  35. -------------------------------------------------------------------------------------------------
  36. TYPES & CONSTANTS
  37. -------------------------------------------------------------------------------------------------
  38. */
  39. typedef struct OpaqueLocaleRef* LocaleRef;
  40. typedef UInt32 LocalePartMask;
  41. enum {
  42. /* bit set requests the following:*/
  43. kLocaleLanguageMask = 1L << 0, /* ISO 639-1 or -2 language code (2 or 3 letters)*/
  44. kLocaleLanguageVariantMask = 1L << 1, /* custom string for language variant*/
  45. kLocaleScriptMask = 1L << 2, /* ISO 15924 script code (2 letters)*/
  46. kLocaleScriptVariantMask = 1L << 3, /* custom string for script variant*/
  47. kLocaleRegionMask = 1L << 4, /* ISO 3166 country/region code (2 letters)*/
  48. kLocaleRegionVariantMask = 1L << 5, /* custom string for region variant*/
  49. kLocaleAllPartsMask = 0x0000003F /* all of the above*/
  50. };
  51. typedef FourCharCode LocaleOperationClass;
  52. /* constants for LocaleOperationClass are in UnicodeUtilities interfaces*/
  53. typedef FourCharCode LocaleOperationVariant;
  54. struct LocaleAndVariant {
  55. LocaleRef locale;
  56. LocaleOperationVariant opVariant;
  57. };
  58. typedef struct LocaleAndVariant LocaleAndVariant;
  59. typedef UInt32 LocaleNameMask;
  60. enum {
  61. /* bit set requests the following:*/
  62. kLocaleNameMask = 1L << 0, /* name of locale*/
  63. kLocaleOperationVariantNameMask = 1L << 1, /* name of LocaleOperationVariant*/
  64. kLocaleAndVariantNameMask = 0x00000003 /* all of the above*/
  65. };
  66. /*
  67. -------------------------------------------------------------------------------------------------
  68. FUNCTION PROTOTYPES
  69. -------------------------------------------------------------------------------------------------
  70. */
  71. /* Convert to or from LocaleRefs (and related utilities)*/
  72. /*
  73. * LocaleRefFromLangOrRegionCode()
  74. *
  75. * Availability:
  76. * Non-Carbon CFM: in LocalesLib 8.6 and later
  77. * CarbonLib: in CarbonLib 1.0 and later
  78. * Mac OS X: in version 10.0 and later
  79. */
  80. EXTERN_API_C( OSStatus )
  81. LocaleRefFromLangOrRegionCode(
  82. LangCode lang,
  83. RegionCode region,
  84. LocaleRef * locale);
  85. /*
  86. * LocaleRefFromLocaleString()
  87. *
  88. * Availability:
  89. * Non-Carbon CFM: in LocalesLib 8.6 and later
  90. * CarbonLib: in CarbonLib 1.0 and later
  91. * Mac OS X: in version 10.0 and later
  92. */
  93. EXTERN_API_C( OSStatus )
  94. LocaleRefFromLocaleString(
  95. const char localeString[],
  96. LocaleRef * locale);
  97. /*
  98. * LocaleRefGetPartString()
  99. *
  100. * Availability:
  101. * Non-Carbon CFM: in LocalesLib 8.6 and later
  102. * CarbonLib: in CarbonLib 1.0 and later
  103. * Mac OS X: in version 10.0 and later
  104. */
  105. EXTERN_API_C( OSStatus )
  106. LocaleRefGetPartString(
  107. LocaleRef locale,
  108. LocalePartMask partMask,
  109. ByteCount maxStringLen,
  110. char partString[]);
  111. /*
  112. * LocaleStringToLangAndRegionCodes()
  113. *
  114. * Availability:
  115. * Non-Carbon CFM: in LocalesLib 9.0 and later
  116. * CarbonLib: in CarbonLib 1.0 and later
  117. * Mac OS X: in version 10.0 and later
  118. */
  119. EXTERN_API_C( OSStatus )
  120. LocaleStringToLangAndRegionCodes(
  121. const char localeString[],
  122. LangCode * lang,
  123. RegionCode * region);
  124. /* Enumerate locales for a LocaleOperationClass */
  125. /*
  126. * LocaleOperationCountLocales()
  127. *
  128. * Availability:
  129. * Non-Carbon CFM: in LocalesLib 8.6 and later
  130. * CarbonLib: in CarbonLib 1.0 and later
  131. * Mac OS X: in version 10.0 and later
  132. */
  133. EXTERN_API_C( OSStatus )
  134. LocaleOperationCountLocales(
  135. LocaleOperationClass opClass,
  136. ItemCount * localeCount);
  137. /*
  138. * LocaleOperationGetLocales()
  139. *
  140. * Availability:
  141. * Non-Carbon CFM: in LocalesLib 8.6 and later
  142. * CarbonLib: in CarbonLib 1.0 and later
  143. * Mac OS X: in version 10.0 and later
  144. */
  145. EXTERN_API_C( OSStatus )
  146. LocaleOperationGetLocales(
  147. LocaleOperationClass opClass,
  148. ItemCount maxLocaleCount,
  149. ItemCount * actualLocaleCount,
  150. LocaleAndVariant localeVariantList[]);
  151. /* Get names for a locale (or a region's language)*/
  152. /*
  153. * LocaleGetName()
  154. *
  155. * Availability:
  156. * Non-Carbon CFM: in LocalesLib 8.6 and later
  157. * CarbonLib: in CarbonLib 1.0 and later
  158. * Mac OS X: in version 10.0 and later
  159. */
  160. EXTERN_API_C( OSStatus )
  161. LocaleGetName(
  162. LocaleRef locale,
  163. LocaleOperationVariant opVariant,
  164. LocaleNameMask nameMask,
  165. LocaleRef displayLocale,
  166. UniCharCount maxNameLen,
  167. UniCharCount * actualNameLen,
  168. UniChar displayName[]);
  169. /*
  170. * LocaleCountNames()
  171. *
  172. * Availability:
  173. * Non-Carbon CFM: in LocalesLib 8.6 and later
  174. * CarbonLib: in CarbonLib 1.0 and later
  175. * Mac OS X: in version 10.0 and later
  176. */
  177. EXTERN_API_C( OSStatus )
  178. LocaleCountNames(
  179. LocaleRef locale,
  180. LocaleOperationVariant opVariant,
  181. LocaleNameMask nameMask,
  182. ItemCount * nameCount);
  183. /*
  184. * LocaleGetIndName()
  185. *
  186. * Availability:
  187. * Non-Carbon CFM: in LocalesLib 8.6 and later
  188. * CarbonLib: in CarbonLib 1.0 and later
  189. * Mac OS X: in version 10.0 and later
  190. */
  191. EXTERN_API_C( OSStatus )
  192. LocaleGetIndName(
  193. LocaleRef locale,
  194. LocaleOperationVariant opVariant,
  195. LocaleNameMask nameMask,
  196. ItemCount nameIndex,
  197. UniCharCount maxNameLen,
  198. UniCharCount * actualNameLen,
  199. UniChar displayName[],
  200. LocaleRef * displayLocale);
  201. /*
  202. * LocaleGetRegionLanguageName()
  203. *
  204. * Availability:
  205. * Non-Carbon CFM: in LocalesLib 9.0 and later
  206. * CarbonLib: in CarbonLib 1.0 and later
  207. * Mac OS X: in version 10.0 and later
  208. */
  209. EXTERN_API_C( OSStatus )
  210. LocaleGetRegionLanguageName(
  211. RegionCode region,
  212. Str255 languageName);
  213. /* Get names for a LocaleOperationClass*/
  214. /*
  215. * LocaleOperationGetName()
  216. *
  217. * Availability:
  218. * Non-Carbon CFM: in LocalesLib 8.6 and later
  219. * CarbonLib: in CarbonLib 1.0 and later
  220. * Mac OS X: in version 10.0 and later
  221. */
  222. EXTERN_API_C( OSStatus )
  223. LocaleOperationGetName(
  224. LocaleOperationClass opClass,
  225. LocaleRef displayLocale,
  226. UniCharCount maxNameLen,
  227. UniCharCount * actualNameLen,
  228. UniChar displayName[]);
  229. /*
  230. * LocaleOperationCountNames()
  231. *
  232. * Availability:
  233. * Non-Carbon CFM: in LocalesLib 8.6 and later
  234. * CarbonLib: in CarbonLib 1.0 and later
  235. * Mac OS X: in version 10.0 and later
  236. */
  237. EXTERN_API_C( OSStatus )
  238. LocaleOperationCountNames(
  239. LocaleOperationClass opClass,
  240. ItemCount * nameCount);
  241. /*
  242. * LocaleOperationGetIndName()
  243. *
  244. * Availability:
  245. * Non-Carbon CFM: in LocalesLib 8.6 and later
  246. * CarbonLib: in CarbonLib 1.0 and later
  247. * Mac OS X: in version 10.0 and later
  248. */
  249. EXTERN_API_C( OSStatus )
  250. LocaleOperationGetIndName(
  251. LocaleOperationClass opClass,
  252. ItemCount nameIndex,
  253. UniCharCount maxNameLen,
  254. UniCharCount * actualNameLen,
  255. UniChar displayName[],
  256. LocaleRef * displayLocale);
  257. #if PRAGMA_STRUCT_ALIGN
  258. #pragma options align=reset
  259. #elif PRAGMA_STRUCT_PACKPUSH
  260. #pragma pack(pop)
  261. #elif PRAGMA_STRUCT_PACK
  262. #pragma pack()
  263. #endif
  264. #ifdef PRAGMA_IMPORT_OFF
  265. #pragma import off
  266. #elif PRAGMA_IMPORT
  267. #pragma import reset
  268. #endif
  269. #ifdef __cplusplus
  270. }
  271. #endif
  272. #endif /* __MACLOCALES__ */