-typedef struct _LookupTable
-{
- char *element;
- LookupEntry *entries;
- struct _LookupTable *nextElement;
-} LookupTable;
-
-
-extern char *exprOpText(unsigned /* type */
- );
-
-extern int RadioLookup(char * /* priv */ ,
- CARD32 /* elem */ ,
- CARD32 /* field */ ,
- unsigned /* type */ ,
- ExprResult * /* val_rtrn */
- );
-
-extern int SimpleLookup(char * /* priv */ ,
- CARD32 /* elem */ ,
- CARD32 /* field */ ,
- unsigned /* type */ ,
- ExprResult * /* val_rtrn */
- );
-
-extern int TableLookup(char * /* priv */ ,
- CARD32 /* elem */ ,
- CARD32 /* field */ ,
- unsigned /* type */ ,
- ExprResult * /* val_rtrn */
- );
-
-extern int LookupModIndex(char * /* priv */ ,
- CARD32 /* elem */ ,
- CARD32 /* field */ ,
- unsigned /* type */ ,
- ExprResult * /* val_rtrn */
- );
-
-extern int LookupModMask(char * /* priv */ ,
- CARD32 /* elem */ ,
- CARD32 /* field */ ,
- unsigned /* type */ ,
- ExprResult * /* val_rtrn */
- );
-
-extern int ExprResolveModIndex(ExprDef * /* expr */ ,
- ExprResult * /* val_rtrn */ ,
- IdentLookupFunc /* lookup */ ,
- char * /* lookupPriv */
- );
-
-extern int ExprResolveModMask(ExprDef * /* expr */ ,
- ExprResult * /* val_rtrn */ ,
- IdentLookupFunc /* lookup */ ,
- char * /* priv */
- );
-
-extern int ExprResolveBoolean(ExprDef * /* expr */ ,
- ExprResult * /* val_rtrn */ ,
- IdentLookupFunc /* lookup */ ,
- char * /* lookupPriv */
- );
-
-extern int ExprResolveInteger(ExprDef * /* expr */ ,
- ExprResult * /* val_rtrn */ ,
- IdentLookupFunc /* lookup */ ,
- char * /* lookupPriv */
- );
-
-extern int ExprResolveFloat(ExprDef * /* expr */ ,
- ExprResult * /* val_rtrn */ ,
- IdentLookupFunc /* lookup */ ,
- char * /* lookupPriv */
- );
-
-extern int ExprResolveString(ExprDef * /* expr */ ,
- ExprResult * /* val_rtrn */ ,
- IdentLookupFunc /* lookup */ ,
- char * /* lookupPriv */
- );
-
-extern int ExprResolveKeyName(ExprDef * /* expr */ ,
- ExprResult * /* val_rtrn */ ,
- IdentLookupFunc /* lookup */ ,
- char * /* lookupPriv */
- );
-
-extern int ExprResolveEnum(ExprDef * /* expr */ ,
- ExprResult * /* val_rtrn */ ,
- LookupEntry * /* values */
- );
-
-extern int ExprResolveMask(ExprDef * /* expr */ ,
- ExprResult * /* val_rtrn */ ,
- IdentLookupFunc /* lookup */ ,
- char * /* lookupPriv */
- );
-
-extern int ExprResolveKeySym(ExprDef * /* expr */ ,
- ExprResult * /* val_rtrn */ ,
- IdentLookupFunc /* lookup */ ,
- char * /* lookupPriv */
- );
+extern const char *
+exprOpText(unsigned type);
+
+extern bool
+LookupModMask(struct xkb_context *ctx, const void *priv, xkb_atom_t field,
+ unsigned type,
+ ExprResult *val_rtrn);
+
+extern bool
+LookupVModMask(struct xkb_context *ctx, const void *priv, xkb_atom_t field,
+ unsigned type,
+ ExprResult *val_rtrn);
+
+extern bool
+LookupModIndex(struct xkb_context *ctx, const void *priv, xkb_atom_t field,
+ unsigned type,
+ ExprResult *val_rtrn);
+
+extern int
+ExprResolveModMask(struct xkb_context *ctx, ExprDef *expr,
+ ExprResult *val_rtrn);
+
+extern int
+ExprResolveVModMask(ExprDef *expr, ExprResult *val_rtrn,
+ struct xkb_keymap *keymap);
+
+extern int
+ExprResolveBoolean(struct xkb_context *ctx, ExprDef *expr,
+ ExprResult *val_rtrn);
+
+extern int
+ExprResolveKeyCode(struct xkb_context *ctx, ExprDef *expr,
+ ExprResult *val_rtrn);
+
+extern int
+ExprResolveInteger(struct xkb_context *ctx, ExprDef *expr,
+ ExprResult *val_rtrn);
+
+extern int
+ExprResolveLevel(struct xkb_context *ctx, ExprDef *expr, ExprResult *val_rtrn);
+
+extern int
+ExprResolveGroup(struct xkb_context *ctx, ExprDef *expr, ExprResult *val_rtrn);
+
+extern int
+ExprResolveButton(struct xkb_context *ctx, ExprDef *expr,
+ ExprResult *val_rtrn);
+
+extern int
+ExprResolveFloat(struct xkb_context *ctx, ExprDef *expr, ExprResult *val_rtrn);
+
+extern int
+ExprResolveString(struct xkb_context *ctx, ExprDef *expr,
+ ExprResult *val_rtrn);
+
+extern int
+ExprResolveKeyName(struct xkb_context *ctx, ExprDef *expr,
+ ExprResult *val_rtrn);
+
+extern int
+ExprResolveEnum(struct xkb_context *ctx, ExprDef *expr, ExprResult *val_rtrn,
+ const LookupEntry *values);
+
+extern int
+ExprResolveMask(struct xkb_context *ctx, ExprDef *expr, ExprResult *val_rtrn,
+ const LookupEntry *values);
+
+extern int
+ExprResolveKeySym(struct xkb_context *ctx, ExprDef *expr,
+ ExprResult *val_rtrn);