home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / wp_dtp / xdme1821.lha / XDME / includes / keyhashes.h < prev    next >
C/C++ Source or Header  |  1993-03-25  |  2KB  |  76 lines

  1. /******************************************************************************
  2.  
  3.     MODUL
  4.     keyhashes.h
  5.  
  6.     DESCRIPTION
  7.     definition module for all keymodules
  8.  
  9. ******************************************************************************/
  10.  
  11. #ifndef KEYHASHES_H
  12. #define KEYHASHES_H
  13.  
  14. /**************************************
  15.         Includes
  16. **************************************/
  17.  
  18. #ifndef   EXEC_TYPES_H
  19. #include <exec/types.h>
  20. #endif /* EXEC_TYPES_H */
  21.  
  22. #ifndef   EXEC_NODES_H
  23. #include <exec/nodes.h>
  24. #endif /* EXEC_NODES_H */
  25.  
  26.  
  27. /**************************************
  28.         Globale Variable
  29. **************************************/
  30.  
  31.  
  32. /**************************************
  33.     Defines und Strukturen
  34. **************************************/
  35.  
  36. #define HASHSIZE    64        /* power of 2   */
  37. #define HASHMASK    (HASHSIZE-1)
  38. #define QUALMASK    0x3ff
  39.  
  40. typedef struct _Hash {
  41.     struct _HASH * next;    /* next hash    */
  42.     USHORT       mask;    /* qual. mask   */
  43.     USHORT       qual;    /* qual. comp   */
  44.     UBYTE       code;    /* keycode        */
  45.     char     * comm;    /* command        */
  46.     char     * help;    /* online help  */
  47. } HASH;
  48.  
  49. typedef struct _2Strings {
  50.     char  * from;
  51.     char  * to;
  52. } TWOSTRINGS;
  53.  
  54. typedef struct _3Strings {
  55.     char  * from;
  56.     char  * to;
  57.     char  * help;
  58. } THREESTRINGS;
  59.  
  60. typedef struct _KeyTable {
  61.     struct Node node;
  62.     HASH      * hash[HASHSIZE];
  63. } KEYTABLE;
  64.  
  65.  
  66. /**************************************
  67.            Prototypes
  68. **************************************/
  69.  
  70.  
  71. #endif /* KEYHASHES_H */
  72.  
  73. /******************************************************************************
  74. *****  ENDE keyhashes.h
  75. ******************************************************************************/
  76.