home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / evbl0627.zip / everblue_20010627.zip / x11 / XlcPubI.h < prev    next >
C/C++ Source or Header  |  1999-11-02  |  6KB  |  247 lines

  1. /* $TOG: XlcPubI.h /main/8 1997/06/03 15:52:40 kaleb $ */
  2. /*
  3.  * Copyright 1992, 1993 by TOSHIBA Corp.
  4.  *
  5.  * Permission to use, copy, modify, and distribute this software and its
  6.  * documentation for any purpose and without fee is hereby granted, provided
  7.  * that the above copyright notice appear in all copies and that both that
  8.  * copyright notice and this permission notice appear in supporting
  9.  * documentation, and that the name of TOSHIBA not be used in advertising
  10.  * or publicity pertaining to distribution of the software without specific,
  11.  * written prior permission. TOSHIBA make no representations about the
  12.  * suitability of this software for any purpose.  It is provided "as is"
  13.  * without express or implied warranty.
  14.  *
  15.  * TOSHIBA DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  16.  * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  17.  * TOSHIBA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  18.  * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  19.  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  20.  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  21.  * SOFTWARE.
  22.  *
  23.  * Author: Katsuhisa Yano    TOSHIBA Corp.
  24.  *                   mopi@osa.ilab.toshiba.co.jp
  25.  */
  26. /* $XFree86: xc/lib/X11/XlcPubI.h,v 3.2.2.3 1998/02/01 22:08:09 robin Exp $ */
  27.  
  28. #ifndef _XLCPUBLICI_H_
  29. #define _XLCPUBLICI_H_
  30.  
  31. #include "XlcPublic.h"
  32.  
  33. #define XLC_PUBLIC(lcd, x)    (((XLCdPublic) lcd->core)->pub.x)
  34. #define XLC_PUBLIC_PART(lcd)    (&(((XLCdPublic) lcd->core)->pub))
  35. #define XLC_PUBLIC_METHODS(lcd)    (&(((XLCdPublicMethods) lcd->methods)->pub))
  36.  
  37. /*
  38.  * XLCd public methods
  39.  */
  40.  
  41. typedef struct _XLCdPublicMethodsRec *XLCdPublicMethods;
  42.  
  43. typedef XLCd (*XlcPubCreateProc)(
  44. #if NeedFunctionPrototypes
  45.     _Xconst char*        /* name */,
  46.     XLCdMethods        /* methods */
  47. #endif
  48. );
  49.  
  50. typedef Bool (*XlcPubInitializeProc)(
  51. #if NeedFunctionPrototypes
  52.     XLCd        /* lcd */
  53. #endif
  54. );
  55.  
  56. typedef void (*XlcPubDestroyProc)(
  57. #if NeedFunctionPrototypes
  58.     XLCd        /* lcd */
  59. #endif
  60. );
  61.  
  62. typedef char* (*XlcPubGetValuesProc)(
  63. #if NeedFunctionPrototypes
  64.     XLCd        /* lcd */,
  65.     XlcArgList        /* args */,
  66.     int            /* num_args */
  67. #endif
  68. );
  69.  
  70. typedef void (*XlcPubGetResourceProc)(
  71. #if NeedFunctionPrototypes
  72.     XLCd        /* lcd */,
  73.     char*        /* category */,
  74.     char*        /* class */,
  75.     char***        /* value */,
  76.     int*        /* count */
  77. #endif
  78. );
  79.  
  80. typedef struct _XLCdPublicMethodsPart {
  81.     XLCdPublicMethods superclass;
  82.     XlcPubCreateProc create;
  83.     XlcPubInitializeProc initialize;
  84.     XlcPubDestroyProc destroy;
  85.     XlcPubGetValuesProc get_values;
  86.     XlcPubGetResourceProc get_resource;
  87. } XLCdPublicMethodsPart;
  88.  
  89. typedef struct _XLCdPublicMethodsRec {
  90.     XLCdMethodsRec core;
  91.     XLCdPublicMethodsPart pub;
  92. } XLCdPublicMethodsRec;
  93.  
  94. /*
  95.  * XLCd public data
  96.  */
  97.  
  98. typedef struct _XLCdPublicPart {
  99.     char *siname;            /* for _XlcMapOSLocaleName() */
  100.     char *language;            /* language part of locale name */
  101.     char *territory;            /* territory part of locale name */
  102.     char *codeset;            /* codeset part of locale name */
  103.     char *encoding_name;        /* encoding name */
  104.     int mb_cur_max;            /* ANSI C MB_CUR_MAX */
  105.     Bool is_state_depend;        /* state-depend encoding */
  106.     char *default_string;        /* for XDefaultString() */
  107.     XPointer xlocale_db;
  108. } XLCdPublicPart;
  109.  
  110. typedef struct _XLCdPublicRec {
  111.     XLCdCoreRec core;    
  112.     XLCdPublicPart pub;
  113. } XLCdPublicRec, *XLCdPublic;
  114.  
  115. extern XLCdMethods _XlcPublicMethods;
  116.  
  117. _XFUNCPROTOBEGIN
  118.  
  119. extern XLCd _XlcCreateLC(
  120. #if NeedFunctionPrototypes
  121.     _Xconst char*        /* name */,
  122.     XLCdMethods        /* methods */
  123. #endif
  124. );
  125.  
  126. extern void _XlcDestroyLC(
  127. #if NeedFunctionPrototypes
  128.     XLCd        /* lcd */
  129. #endif
  130. );
  131.  
  132. extern Bool _XlcParseCharSet(
  133. #if NeedFunctionPrototypes
  134.     XlcCharSet        /* charset */
  135. #endif
  136. );
  137.  
  138. extern XlcCharSet _XlcCreateDefaultCharSet(
  139. #if NeedFunctionPrototypes
  140.     _Xconst char*        /* name */,
  141.     char*        /* control_sequence */
  142. #endif
  143. );
  144.  
  145. extern XlcCharSet _XlcAddCT(
  146. #if NeedFunctionPrototypes
  147.     _Xconst char*        /* name */,
  148.     char*        /* control_sequence */
  149. #endif
  150. );
  151.  
  152. extern XrmMethods _XrmDefaultInitParseInfo(
  153. #if NeedFunctionPrototypes
  154.     XLCd        /* lcd */,
  155.     XPointer*        /* state */
  156. #endif
  157. );
  158.  
  159. extern int _XmbTextPropertyToTextList(
  160. #if NeedFunctionPrototypes
  161.     XLCd        /* lcd */,
  162.     Display*        /* dpy */,
  163.     XTextProperty*    /* text_prop */,
  164.     char***        /* list_ret */,
  165.     int*        /* count_ret */
  166. #endif
  167. );
  168.  
  169. extern int _XwcTextPropertyToTextList(
  170. #if NeedFunctionPrototypes
  171.     XLCd        /* lcd */,
  172.     Display*        /* dpy */,
  173.     XTextProperty*    /* text_prop */,
  174.     wchar_t***        /* list_ret */,
  175.     int*        /* count_ret */
  176. #endif
  177. );
  178.  
  179. extern int _XmbTextListToTextProperty(
  180. #if NeedFunctionPrototypes
  181.     XLCd        /* lcd */,
  182.     Display*        /* dpy */,
  183.     char**        /* list */,
  184.     int            /* count */,
  185.     XICCEncodingStyle    /* style */,
  186.     XTextProperty*    /* text_prop */
  187. #endif
  188. );
  189.  
  190. extern int _XwcTextListToTextProperty(
  191. #if NeedFunctionPrototypes
  192.     XLCd        /* lcd */,
  193.     Display*        /* dpy */,
  194.     wchar_t**        /* list */,
  195.     int            /* count */,
  196.     XICCEncodingStyle    /* style */,
  197.     XTextProperty*    /* text_prop */
  198. #endif
  199. );
  200.  
  201. extern void _XwcFreeStringList(
  202. #if NeedFunctionPrototypes
  203.     XLCd        /* lcd */,
  204.     wchar_t**        /* list */
  205. #endif
  206. );
  207.  
  208. extern int _XlcResolveLocaleName(
  209. #if NeedFunctionPrototypes
  210.     char*        /* lc_name */,
  211.     XLCdPublicPart*    /* pub */
  212. #endif
  213. );
  214.  
  215. extern int _XlcResolveI18NPath(
  216. #if NeedFunctionPrototypes
  217.     char*        /* buf */,
  218.     int            /* buf_len */
  219. #endif
  220. );
  221.  
  222. extern XPointer _XlcCreateLocaleDataBase(
  223. #if NeedFunctionPrototypes
  224.     XLCd        /* lcd */
  225. #endif
  226. );
  227.  
  228. extern void _XlcDestroyLocaleDataBase(
  229. #if NeedFunctionPrototypes
  230.     XLCd        /* lcd */
  231. #endif
  232. );
  233.  
  234. extern void _XlcGetLocaleDataBase(
  235. #if NeedFunctionPrototypes
  236.     XLCd        /* lcd */,
  237.     char*        /* category */,
  238.     char*        /* name */,
  239.     char***        /* value */,
  240.     int*        /* count */
  241. #endif
  242. );
  243.  
  244. _XFUNCPROTOEND
  245.  
  246. #endif  /* _XLCPUBLICI_H_ */
  247.