1f46a6179Smrg/************************************************************
2f46a6179Smrg Copyright (c) 1995 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
9bfe6082cSmrg documentation, and that the name of Silicon Graphics not be
10bfe6082cSmrg used in advertising or publicity pertaining to distribution
11f46a6179Smrg of the software without specific prior written permission.
12bfe6082cSmrg 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.
15bfe6082cSmrg
16bfe6082cSmrg SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
17bfe6082cSmrg SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
18f46a6179Smrg AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
19bfe6082cSmrg GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
20bfe6082cSmrg DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
21bfe6082cSmrg 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 ALIAS_H
28f46a6179Smrg#define ALIAS_H 1
29f46a6179Smrg
3034345a63Smrgtypedef struct _AliasInfo
3134345a63Smrg{
3234345a63Smrg    CommonInfo def;
3334345a63Smrg    char alias[XkbKeyNameLength + 1];
3434345a63Smrg    char real[XkbKeyNameLength + 1];
35f46a6179Smrg} AliasInfo;
36f46a6179Smrg
376930ead5Smrgextern int HandleAliasDef(const KeyAliasDef * /* def   */ ,
3834345a63Smrg                          unsigned /* merge */ ,
3934345a63Smrg                          unsigned /* file_id */ ,
4034345a63Smrg                          AliasInfo **  /* info  */
4134345a63Smrg    );
4234345a63Smrg
4334345a63Smrgextern void ClearAliases(AliasInfo **   /* info */
4434345a63Smrg    );
4534345a63Smrg
4634345a63Smrgextern Bool MergeAliases(AliasInfo ** /* into */ ,
4734345a63Smrg                         AliasInfo ** /* merge */ ,
4834345a63Smrg                         unsigned       /* how_merge */
4934345a63Smrg    );
5034345a63Smrg
5134345a63Smrgextern int ApplyAliases(XkbDescPtr /* xkb */ ,
5234345a63Smrg                        Bool /* toGeom */ ,
5334345a63Smrg                        AliasInfo **    /* info */
5434345a63Smrg    );
55f46a6179Smrg
56f46a6179Smrg#endif /* ALIAS_H */
57