Shorten context to ctx
[platform/upstream/libxkbcommon.git] / src / xkbcomp / xkbcomp.h
index e9d5f47..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 <X11/extensions/XKM.h>
-#include <X11/extensions/XKBstrcommon.h>
-#include <X11/extensions/XKBrulescommon.h>
-#include "X11/extensions/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
@@ -67,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
 
@@ -91,7 +67,6 @@ typedef struct _ParseCommon
 #define        ExprArrayRef    4
 #define        ExprKeysymList  5
 #define        ExprActionList  6
-#define        ExprCoord       7
 
 #define        OpAdd           20
 #define        OpSubtract      21
@@ -113,7 +88,6 @@ typedef struct _ParseCommon
 #define        CreateKeyNames(x)       ((x)->flags&AutoKeyNames)
 
 extern unsigned warningLevel;
-extern unsigned optionalParts;
 
 typedef struct _IncludeStmt
 {
@@ -141,37 +115,35 @@ typedef struct _Expr
         } binary;
         struct
         {
-            Atom element;
-            Atom field;
+            xkb_atom_t element;
+            xkb_atom_t field;
         } field;
         struct
         {
-            Atom element;
-            Atom field;
+            xkb_atom_t element;
+            xkb_atom_t field;
             struct _Expr *entry;
         } array;
         struct
         {
-            Atom name;
+            xkb_atom_t name;
             struct _Expr *args;
         } action;
         struct
         {
             int nSyms;
             int szSyms;
-            KeySym *syms;
+            char **syms;
+            int nLevels;
+            int szLevels;
+            int *symsMapIndex;
+            unsigned int *symsNumEntries;
         } list;
-        struct
-        {
-            int x;
-            int y;
-        } coord;
         struct _Expr *child;
-        Atom str;
+        xkb_atom_t str;
         unsigned uval;
         int ival;
         char keyName[5];
-        Opaque ptr;
     } value;
 } ExprDef;
 
@@ -187,7 +159,7 @@ typedef struct _VModDef
 {
     ParseCommon common;
     unsigned merge;
-    Atom name;
+    xkb_atom_t name;
     ExprDef *value;
 } VModDef;
 
@@ -196,7 +168,7 @@ typedef struct _KeycodeDef
     ParseCommon common;
     unsigned merge;
     char name[5];
-    ExprDef *value;
+    unsigned long value;
 } KeycodeDef;
 
 typedef struct _KeyAliasDef
@@ -211,7 +183,7 @@ typedef struct _KeyTypeDef
 {
     ParseCommon common;
     unsigned merge;
-    Atom name;
+    xkb_atom_t name;
     VarDef *body;
 } KeyTypeDef;
 
@@ -227,7 +199,7 @@ typedef struct _ModMapDef
 {
     ParseCommon common;
     unsigned merge;
-    Atom modifier;
+    xkb_atom_t modifier;
     ExprDef *keys;
 } ModMapDef;
 
@@ -243,7 +215,7 @@ typedef struct _InterpDef
 {
     ParseCommon common;
     unsigned merge;
-    KeySym sym;
+    char *sym;
     ExprDef *match;
     VarDef *def;
 } InterpDef;
@@ -254,134 +226,45 @@ typedef struct _IndicatorNameDef
     unsigned merge;
     int ndx;
     ExprDef *name;
-    Bool virtual;
+    bool virtual;
 } IndicatorNameDef;
 
-typedef struct _OutlineDef
-{
-    ParseCommon common;
-    Atom field;
-    int nPoints;
-    ExprDef *points;
-} OutlineDef;
-
-typedef struct _ShapeDef
-{
-    ParseCommon common;
-    unsigned merge;
-    Atom 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;
-    Atom 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;
-    Atom name;
-    int nKeys;
-    OverlayKeyDef *keys;
-} OverlayDef;
-
-typedef struct _DoodadDef
+typedef struct _IndicatorMapDef
 {
     ParseCommon common;
     unsigned merge;
     unsigned type;
-    Atom 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, XkbcDescPtr xkb, unsigned merge);
+extern struct xkb_keymap *
+CompileKeymap(struct xkb_ctx *ctx, XkbFile *file);
 
-extern Bool
-CompileKeycodes(XkbFile *file, XkbcDescPtr xkb, unsigned merge);
+extern bool
+CompileKeycodes(XkbFile *file, struct xkb_keymap *keymap, unsigned merge);
 
-extern Bool
-CompileGeometry(XkbFile *file, XkbcDescPtr xkb, unsigned merge);
-
-extern Bool
-CompileKeyTypes(XkbFile *file, XkbcDescPtr xkb, unsigned merge);
+extern bool
+CompileKeyTypes(XkbFile *file, struct xkb_keymap *keymap, unsigned merge);
 
 typedef struct _LEDInfo *LEDInfoPtr;
 
-extern Bool
-CompileCompatMap(XkbFile *file, XkbcDescPtr xkb, unsigned merge,
+extern bool
+CompileCompatMap(XkbFile *file, struct xkb_keymap *keymap, unsigned merge,
                  LEDInfoPtr *unboundLEDs);
 
-extern Bool
-CompileSymbols(XkbFile *file, XkbcDescPtr xkb, unsigned merge);
-
-#define        WantLongListing (1<<0)
-#define        WantPartialMaps (1<<1)
-#define        WantHiddenMaps  (1<<2)
-#define        WantFullNames   (1<<3)
-#define        ListRecursive   (1<<4)
-
-extern char *rootDir;
-extern unsigned verboseLevel;
-extern unsigned dirsToStrip;
-
-extern Bool AddListing(char * /* file */ ,
-                       char *   /* map */
-    );
-
-extern Bool AddMatchingFiles(char *     /* head_in */
-    );
-
-extern int AddMapOnly(char *    /* map */
-    );
-
-extern int GenerateListing(char *       /* filename */
-    );
+extern bool
+CompileSymbols(XkbFile *file, struct xkb_keymap *keymap, unsigned merge);
 
 #endif /* XKBCOMP_H */