~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/tools/wmc/wmctypes.h

Version: ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Main definitions and externals
  3  *
  4  * Copyright 2000 Bertho A. Stultiens (BS)
  5  *
  6  * This library is free software; you can redistribute it and/or
  7  * modify it under the terms of the GNU Lesser General Public
  8  * License as published by the Free Software Foundation; either
  9  * version 2.1 of the License, or (at your option) any later version.
 10  *
 11  * This library is distributed in the hope that it will be useful,
 12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 14  * Lesser General Public License for more details.
 15  *
 16  * You should have received a copy of the GNU Lesser General Public
 17  * License along with this library; if not, write to the Free Software
 18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 19  */
 20 
 21 #ifndef __WMC_WMCTYPES_H
 22 #define __WMC_WMCTYPES_H
 23 
 24 #include <stdarg.h>
 25 #include "windef.h"
 26 #include "winbase.h"
 27 
 28 /* Byteordering defines */
 29 #define WMC_BO_NATIVE   0x00
 30 #define WMC_BO_LITTLE   0x01
 31 #define WMC_BO_BIG      0x02
 32 
 33 #define WMC_LOBYTE(w)           ((WORD)(w) & 0xff)
 34 #define WMC_HIBYTE(w)           (((WORD)(w) >> 8) & 0xff)
 35 #define WMC_LOWORD(d)           ((DWORD)(d) & 0xffff)
 36 #define WMC_HIWORD(d)           (((DWORD)(d) >> 16) & 0xffff)
 37 #define BYTESWAP_WORD(w)        ((WORD)(((WORD)WMC_LOBYTE(w) << 8) + (WORD)WMC_HIBYTE(w)))
 38 #define BYTESWAP_DWORD(d)       ((DWORD)(((DWORD)BYTESWAP_WORD(WMC_LOWORD(d)) << 16) + ((DWORD)BYTESWAP_WORD(WMC_HIWORD(d)))))
 39 
 40 /*
 41  * Tokenizer types
 42  */
 43 typedef enum tok_enum {
 44         tok_null = 0,
 45         tok_keyword,
 46         tok_severity,
 47         tok_facility,
 48         tok_language
 49 } tok_e;
 50 
 51 typedef struct token {
 52         tok_e           type;
 53         const WCHAR     *name;          /* Parsed name of token */
 54         int             token;          /* Tokenvalue or language code */
 55         int             codepage;
 56         const WCHAR     *alias;         /* Alias or filename */
 57         int             fixed;          /* Cleared if token may change */
 58 } token_t;
 59 
 60 typedef struct lan_cp {
 61         int language;
 62         int codepage;
 63 } lan_cp_t;
 64 
 65 typedef struct cp_xlat {
 66         int     lan;
 67         int     cpin;
 68         int     cpout;
 69 } cp_xlat_t;
 70 
 71 typedef struct lanmsg {
 72         int             lan;            /* Language code of message */
 73         int             cp;             /* Codepage of message */
 74         WCHAR           *msg;           /* Message text */
 75         int             len;            /* Message length including trailing '\0' */
 76 } lanmsg_t;
 77 
 78 typedef struct msg {
 79         int             id;             /* Message ID */
 80         unsigned        realid;         /* Combined message ID */
 81         WCHAR           *sym;           /* Symbolic name */
 82         int             sev;            /* Severity code */
 83         int             fac;            /* Facility code */
 84         lanmsg_t        **msgs;         /* Array message texts */
 85         int             nmsgs;          /* Number of message texts in array */
 86         int             base;           /* Base of number to print */
 87         WCHAR           *cast;          /* Typecase to use */
 88 } msg_t;
 89 
 90 typedef enum {
 91         nd_msg,
 92         nd_comment
 93 } node_e;
 94 
 95 typedef struct node {
 96         struct node     *next;
 97         struct node     *prev;
 98         node_e          type;
 99         union {
100                 void    *all;
101                 WCHAR   *comment;
102                 msg_t   *msg;
103         } u;
104 } node_t;
105 
106 typedef struct block {
107         unsigned        idlo;           /* Lowest ID in this set */
108         unsigned        idhi;           /* Highest ID in this set */
109         int             size;           /* Size of this set */
110         lanmsg_t        **msgs;         /* Array of messages in this set */
111         int             nmsg;           /* Number of array entries */
112 } block_t;
113 
114 typedef struct lan_blk {
115         struct lan_blk  *next;          /* Linkage for languages */
116         struct lan_blk  *prev;
117         int             lan;            /* The language of this block */
118         block_t         *blks;          /* Array of blocks for this language */
119         int             nblk;           /* Nr of blocks in array */
120 } lan_blk_t;
121 
122 #endif
123 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.