Shorten context to ctx
[platform/upstream/libxkbcommon.git] / src / xkbcomp / xkbcomp.h
index 3772a88..a4078a3 100644 (file)
 #ifndef XKBCOMP_H
 #define        XKBCOMP_H 1
 
-#ifndef DEBUG_VAR
-#define        DEBUG_VAR debugFlags
-#endif
-
-#include <X11/X.h>
-#include <X11/Xdefs.h>
-
-#include "utils.h"
-
-#include "xkbcommon/xkbcommon.h"
-#include "XKBcommonint.h"
-
-extern char *scanFile;
+#include "xkb-priv.h"
 
 #define        TypeUnknown     0
 #define        TypeBoolean     1
 #define        TypeInt         2
-#define        TypeFloat       3
 #define        TypeString      4
 #define        TypeAction      5
 #define        TypeKeyName     6
@@ -64,14 +51,6 @@ extern char *scanFile;
 #define        StmtGroupCompatDef      11
 #define        StmtIndicatorMapDef     12
 #define        StmtIndicatorNameDef    13
-#define        StmtOutlineDef          14
-#define        StmtShapeDef            15
-#define        StmtKeyDef              16
-#define        StmtRowDef              17
-#define        StmtSectionDef          18
-#define        StmtOverlayKeyDef       19
-#define        StmtOverlayDef          20
-#define        StmtDoodadDef           21
 
 #define        FileSymInterp   100
 
@@ -88,7 +67,6 @@ typedef struct _ParseCommon
 #define        ExprArrayRef    4
 #define        ExprKeysymList  5
 #define        ExprActionList  6
-#define        ExprCoord       7
 
 #define        OpAdd           20
 #define        OpSubtract      21
@@ -137,18 +115,18 @@ typedef struct _Expr
         } binary;
         struct
         {
-            uint32_t element;
-            uint32_t field;
+            xkb_atom_t element;
+            xkb_atom_t field;
         } field;
         struct
         {
-            uint32_t element;
-            uint32_t field;
+            xkb_atom_t element;
+            xkb_atom_t field;
             struct _Expr *entry;
         } array;
         struct
         {
-            uint32_t name;
+            xkb_atom_t name;
             struct _Expr *args;
         } action;
         struct
@@ -156,18 +134,16 @@ typedef struct _Expr
             int nSyms;
             int szSyms;
             char **syms;
+            int nLevels;
+            int szLevels;
+            int *symsMapIndex;
+            unsigned int *symsNumEntries;
         } list;
-        struct
-        {
-            int x;
-            int y;
-        } coord;
         struct _Expr *child;
-        uint32_t str;
+        xkb_atom_t str;
         unsigned uval;
         int ival;
         char keyName[5];
-        void * ptr;
     } value;
 } ExprDef;
 
@@ -183,7 +159,7 @@ typedef struct _VModDef
 {
     ParseCommon common;
     unsigned merge;
-    uint32_t name;
+    xkb_atom_t name;
     ExprDef *value;
 } VModDef;
 
@@ -192,7 +168,7 @@ typedef struct _KeycodeDef
     ParseCommon common;
     unsigned merge;
     char name[5];
-    ExprDef *value;
+    unsigned long value;
 } KeycodeDef;
 
 typedef struct _KeyAliasDef
@@ -207,7 +183,7 @@ typedef struct _KeyTypeDef
 {
     ParseCommon common;
     unsigned merge;
-    uint32_t name;
+    xkb_atom_t name;
     VarDef *body;
 } KeyTypeDef;
 
@@ -223,7 +199,7 @@ typedef struct _ModMapDef
 {
     ParseCommon common;
     unsigned merge;
-    uint32_t modifier;
+    xkb_atom_t modifier;
     ExprDef *keys;
 } ModMapDef;
 
@@ -250,111 +226,45 @@ typedef struct _IndicatorNameDef
     unsigned merge;
     int ndx;
     ExprDef *name;
-    Bool virtual;
+    bool virtual;
 } IndicatorNameDef;
 
-typedef struct _OutlineDef
-{
-    ParseCommon common;
-    uint32_t field;
-    int nPoints;
-    ExprDef *points;
-} OutlineDef;
-
-typedef struct _ShapeDef
-{
-    ParseCommon common;
-    unsigned merge;
-    uint32_t name;
-    int nOutlines;
-    OutlineDef *outlines;
-} ShapeDef;
-
-typedef struct _KeyDef
-{
-    ParseCommon common;
-    unsigned defined;
-    char *name;
-    ExprDef *expr;
-} KeyDef;
-
-typedef struct _RowDef
-{
-    ParseCommon common;
-    int nKeys;
-    KeyDef *keys;
-} RowDef;
-
-typedef struct _SectionDef
-{
-    ParseCommon common;
-    unsigned merge;
-    uint32_t name;
-    int nRows;
-    RowDef *rows;
-} SectionDef;
-
-typedef struct _OverlayKeyDef
-{
-    ParseCommon common;
-    char over[5];
-    char under[5];
-} OverlayKeyDef;
-
-typedef struct _OverlayDef
-{
-    ParseCommon common;
-    unsigned merge;
-    uint32_t name;
-    int nKeys;
-    OverlayKeyDef *keys;
-} OverlayDef;
-
-typedef struct _DoodadDef
+typedef struct _IndicatorMapDef
 {
     ParseCommon common;
     unsigned merge;
     unsigned type;
-    uint32_t name;
+    xkb_atom_t name;
     VarDef *body;
-} DoodadDef;
-
-/* IndicatorMapDef doesn't use the type field, but the rest of the fields
-   need to be at the same offsets as in DoodadDef.  Use #define to avoid
-   any strict aliasing problems.  */
-#define IndicatorMapDef DoodadDef
+} IndicatorMapDef;
 
 typedef struct _XkbFile
 {
     ParseCommon common;
-    int type;
+    unsigned type;
     char *topName;
     char *name;
     ParseCommon *defs;
     int id;
     unsigned flags;
-    Bool compiled;
 } XkbFile;
 
-extern Bool
-CompileKeymap(XkbFile *file, struct xkb_desc * xkb, unsigned merge);
-
-extern Bool
-CompileKeycodes(XkbFile *file, struct xkb_desc * xkb, unsigned merge);
+extern struct xkb_keymap *
+CompileKeymap(struct xkb_ctx *ctx, XkbFile *file);
 
-extern Bool
-CompileGeometry(XkbFile *file, struct xkb_desc * xkb, unsigned merge);
+extern bool
+CompileKeycodes(XkbFile *file, struct xkb_keymap *keymap, unsigned merge);
 
-extern Bool
-CompileKeyTypes(XkbFile *file, struct xkb_desc * xkb, unsigned merge);
+extern bool
+CompileKeyTypes(XkbFile *file, struct xkb_keymap *keymap, unsigned merge);
 
 typedef struct _LEDInfo *LEDInfoPtr;
 
-extern Bool
-CompileCompatMap(XkbFile *file, struct xkb_desc * xkb, unsigned merge,
+extern bool
+CompileCompatMap(XkbFile *file, struct xkb_keymap *keymap, unsigned merge,
                  LEDInfoPtr *unboundLEDs);
 
-extern Bool
-CompileSymbols(XkbFile *file, struct xkb_desc * xkb, unsigned merge);
+extern bool
+CompileSymbols(XkbFile *file, struct xkb_keymap *keymap, unsigned merge);
 
 #endif /* XKBCOMP_H */