/* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ /* bos720 src/bos/kernel/sys/lc_core.h 1.6.1.4 */ /* */ /* Licensed Materials - Property of IBM */ /* */ /* COPYRIGHT International Business Machines Corp. 1985,1993 */ /* All Rights Reserved */ /* */ /* US Government Users Restricted Rights - Use, duplication or */ /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ /* */ /* IBM_PROLOG_END_TAG */ /* @(#)52 1.6.1.4 src/bos/kernel/sys/lc_core.h, libcloc, bos720 2/15/97 09:18:50 */ /* * * COMPONENT_NAME: (LIBCLOC) Locale Related Data Structures and API * * FUNCTIONS: * * ORIGINS: 27 * * (C) COPYRIGHT International Business Machines Corp. 1985, 1993 * All Rights Reserved * Licensed Materials - Property of IBM * * US Government Users Restricted Rights - Use, duplication or * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. */ #ifndef __H_LC_CORE #define __H_LC_CORE #include #ifdef __cplusplus extern "C" { #endif #ifdef _PTR_METH #define __DECL_METH(__h,__n) __h __n #define __OBJ_DATA(__h) (__h).obj #else #define __DECL_METH(__h,__n) int __n #define __OBJ_DATA(__h) (__h).obj #define __OBJ_METH(__h) (__h).meth #endif typedef struct { unsigned short __type_id, __magic; unsigned long __version; size_t __size; } _LC_object_t; /* ** Valid type ids for type_id above. */ #define _LC_CAR 1 #define _LC_LOCALE 2 #define _LC_CHARMAP 3 #define _LC_CTYPE 4 #define _LC_COLLATE 5 #define _LC_NUMERIC 6 #define _LC_MONETARY 7 #define _LC_TIME 8 #define _LC_RESP 9 #define _LC_OBJ_HDL 10 /* ** Object magic for V3.2/4.x */ #define _LC_MAGIC 0x4C43 /* ** Version AIX V4.1 */ #define _LC_VERSION 0x40000000 #define _AIX320_LC_VERSION 0x33323030 #define _AIX323_LC_VERSION 0x33323130 /* Macros to extract major and minor version pieces from a version number */ #define _LC_MAJOR_PART(_lc_version) ((_lc_version >> 16) & 0x0000FFFF) #define _LC_MINOR_PART(_lc_version) (_lc_version & 0x0000FFFF) #define _LC_MAJOR (_LC_MAJOR_PART(_LC_VERSION)) #define _LC_MINOR (_LC_MINOR_PART(_LC_VERSION)) typedef struct { _LC_object_t __hdr; /* Message Services API Methods */ __DECL_METH(unsigned char *, __catgets); __DECL_METH(void, __catclose); /* Message compression methods */ __DECL_METH(char *, __compress); __DECL_METH(char *, __decompress); __DECL_METH(int, __start_compress); __DECL_METH(int, __end_compress); /* Initialization method */ __DECL_METH(int, __init); void *__data; } _LC_core_car_t; typedef struct { _LC_object_t __hdr; /* locale info method */ __DECL_METH(char *, __nl_langinfo); /* Process code conversion methods */ __DECL_METH(size_t, __mbtowc); __DECL_METH(size_t, __mbstowcs); __DECL_METH(int, __wctomb); __DECL_METH(size_t, __wcstombs); /* Character encoding length method */ __DECL_METH(int, __mblen); /* Character display width methods */ __DECL_METH(size_t, __wcswidth); __DECL_METH(size_t, __wcwidth); /* private PC/CP converters */ __DECL_METH(size_t, __mbtopc); __DECL_METH(size_t, __mbstopcs); __DECL_METH(int, __pctomb); __DECL_METH(int, __pcstombs); /* character set id method */ __DECL_METH(char *, __csid); __DECL_METH(char *, __wcsid); /* implementation initialization */ __DECL_METH(int, __init); void *__data; } _LC_core_charmap_t; typedef struct { _LC_object_t __hdr; /* case convertersion methods */ __DECL_METH(wchar_t, __towupper); __DECL_METH(wchar_t, __towlower); /* classification methods */ __DECL_METH(unsigned int, __get_wctype); __DECL_METH(int, __is_wctype); /* implementation initialization */ __DECL_METH(int, __init); void *__data; } _LC_core_ctype_t; typedef struct { _LC_object_t __hdr; /* character collation methods */ __DECL_METH(int, __strcoll); __DECL_METH(size_t, __strxfrm); /* process code collation methods */ __DECL_METH(int, __wcscoll); __DECL_METH(size_t, __wcsxfrm); /* filename matching methods */ __DECL_METH(int, __fnmatch); /* regular expression methods */ __DECL_METH(int, __regcomp); __DECL_METH(size_t, __regerror); __DECL_METH(int, __regexec); __DECL_METH(void, __regfree); /* implementation initialization */ __DECL_METH(int, __init); void *__data; } _LC_core_collate_t; typedef struct { _LC_object_t __hdr; /* time info method */ __DECL_METH(char *, __nl_langinfo); /* time character string formatting methods */ __DECL_METH(size_t, __strftime); __DECL_METH(char *, __strptime); /* time process code string formatting methods */ __DECL_METH(size_t, __wcsftime); /* implementation initialization */ __DECL_METH(int, __init); void *__data; } _LC_core_time_t; typedef struct { _LC_object_t __hdr; /* monetary info method */ __DECL_METH(char *, __nl_langinfo); /* character string monetary formatting method */ __DECL_METH(size_t, __strfmon); /* implementation initialization */ __DECL_METH(int, __init); void *__data; } _LC_core_monetary_t; typedef struct { _LC_object_t __hdr; /* langinfo method */ __DECL_METH(char *, __nl_langinfo); /* implementation initialization */ __DECL_METH(int, __init); void *__data; } _LC_core_numeric_t; typedef struct { _LC_object_t __hdr; /* langinfo method */ __DECL_METH(char *, __nl_langinfo); /* response matching method */ __DECL_METH(char *, __rpmatch); /* implementation initialization */ __DECL_METH(int, __init); void *__data; } _LC_core_resp_t; typedef struct { _LC_object_t __hdr; /* langinfo method */ __DECL_METH(char *, __nl_langinfo); __DECL_METH(struct lconv *, __localeconv); /* Initialization */ __DECL_METH(int, __init); void *__data; } _LC_core_locale_t; #ifdef __cplusplus } #endif #endif