1 /************************************************************ 2 * Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc. 3 * 4 * Permission to use, copy, modify, and distribute this 5 * software and its documentation for any purpose and without 6 * fee is hereby granted, provided that the above copyright 7 * notice appear in all copies and that both that copyright 8 * notice and this permission notice appear in supporting 9 * documentation, and that the name of Silicon Graphics not be 10 * used in advertising or publicity pertaining to distribution 11 * of the software without specific prior written permission. 12 * Silicon Graphics makes no representation about the suitability 13 * of this software for any purpose. It is provided "as is" 14 * without any express or implied warranty. 15 * 16 * SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 17 * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 18 * AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON 19 * GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 20 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 21 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 22 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH 23 * THE USE OR PERFORMANCE OF THIS SOFTWARE. 24 * 25 ********************************************************/ 26 27 #ifndef XKBCOMP_ACTION_H 28 #define XKBCOMP_ACTION_H 29 30 /* 31 * This struct contains the default values which every new action 32 * (e.g. in an interpret statement) starts off with. It can be 33 * modified within the files (see calls to SetActionField). 34 */ 35 typedef struct { 36 union xkb_action actions[_ACTION_TYPE_NUM_ENTRIES]; 37 } ActionsInfo; 38 39 ActionsInfo * 40 NewActionsInfo(void); 41 42 void 43 FreeActionsInfo(ActionsInfo *info); 44 45 bool 46 HandleActionDef(struct xkb_context *ctx, ActionsInfo *info, 47 const struct xkb_mod_set *mods, ExprDef *def, 48 union xkb_action *action); 49 50 bool 51 SetActionField(struct xkb_context *ctx, ActionsInfo *info, 52 struct xkb_mod_set *mods, const char *elem, 53 const char *field, ExprDef *array_ndx, ExprDef *value); 54 55 56 #endif 57