home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / lc_core.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-20  |  5.9 KB  |  280 lines

  1. #if (defined(__IBMC__) || defined(__IBMCPP__))
  2. #pragma info( none )
  3. #ifndef __CHKHDR__
  4.    #pragma info( none )
  5. #endif
  6. #pragma info( restore )
  7. #endif
  8.  
  9. #ifndef __lc_core_h
  10.    #define __lc_core_h
  11.  
  12.    #ifdef __cplusplus
  13.       extern "C" {
  14.    #endif
  15.  
  16.    #ifndef  _LNK_CONV
  17.      #ifdef _M_I386
  18.          #define  _LNK_CONV   _Optlink
  19.      #else
  20.        #define  _LNK_CONV
  21.      #endif
  22.    #endif
  23.  
  24.    /********************************************************************/
  25.    /*  <lc_core.h> header file                                         */
  26.    /*                                                                  */
  27.    /*  VisualAge for C++ for Windows, Version 3.5                      */
  28.    /*    Licensed Material - Property of IBM                           */
  29.    /*                                                                  */
  30.    /*  5801-ARR and Other Materials                                    */
  31.    /*                                                                  */
  32.    /*  (c) Copyright IBM Corp 1991, 1996. All rights reserved.         */
  33.    /*                                                                  */
  34.    /********************************************************************/
  35.  
  36. #include <stddef.h>
  37.  
  38.  /*
  39.  ** Valid type ids for type_id above.
  40.  */
  41. #define _LC_CAR       1
  42. #define _LC_LOCALE    2
  43. #define _LC_CHARMAP   3
  44. #define _LC_CTYPE     4
  45. #define _LC_COLLATE   5
  46. #define _LC_NUMERIC   6
  47. #define _LC_MONETARY  7
  48. #define _LC_TIME      8
  49. #define _LC_RESP      9
  50. #define _LC_SYNTAX   10
  51. #define _LC_TOD      11
  52.  
  53.  /*
  54.  ** Object magic for C/C++
  55.  */
  56. #define _LC_MAGIC     0x4C43
  57.  
  58.  /*
  59.  ** Version C/C++
  60.  */
  61. #define _LC_VERSION   0x00011000
  62.  
  63. #ifndef __lc_object
  64.  #define __lc_object 1
  65.    typedef struct {
  66.  
  67.        unsigned short
  68.            type_id,
  69.            magic;
  70.        unsigned long
  71.            version;
  72.  
  73.        size_t  size;
  74.  
  75.    } _LC_object_t;
  76. #endif
  77.  
  78. typedef struct {
  79.  
  80.     _LC_object_t  hdr;
  81.  
  82.     /* Message Services API Methods */
  83.     unsigned char
  84.             * (*catgets)();
  85.     void    (*catclose)();
  86.  
  87.     /* Message compression methods */
  88.     char    *(*compress)();
  89.     char    *(*decompress)();
  90.     int     (*start_compress)();
  91.     int     (*end_compress)();
  92.  
  93.     /* Initialization method */
  94.     int     (*init)();
  95.     void    *data;
  96. } _LC_core_car_t;
  97.  
  98. typedef struct {
  99.  
  100.     _LC_object_t  hdr;
  101.  
  102.     /* Process code conversion methods */
  103.     int      (*mbtowc)();
  104.     size_t   (*mbstowcs)();
  105.     int      (*wctomb)();
  106.     size_t   (*wcstombs)();
  107.  
  108.     /* Character encoding length method */
  109.     int      (*mblen)();
  110.  
  111.     /* Character display width methods */
  112.     int      (*wcswidth)();
  113.     int      (*wcwidth)();
  114.  
  115.     /* Character set id methods */
  116.     int      (*csid)();
  117.     int      (*wcsid)();
  118.  
  119.     /* character state-dependent encoding methods */
  120.     int      (*mbsinit)();
  121.     size_t   (*mbrlen)();
  122.     size_t   (*mbrtowc)();
  123.     size_t   (*wcrtomb)();
  124.     size_t   (*mbsrtowcs)();
  125.     size_t   (*wcsrtombs)();
  126.  
  127.     /* implementation initialization */
  128.     int      (*init)();
  129.     void     *data;
  130. } _LC_core_charmap_t;
  131.  
  132.  
  133. typedef struct {
  134.  
  135.     _LC_object_t  hdr;
  136.  
  137.     /* case convertersion methods */
  138.     wchar_t  (*towupper)();
  139.     wchar_t  (*towlower)();
  140.  
  141.     /* classification methods */
  142.     unsigned
  143.       int    (*wctype)();
  144.     int      (*iswctype)();
  145.  
  146.     /* implementation initialization */
  147.     int      (*init)();
  148.     void     *data;
  149. } _LC_core_ctype_t;
  150.  
  151. typedef struct {
  152.  
  153.     _LC_object_t  hdr;
  154.  
  155.     /* character collation methods */
  156.     int      (*strcoll)();
  157.     size_t   (*strxfrm)();
  158.  
  159.     /* process code collation methods */
  160.     int      (*wcscoll)();
  161.     size_t   (*wcsxfrm)();
  162.  
  163.     /* filename matching methods */
  164.     int      (*fnmatch)();
  165.  
  166.     /* regular expression methods */
  167.     int      (*regcomp)();
  168.     size_t   (*regerror)();
  169.     int      (*regexec)();
  170.     void     (*regfree)();
  171.  
  172.     /* implementation initialization */
  173.     int      (*init)();
  174.     void     *data;
  175. } _LC_core_collate_t;
  176.  
  177.  
  178. typedef struct {
  179.  
  180.     _LC_object_t  hdr;
  181.  
  182.     /* time character string formatting methods */
  183.     size_t   (*strftime)();
  184.     char     *(*strptime)();
  185.  
  186.     /* time process code string formatting methods */
  187.     size_t   (*wcsftime)();
  188.  
  189.     /* implementation initialization */
  190.     int      (*init)();
  191.     void     *data;
  192.  
  193.     /* date/time formatting convention method */
  194.     struct dtconv  *(*localdtconv)();
  195. } _LC_core_time_t;
  196.  
  197.  
  198. typedef struct {
  199.  
  200.     _LC_object_t  hdr;
  201.  
  202.     /* character string monetary formatting method */
  203.     int      (*strfmon)();
  204.  
  205.     /* implementation initialization */
  206.     int      (*init)();
  207.     void     *data;
  208. } _LC_core_monetary_t;
  209.  
  210.  
  211. typedef struct {
  212.  
  213.     _LC_object_t  hdr;
  214.  
  215.     /* implementation initialization */
  216.     int      (*init)();
  217.     void     *data;
  218. } _LC_core_numeric_t;
  219.  
  220.  
  221. typedef struct {
  222.  
  223.     _LC_object_t  hdr;
  224.  
  225.     /* response matching method */
  226.     int         (*rpmatch)();
  227.  
  228.     /* implementation initialization */
  229.     int         (*init)();
  230.     void        *data;
  231. } _LC_core_resp_t;
  232.  
  233.  
  234. typedef struct {
  235.  
  236.     _LC_object_t  hdr;
  237.  
  238.     /* implementation initialization */
  239.     int      (*init)();
  240.     void     *data;
  241. } _LC_core_syntax_t;
  242.  
  243.  
  244. typedef struct {
  245.  
  246.     _LC_object_t  hdr;
  247.  
  248.     /* implementation initialization */
  249.     int      (*init)();
  250.     void     *data;
  251. } _LC_core_tod_t;
  252.  
  253.  
  254. typedef struct {
  255.  
  256.     _LC_object_t hdr;
  257.  
  258.     /* langinfo method */
  259.     char         *(*nl_langinfo)();
  260.     struct lconv * (*localeconv)();
  261.  
  262.     /* Initialization */
  263.     int          (*init)();
  264.     void         *data;
  265. } _LC_core_locale_t;
  266.  
  267.    #ifdef __cplusplus
  268.       }
  269.    #endif
  270.  
  271. #endif
  272.  
  273. #if (defined(__IBMC__) || defined(__IBMCPP__))
  274. #pragma info( none )
  275. #ifndef __CHKHDR__
  276.    #pragma info( restore )
  277. #endif
  278. #pragma info( restore )
  279. #endif
  280.