parser: drop %name-prefix, use -p yacc argument instead
[platform/upstream/libxkbcommon.git] / src / xkbcomp / expr.h
index 9465beb..5434ad1 100644 (file)
  *
  ********************************************************/
 
-#ifndef EXPR_H
-#define EXPR_H 1
-
-#include "xkbcomp-priv.h"
-
-typedef union _ExprResult {
-    int ival;
-    unsigned uval;
-} ExprResult;
-
-typedef struct _LookupEntry {
-    const char *name;
-    unsigned result;
-} LookupEntry;
-
-extern const char *
-exprOpText(enum expr_op_type op);
+#ifndef XKBCOMP_EXPR_H
+#define XKBCOMP_EXPR_H
 
 bool
-ExprResolveLhs(struct xkb_context *ctx, ExprDef *expr, const char **elem_rtrn,
-               const char **field_rtrn, ExprDef **index_rtrn);
-
-extern bool
-LookupModMask(struct xkb_context *ctx, const void *priv, xkb_atom_t field,
-              enum expr_value_type type, ExprResult *val_rtrn);
+ExprResolveLhs(struct xkb_context *ctx, const ExprDef *expr,
+               const char **elem_rtrn, const char **field_rtrn,
+               ExprDef **index_rtrn);
 
-extern bool
-LookupVModMask(struct xkb_context *ctx, const void *priv, xkb_atom_t field,
-               enum expr_value_type type, ExprResult *val_rtrn);
-
-extern bool
-LookupModIndex(struct xkb_context *ctx, const void *priv, xkb_atom_t field,
-               enum expr_value_type type, ExprResult *val_rtrn);
-
-extern int
-ExprResolveModMask(struct xkb_context *ctx, ExprDef *expr,
-                   ExprResult *val_rtrn);
-
-extern int
-ExprResolveVModMask(struct xkb_keymap *keymap, ExprDef *expr,
-                    ExprResult *val_rtrn);
+bool
+ExprResolveModMask(struct xkb_keymap *keymap, const ExprDef *expr,
+                   enum mod_type mod_type, xkb_mod_mask_t *mask_rtrn);
 
-extern int
-ExprResolveBoolean(struct xkb_context *ctx, ExprDef *expr,
-                   ExprResult *val_rtrn);
+bool
+ExprResolveMod(struct xkb_keymap *keymap, const ExprDef *def,
+               enum mod_type mod_type, xkb_mod_index_t *ndx_rtrn);
 
-extern int
-ExprResolveKeyCode(struct xkb_context *ctx, ExprDef *expr,
-                   ExprResult *val_rtrn);
+bool
+ExprResolveBoolean(struct xkb_context *ctx, const ExprDef *expr,
+                   bool *set_rtrn);
 
-extern int
-ExprResolveInteger(struct xkb_context *ctx, ExprDef *expr,
-                   ExprResult *val_rtrn);
+bool
+ExprResolveKeyCode(struct xkb_context *ctx, const ExprDef *expr,
+                   xkb_keycode_t *kc);
 
-extern int
-ExprResolveLevel(struct xkb_context *ctx, ExprDef *expr, ExprResult *val_rtrn);
+bool
+ExprResolveInteger(struct xkb_context *ctx, const ExprDef *expr,
+                   int *val_rtrn);
 
-extern int
-ExprResolveGroup(struct xkb_context *ctx, ExprDef *expr, ExprResult *val_rtrn);
+bool
+ExprResolveLevel(struct xkb_context *ctx, const ExprDef *expr,
+                 xkb_level_index_t *level_rtrn);
 
-extern int
-ExprResolveButton(struct xkb_context *ctx, ExprDef *expr,
-                  ExprResult *val_rtrn);
+bool
+ExprResolveGroup(struct xkb_context *ctx, const ExprDef *expr,
+                 xkb_layout_index_t *group_rtrn);
 
 bool
-ExprResolveString(struct xkb_context *ctx, ExprDef *expr,
-                  const char **val_rtrn);
+ExprResolveButton(struct xkb_context *ctx, const ExprDef *expr,
+                  int *btn_rtrn);
 
 bool
-ExprResolveKeyName(struct xkb_context *ctx, ExprDef *expr,
-                   char name[XkbKeyNameLength]);
+ExprResolveString(struct xkb_context *ctx, const ExprDef *expr,
+                  xkb_atom_t *val_rtrn);
 
-extern int
-ExprResolveEnum(struct xkb_context *ctx, ExprDef *expr, ExprResult *val_rtrn,
-                const LookupEntry *values);
+bool
+ExprResolveEnum(struct xkb_context *ctx, const ExprDef *expr,
+                unsigned int *val_rtrn, const LookupEntry *values);
 
-extern int
-ExprResolveMask(struct xkb_context *ctx, ExprDef *expr, ExprResult *val_rtrn,
-                const LookupEntry *values);
+bool
+ExprResolveMask(struct xkb_context *ctx, const ExprDef *expr,
+                unsigned int *mask_rtrn, const LookupEntry *values);
 
-extern int
-ExprResolveKeySym(struct xkb_context *ctx, ExprDef *expr,
-                  ExprResult *val_rtrn);
+bool
+ExprResolveKeySym(struct xkb_context *ctx, const ExprDef *expr,
+                  xkb_keysym_t *sym_rtrn);
 
-#endif /* EXPR_H */
+#endif