XKBfile.h
上传用户:lctgjx
上传日期:2022-06-04
资源大小:8887k
文件大小:11k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /* $XFree86: xc/lib/xkbfile/XKBfile.h,v 3.6 2003/10/24 16:33:09 tsi Exp $ */
  2. #ifndef _XKBFILE_H_
  3. #define _XKBFILE_H_ 1
  4. /* $Xorg: XKBfile.h,v 1.3 2000/08/17 19:46:43 cpqbld Exp $ */
  5. /************************************************************
  6.  Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc.
  7.  Permission to use, copy, modify, and distribute this
  8.  software and its documentation for any purpose and without
  9.  fee is hereby granted, provided that the above copyright
  10.  notice appear in all copies and that both that copyright
  11.  notice and this permission notice appear in supporting
  12.  documentation, and that the name of Silicon Graphics not be 
  13.  used in advertising or publicity pertaining to distribution 
  14.  of the software without specific prior written permission.
  15.  Silicon Graphics makes no representation about the suitability 
  16.  of this software for any purpose. It is provided "as is"
  17.  without any express or implied warranty.
  18.  
  19.  SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 
  20.  SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 
  21.  AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
  22.  GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 
  23.  DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 
  24.  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 
  25.  OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
  26.  THE USE OR PERFORMANCE OF THIS SOFTWARE.
  27.  ********************************************************/
  28. /***====================================================================***/
  29. #define XkbXKMFile 0
  30. #define XkbCFile 1
  31. #define XkbXKBFile 2
  32. #define XkbMessage 3
  33. #define XkbMapDefined (1<<0)
  34. #define XkbStateDefined (1<<1)
  35. typedef struct _XkbFileInfo {
  36.     unsigned type;
  37.     unsigned defined;
  38.     XkbDescPtr   xkb;
  39. } XkbFileInfo,*XkbFileInfoPtr;
  40. typedef void (*XkbFileAddOnFunc)(
  41.     FILE * /* file */,
  42.     XkbFileInfo * /* result */,
  43.     Bool /* topLevel */,
  44.     Bool /* showImplicit */,
  45.     int /* fileSection */,
  46.     void * /* priv */
  47. );
  48. /***====================================================================***/
  49. #define _XkbSuccess 0
  50. #define _XkbErrMissingNames 1
  51. #define _XkbErrMissingTypes 2
  52. #define _XkbErrMissingReqTypes 3
  53. #define _XkbErrMissingSymbols 4
  54. #define _XkbErrMissingVMods 5
  55. #define _XkbErrMissingIndicators 6
  56. #define _XkbErrMissingCompatMap 7
  57. #define _XkbErrMissingSymInterps 8
  58. #define _XkbErrMissingGeometry 9
  59. #define _XkbErrIllegalDoodad 10
  60. #define _XkbErrIllegalTOCType 11
  61. #define _XkbErrIllegalContents 12
  62. #define _XkbErrEmptyFile 13
  63. #define _XkbErrFileNotFound 14
  64. #define _XkbErrFileCannotOpen 15
  65. #define _XkbErrBadValue 16
  66. #define _XkbErrBadMatch 17
  67. #define _XkbErrBadTypeName 18
  68. #define _XkbErrBadTypeWidth 19
  69. #define _XkbErrBadFileType 20
  70. #define _XkbErrBadFileVersion 21
  71. #define _XkbErrBadFileFormat 22
  72. #define _XkbErrBadAlloc 23
  73. #define _XkbErrBadLength 24
  74. #define _XkbErrXReqFailure 25
  75. #define _XkbErrBadImplementation 26
  76. extern char * _XkbErrMessages[];
  77. extern unsigned _XkbErrCode;
  78. extern char * _XkbErrLocation;
  79. extern unsigned _XkbErrData;
  80. /***====================================================================***/
  81. _XFUNCPROTOBEGIN
  82. extern char * XkbIndentText(
  83.     unsigned /* size */
  84. );
  85. extern char * XkbAtomText(
  86.     Display * /* dpy */,
  87.     Atom  /* atm */,
  88.     unsigned /* format */
  89. );
  90. extern char * XkbKeysymText(
  91.     KeySym /* sym */,
  92.     unsigned /* format */
  93. );
  94. extern char * XkbStringText(
  95.     char * /* str */,
  96.     unsigned /* format */
  97. );
  98. extern char * XkbKeyNameText(
  99.     char * /* name */,
  100.     unsigned /* format */
  101. );
  102. extern char *
  103. XkbModIndexText(
  104.     unsigned /* ndx */,
  105.     unsigned /* format */
  106. );
  107. extern char *
  108. XkbModMaskText(
  109.     unsigned /* mask */,
  110.     unsigned /* format */
  111. );
  112. extern char * XkbVModIndexText(
  113.     Display * /* dpy */,
  114.     XkbDescPtr /* xkb */,
  115.     unsigned /* ndx */,
  116.     unsigned /* format */
  117. );
  118. extern char * XkbVModMaskText(
  119.     Display * /* dpy */,
  120.     XkbDescPtr /* xkb */,
  121.     unsigned /* modMask */,
  122.     unsigned /* mask */,
  123.     unsigned /* format */
  124. );
  125. extern char * XkbConfigText(
  126.     unsigned  /* config */,
  127.     unsigned  /* format */
  128. );
  129. extern char * XkbSIMatchText(
  130.     unsigned /* type */,
  131.     unsigned /* format */
  132. );
  133. extern char * XkbIMWhichStateMaskText(
  134.     unsigned /* use_which */,
  135.     unsigned /* format */
  136. );
  137. extern char * XkbAccessXDetailText(
  138.     unsigned /* state */,
  139.     unsigned /* format */
  140. );
  141. extern char * XkbNKNDetailMaskText(
  142.     unsigned /* detail */,
  143.     unsigned /* format */
  144. );
  145. extern char * XkbControlsMaskText(
  146.     unsigned /* ctrls */,
  147.     unsigned /* format */
  148. );
  149. extern char * XkbGeomFPText(
  150.     int /* val */,
  151.     unsigned  /* format */
  152. );
  153. extern char * XkbDoodadTypeText(
  154.     unsigned /* type */,
  155.     unsigned /* format */
  156. );
  157. extern char * XkbActionTypeText(
  158.     unsigned /* type */,
  159.     unsigned /* format */
  160. );
  161. extern char * XkbActionText(
  162.     Display * /* dpy */,
  163.     XkbDescPtr /* xkb */,
  164.     XkbAction * /* action */,
  165.     unsigned /* format */
  166. );
  167. extern char * XkbBehaviorText(
  168.     XkbDescPtr  /* xkb */,
  169.     XkbBehavior * /* behavior */,
  170.     unsigned /* format */
  171. );
  172. /***====================================================================***/
  173. #define _XkbKSLower (1<<0)
  174. #define _XkbKSUpper (1<<1)
  175. #define XkbKSIsLower(k) (_XkbKSCheckCase(k)&_XkbKSLower)
  176. #define XkbKSIsUpper(k) (_XkbKSCheckCase(k)&_XkbKSUpper)
  177. #define XkbKSIsKeypad(k) (((k)>=XK_KP_Space)&&((k)<=XK_KP_Equal))
  178. #define XkbKSIsDeadKey(k)
  179. (((k)>=XK_dead_grave)&&((k)<=XK_dead_semivoiced_sound))
  180. extern unsigned _XkbKSCheckCase(
  181.    KeySym /* sym */
  182. );
  183. extern int  XkbFindKeycodeByName(
  184.     XkbDescPtr /* xkb */,
  185.     char * /* name */,
  186.     Bool /* use_aliases */
  187. );
  188. extern Bool XkbLookupGroupAndLevel(
  189.     XkbDescPtr /* xkb */,
  190.     int /* key */,
  191.     int * /* mods_inout */,
  192.     int * /* grp_inout */,
  193.     int * /* lvl_rtrn */
  194. );
  195. /***====================================================================***/
  196. #ifndef XKB_IN_SERVER
  197. extern Bool XkbLookupCanonicalRGBColor(
  198.     char * /* def */,
  199.     XColor * /* color */
  200. );
  201. #endif
  202. /***====================================================================***/
  203. extern char * XkbAtomGetString(
  204.     Display * /* dpy */,
  205.     Atom  /* atm */
  206. );
  207. extern Atom XkbInternAtom(
  208.     Display * /* dpy */,
  209.     char * /* name */,
  210.     Bool /* onlyIfExists */
  211. );
  212. extern Status XkbChangeKbdDisplay(
  213.     Display * /* newDpy */,
  214.     XkbFileInfo * /* result */
  215. );
  216. extern Atom XkbChangeAtomDisplay(
  217.     Display * /* oldDpy */,
  218.     Display * /* newDpy */,
  219.     Atom /* atm */
  220. );
  221. extern void XkbInitAtoms(
  222.     Display * /* dpy */
  223. );
  224. /***====================================================================***/
  225. #ifdef _XKBGEOM_H_
  226. #define XkbDW_Unknown 0
  227. #define XkbDW_Doodad 1
  228. #define XkbDW_Section 2
  229. typedef struct _XkbDrawable {
  230. int type;
  231. int priority;
  232. union {
  233.     XkbDoodadPtr doodad;
  234.     XkbSectionPtr section;
  235. } u;
  236. struct _XkbDrawable * next;
  237. } XkbDrawableRec,*XkbDrawablePtr; 
  238. extern XkbDrawablePtr
  239. XkbGetOrderedDrawables(
  240.     XkbGeometryPtr /* geom */,
  241.     XkbSectionPtr /* section */
  242. );
  243. extern void
  244. XkbFreeOrderedDrawables(
  245.     XkbDrawablePtr /* draw */
  246. );
  247. #endif
  248. /***====================================================================***/
  249. extern unsigned XkbConvertGetByNameComponents(
  250.     Bool /* toXkm */,
  251.     unsigned  /* orig */
  252. );
  253. extern unsigned XkbConvertXkbComponents(
  254.     Bool /* toXkm */,
  255.     unsigned  /* orig */
  256. );
  257. extern Bool XkbDetermineFileType(
  258.     XkbFileInfo * /* xkb */,
  259.     int /* format */,
  260.     int * /* opts_missing */
  261. );
  262. extern Bool XkbNameMatchesPattern(
  263.     char * /* name */,
  264.     char * /* pattern */
  265. );
  266. /***====================================================================***/
  267. extern Bool XkbWriteXKBKeycodes(
  268.     FILE * /* file */,
  269.     XkbFileInfo * /* result */,
  270.     Bool /* topLevel */,
  271.     Bool /* showImplicit */,
  272.     XkbFileAddOnFunc /* addOn */,
  273.     void * /* priv */
  274. );
  275. extern Bool XkbWriteXKBKeyTypes(
  276.     FILE * /* file */,
  277.     XkbFileInfo * /* result */,
  278.     Bool /* topLevel */,
  279.     Bool /* showImplicit */,
  280.     XkbFileAddOnFunc /* addOn */,
  281.     void * /* priv */
  282. );
  283. extern Bool XkbWriteXKBCompatMap(
  284.     FILE * /* file */,
  285.     XkbFileInfo * /* result */,
  286.     Bool /* topLevel */,
  287.     Bool /* showImplicit */,
  288.     XkbFileAddOnFunc /* addOn */,
  289.     void * /* priv */
  290. );
  291. extern Bool XkbWriteXKBSymbols(
  292.     FILE * /* file */,
  293.     XkbFileInfo * /* result */,
  294.     Bool /* topLevel */,
  295.     Bool /* showImplicit */,
  296.     XkbFileAddOnFunc /* addOn */,
  297.     void * /* priv */
  298. );
  299. extern Bool XkbWriteXKBGeometry(
  300.     FILE * /* file */,
  301.     XkbFileInfo * /* result */,
  302.     Bool /* topLevel */,
  303.     Bool /* showImplicit */,
  304.     XkbFileAddOnFunc /* addOn */,
  305.     void * /* priv */
  306. );
  307. extern Bool XkbWriteXKBSemantics(
  308.     FILE * /* file */,
  309.     XkbFileInfo * /* result */,
  310.     Bool /* topLevel */,
  311.     Bool /* showImplicit */,
  312.     XkbFileAddOnFunc /* addOn */,
  313.     void * /* priv */
  314. );
  315. extern Bool XkbWriteXKBLayout(
  316.     FILE * /* file */,
  317.     XkbFileInfo * /* result */,
  318.     Bool /* topLevel */,
  319.     Bool /* showImplicit */,
  320.     XkbFileAddOnFunc /* addOn */,
  321.     void * /* priv */
  322. );
  323. extern Bool XkbWriteXKBKeymap(
  324.     FILE * /* file */,
  325.     XkbFileInfo * /* result */,
  326.     Bool /* topLevel */,
  327.     Bool /* showImplicit */,
  328.     XkbFileAddOnFunc /* addOn */,
  329.     void * /* priv */
  330. );
  331. extern Bool XkbWriteXKBFile(
  332.     FILE * /* file */,
  333.     XkbFileInfo * /* result */,
  334.     Bool /* showImplicit */,
  335.     XkbFileAddOnFunc /* addOn */,
  336.     void * /* priv */
  337. );
  338. extern Bool XkbWriteCFile(
  339.     FILE * /* file */,
  340.     char * /* name */,
  341.     XkbFileInfo * /* info */
  342. );
  343. extern Bool XkbWriteXKMFile(
  344.     FILE * /* file */,
  345.     XkbFileInfo * /* result */
  346. );
  347. extern Bool XkbWriteToServer(
  348.     XkbFileInfo * /* result */
  349. );
  350. extern void XkbEnsureSafeMapName(
  351.     char * /* name */
  352. );
  353. extern Bool XkbWriteXKBKeymapForNames(
  354.     FILE * /* file */,
  355.     XkbComponentNamesPtr /* names */,
  356.     Display * /* dpy */,
  357.     XkbDescPtr /* xkb */,
  358.     unsigned /* want */,
  359.     unsigned /* need */
  360. );
  361. extern Status XkbMergeFile(
  362.     XkbDescPtr /* xkb */,
  363.     XkbFileInfo /* finfo */
  364. );
  365. /***====================================================================***/
  366. extern Bool XkmProbe(
  367.     FILE * /* file */
  368. );
  369. extern unsigned XkbReadFromServer(
  370.     Display * /* dpy */,
  371.     unsigned /* need */,
  372.     unsigned /* want */,
  373.     XkbFileInfo * /* result */
  374. );
  375. extern unsigned XkmReadFile(
  376.     FILE * /* file */,
  377.     unsigned /* need */,
  378.     unsigned /* want */,
  379.     XkbFileInfo * /* result */
  380. );
  381. #ifdef _XKMFORMAT_H_
  382. extern Bool XkmReadTOC(
  383.     FILE *              /* file */,
  384.     xkmFileInfo *       /* file_info */,
  385.     int                 /* max_toc */,
  386.     xkmSectionInfo *    /* toc */
  387. );
  388. extern xkmSectionInfo *XkmFindTOCEntry(
  389.     xkmFileInfo *       /* finfo */,
  390.     xkmSectionInfo *    /* toc */,
  391.     unsigned            /* type */
  392. );
  393. extern Bool XkmReadFileSection(
  394.     FILE *              /* file */,
  395.     xkmSectionInfo *    /* toc */,
  396.     XkbFileInfo *       /* result */,
  397.     unsigned *          /* loaded_rtrn */
  398. );
  399. extern char * XkmReadFileSectionName(
  400.     FILE * /* file */,
  401.     xkmSectionInfo * /* toc */
  402. );
  403. #endif /* _XKMFORMAT_H  */
  404. _XFUNCPROTOEND
  405. #endif /* _XKBFILE_H_ */