1*2b949d04SAndroid Build Coastguard Worker /************************************************************ 2*2b949d04SAndroid Build Coastguard Worker * Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc. 3*2b949d04SAndroid Build Coastguard Worker * 4*2b949d04SAndroid Build Coastguard Worker * Permission to use, copy, modify, and distribute this 5*2b949d04SAndroid Build Coastguard Worker * software and its documentation for any purpose and without 6*2b949d04SAndroid Build Coastguard Worker * fee is hereby granted, provided that the above copyright 7*2b949d04SAndroid Build Coastguard Worker * notice appear in all copies and that both that copyright 8*2b949d04SAndroid Build Coastguard Worker * notice and this permission notice appear in supporting 9*2b949d04SAndroid Build Coastguard Worker * documentation, and that the name of Silicon Graphics not be 10*2b949d04SAndroid Build Coastguard Worker * used in advertising or publicity pertaining to distribution 11*2b949d04SAndroid Build Coastguard Worker * of the software without specific prior written permission. 12*2b949d04SAndroid Build Coastguard Worker * Silicon Graphics makes no representation about the suitability 13*2b949d04SAndroid Build Coastguard Worker * of this software for any purpose. It is provided "as is" 14*2b949d04SAndroid Build Coastguard Worker * without any express or implied warranty. 15*2b949d04SAndroid Build Coastguard Worker * 16*2b949d04SAndroid Build Coastguard Worker * SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 17*2b949d04SAndroid Build Coastguard Worker * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 18*2b949d04SAndroid Build Coastguard Worker * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON 19*2b949d04SAndroid Build Coastguard Worker * GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 20*2b949d04SAndroid Build Coastguard Worker * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 21*2b949d04SAndroid Build Coastguard Worker * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 22*2b949d04SAndroid Build Coastguard Worker * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH 23*2b949d04SAndroid Build Coastguard Worker * THE USE OR PERFORMANCE OF THIS SOFTWARE. 24*2b949d04SAndroid Build Coastguard Worker * 25*2b949d04SAndroid Build Coastguard Worker ********************************************************/ 26*2b949d04SAndroid Build Coastguard Worker 27*2b949d04SAndroid Build Coastguard Worker #ifndef XKBCOMP_AST_BUILD_H 28*2b949d04SAndroid Build Coastguard Worker #define XKBCOMP_AST_BUILD_H 29*2b949d04SAndroid Build Coastguard Worker 30*2b949d04SAndroid Build Coastguard Worker ExprDef * 31*2b949d04SAndroid Build Coastguard Worker ExprCreateString(xkb_atom_t str); 32*2b949d04SAndroid Build Coastguard Worker 33*2b949d04SAndroid Build Coastguard Worker ExprDef * 34*2b949d04SAndroid Build Coastguard Worker ExprCreateInteger(int ival); 35*2b949d04SAndroid Build Coastguard Worker 36*2b949d04SAndroid Build Coastguard Worker ExprDef * 37*2b949d04SAndroid Build Coastguard Worker ExprCreateFloat(void); 38*2b949d04SAndroid Build Coastguard Worker 39*2b949d04SAndroid Build Coastguard Worker ExprDef * 40*2b949d04SAndroid Build Coastguard Worker ExprCreateBoolean(bool set); 41*2b949d04SAndroid Build Coastguard Worker 42*2b949d04SAndroid Build Coastguard Worker ExprDef * 43*2b949d04SAndroid Build Coastguard Worker ExprCreateKeyName(xkb_atom_t key_name); 44*2b949d04SAndroid Build Coastguard Worker 45*2b949d04SAndroid Build Coastguard Worker ExprDef * 46*2b949d04SAndroid Build Coastguard Worker ExprCreateIdent(xkb_atom_t ident); 47*2b949d04SAndroid Build Coastguard Worker 48*2b949d04SAndroid Build Coastguard Worker ExprDef * 49*2b949d04SAndroid Build Coastguard Worker ExprCreateUnary(enum expr_op_type op, enum expr_value_type type, 50*2b949d04SAndroid Build Coastguard Worker ExprDef *child); 51*2b949d04SAndroid Build Coastguard Worker 52*2b949d04SAndroid Build Coastguard Worker ExprDef * 53*2b949d04SAndroid Build Coastguard Worker ExprCreateBinary(enum expr_op_type op, ExprDef *left, ExprDef *right); 54*2b949d04SAndroid Build Coastguard Worker 55*2b949d04SAndroid Build Coastguard Worker ExprDef * 56*2b949d04SAndroid Build Coastguard Worker ExprCreateFieldRef(xkb_atom_t element, xkb_atom_t field); 57*2b949d04SAndroid Build Coastguard Worker 58*2b949d04SAndroid Build Coastguard Worker ExprDef * 59*2b949d04SAndroid Build Coastguard Worker ExprCreateArrayRef(xkb_atom_t element, xkb_atom_t field, ExprDef *entry); 60*2b949d04SAndroid Build Coastguard Worker 61*2b949d04SAndroid Build Coastguard Worker ExprDef * 62*2b949d04SAndroid Build Coastguard Worker ExprCreateAction(xkb_atom_t name, ExprDef *args); 63*2b949d04SAndroid Build Coastguard Worker 64*2b949d04SAndroid Build Coastguard Worker ExprDef * 65*2b949d04SAndroid Build Coastguard Worker ExprCreateActionList(ExprDef *actions); 66*2b949d04SAndroid Build Coastguard Worker 67*2b949d04SAndroid Build Coastguard Worker ExprDef * 68*2b949d04SAndroid Build Coastguard Worker ExprCreateMultiKeysymList(ExprDef *list); 69*2b949d04SAndroid Build Coastguard Worker 70*2b949d04SAndroid Build Coastguard Worker ExprDef * 71*2b949d04SAndroid Build Coastguard Worker ExprCreateKeysymList(xkb_keysym_t sym); 72*2b949d04SAndroid Build Coastguard Worker 73*2b949d04SAndroid Build Coastguard Worker ExprDef * 74*2b949d04SAndroid Build Coastguard Worker ExprAppendMultiKeysymList(ExprDef *list, ExprDef *append); 75*2b949d04SAndroid Build Coastguard Worker 76*2b949d04SAndroid Build Coastguard Worker ExprDef * 77*2b949d04SAndroid Build Coastguard Worker ExprAppendKeysymList(ExprDef *list, xkb_keysym_t sym); 78*2b949d04SAndroid Build Coastguard Worker 79*2b949d04SAndroid Build Coastguard Worker KeycodeDef * 80*2b949d04SAndroid Build Coastguard Worker KeycodeCreate(xkb_atom_t name, int64_t value); 81*2b949d04SAndroid Build Coastguard Worker 82*2b949d04SAndroid Build Coastguard Worker KeyAliasDef * 83*2b949d04SAndroid Build Coastguard Worker KeyAliasCreate(xkb_atom_t alias, xkb_atom_t real); 84*2b949d04SAndroid Build Coastguard Worker 85*2b949d04SAndroid Build Coastguard Worker VModDef * 86*2b949d04SAndroid Build Coastguard Worker VModCreate(xkb_atom_t name, ExprDef *value); 87*2b949d04SAndroid Build Coastguard Worker 88*2b949d04SAndroid Build Coastguard Worker VarDef * 89*2b949d04SAndroid Build Coastguard Worker VarCreate(ExprDef *name, ExprDef *value); 90*2b949d04SAndroid Build Coastguard Worker 91*2b949d04SAndroid Build Coastguard Worker VarDef * 92*2b949d04SAndroid Build Coastguard Worker BoolVarCreate(xkb_atom_t ident, bool set); 93*2b949d04SAndroid Build Coastguard Worker 94*2b949d04SAndroid Build Coastguard Worker InterpDef * 95*2b949d04SAndroid Build Coastguard Worker InterpCreate(xkb_keysym_t sym, ExprDef *match); 96*2b949d04SAndroid Build Coastguard Worker 97*2b949d04SAndroid Build Coastguard Worker KeyTypeDef * 98*2b949d04SAndroid Build Coastguard Worker KeyTypeCreate(xkb_atom_t name, VarDef *body); 99*2b949d04SAndroid Build Coastguard Worker 100*2b949d04SAndroid Build Coastguard Worker SymbolsDef * 101*2b949d04SAndroid Build Coastguard Worker SymbolsCreate(xkb_atom_t keyName, VarDef *symbols); 102*2b949d04SAndroid Build Coastguard Worker 103*2b949d04SAndroid Build Coastguard Worker GroupCompatDef * 104*2b949d04SAndroid Build Coastguard Worker GroupCompatCreate(unsigned group, ExprDef *def); 105*2b949d04SAndroid Build Coastguard Worker 106*2b949d04SAndroid Build Coastguard Worker ModMapDef * 107*2b949d04SAndroid Build Coastguard Worker ModMapCreate(xkb_atom_t modifier, ExprDef *keys); 108*2b949d04SAndroid Build Coastguard Worker 109*2b949d04SAndroid Build Coastguard Worker LedMapDef * 110*2b949d04SAndroid Build Coastguard Worker LedMapCreate(xkb_atom_t name, VarDef *body); 111*2b949d04SAndroid Build Coastguard Worker 112*2b949d04SAndroid Build Coastguard Worker LedNameDef * 113*2b949d04SAndroid Build Coastguard Worker LedNameCreate(unsigned ndx, ExprDef *name, bool virtual); 114*2b949d04SAndroid Build Coastguard Worker 115*2b949d04SAndroid Build Coastguard Worker IncludeStmt * 116*2b949d04SAndroid Build Coastguard Worker IncludeCreate(struct xkb_context *ctx, char *str, enum merge_mode merge); 117*2b949d04SAndroid Build Coastguard Worker 118*2b949d04SAndroid Build Coastguard Worker XkbFile * 119*2b949d04SAndroid Build Coastguard Worker XkbFileCreate(enum xkb_file_type type, char *name, ParseCommon *defs, 120*2b949d04SAndroid Build Coastguard Worker enum xkb_map_flags flags); 121*2b949d04SAndroid Build Coastguard Worker 122*2b949d04SAndroid Build Coastguard Worker void 123*2b949d04SAndroid Build Coastguard Worker FreeStmt(ParseCommon *stmt); 124*2b949d04SAndroid Build Coastguard Worker 125*2b949d04SAndroid Build Coastguard Worker #endif 126