vmod.h revision 34345a63
1f46a6179Smrg/************************************************************ 2f46a6179Smrg Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc. 3f46a6179Smrg 4f46a6179Smrg Permission to use, copy, modify, and distribute this 5f46a6179Smrg software and its documentation for any purpose and without 6f46a6179Smrg fee is hereby granted, provided that the above copyright 7f46a6179Smrg notice appear in all copies and that both that copyright 8f46a6179Smrg notice and this permission notice appear in supporting 9f46a6179Smrg documentation, and that the name of Silicon Graphics not be 10f46a6179Smrg used in advertising or publicity pertaining to distribution 11f46a6179Smrg of the software without specific prior written permission. 12f46a6179Smrg Silicon Graphics makes no representation about the suitability 13f46a6179Smrg of this software for any purpose. It is provided "as is" 14f46a6179Smrg without any express or implied warranty. 15f46a6179Smrg 16f46a6179Smrg SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 17f46a6179Smrg SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 18f46a6179Smrg AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON 19f46a6179Smrg GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 20f46a6179Smrg DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 21f46a6179Smrg DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 22f46a6179Smrg OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH 23f46a6179Smrg THE USE OR PERFORMANCE OF THIS SOFTWARE. 24f46a6179Smrg 25f46a6179Smrg ********************************************************/ 26f46a6179Smrg 27f46a6179Smrg#ifndef VMOD_H 28f46a6179Smrg#define VMOD_H 1 29f46a6179Smrg 3034345a63Smrgtypedef struct _VModInfo 3134345a63Smrg{ 3234345a63Smrg XkbDescPtr xkb; 3334345a63Smrg unsigned defined; 3434345a63Smrg unsigned available; 3534345a63Smrg unsigned newlyDefined; 3634345a63Smrg int errorCount; 37f46a6179Smrg} VModInfo; 38f46a6179Smrg 3934345a63Smrgextern void InitVModInfo(VModInfo * /* info */ , 4034345a63Smrg XkbDescPtr /* xkb */ 4134345a63Smrg ); 42f46a6179Smrg 4334345a63Smrgextern void ClearVModInfo(VModInfo * /* info */ , 4434345a63Smrg XkbDescPtr /* xkb */ 4534345a63Smrg ); 46f46a6179Smrg 4734345a63Smrgextern Bool HandleVModDef(VModDef * /* stmt */ , 4834345a63Smrg unsigned /* mergeMode */ , 4934345a63Smrg VModInfo * /* info */ 5034345a63Smrg ); 51f46a6179Smrg 5234345a63Smrgextern Bool ApplyVModDefs(VModInfo * /* info */ , 5334345a63Smrg XkbDescPtr /* xkb */ 5434345a63Smrg ); 55f46a6179Smrg 5634345a63Smrgextern int LookupVModIndex(XPointer /* priv */ , 5734345a63Smrg Atom /* elem */ , 5834345a63Smrg Atom /* field */ , 5934345a63Smrg unsigned /* type */ , 6034345a63Smrg ExprResult * /* val_rtrn */ 6134345a63Smrg ); 62f46a6179Smrg 6334345a63Smrgextern int LookupVModMask(XPointer /* priv */ , 6434345a63Smrg Atom /* elem */ , 6534345a63Smrg Atom /* field */ , 6634345a63Smrg unsigned /* type */ , 6734345a63Smrg ExprResult * /* val_rtrn */ 6834345a63Smrg ); 69f46a6179Smrg 7034345a63Smrgextern int FindKeypadVMod(XkbDescPtr /* xkb */ 7134345a63Smrg ); 72f46a6179Smrg 7334345a63Smrgextern Bool ResolveVirtualModifier(ExprDef * /* def */ , 7434345a63Smrg ExprResult * /* value_rtrn */ , 7534345a63Smrg VModInfo * /* info */ 7634345a63Smrg ); 77f46a6179Smrg 78f46a6179Smrg#endif /* VMOD_H */ 79