- implementation of RtlReg* (read access), RtlEvent*, RtlSemaphore*,
[wine] / include / options.h
1 /*
2  * Command-line options.
3  *
4  * Copyright 1994 Alexandre Julliard
5  */
6
7 #ifndef __WINE_OPTIONS_H
8 #define __WINE_OPTIONS_H
9
10 #include "windef.h"
11
12   /* Supported languages */
13   /* When adding a new language look at ole/ole2nls.c 
14    * for the LANG_Xx name to choose, and uncomment there
15    * the proper case line
16    */
17 typedef enum
18 {   LANG_Xx,  /* Just to ensure value 0 is not used */  
19     LANG_En,  /* English */
20     LANG_Es,  /* Spanish */
21     LANG_De,  /* German */
22     LANG_No,  /* Norwegian */
23     LANG_Fr,  /* French */
24     LANG_Fi,  /* Finnish */
25     LANG_Da,  /* Danish */
26     LANG_Cs,  /* Czech */
27     LANG_Eo,  /* Esperanto */
28     LANG_It,  /* Italian */
29     LANG_Ko,  /* Korean */
30     LANG_Hu,  /* Hungarian */
31     LANG_Pl,  /* Polish */
32     LANG_Pt,  /* Portuguese */
33     LANG_Sv,  /* Swedish */
34     LANG_Ca,  /* Catalan */
35     LANG_Nl,  /* Dutch */
36     LANG_Ru,  /* Russian */
37     LANG_Wa   /* Walon */
38 } WINE_LANGUAGE;
39
40 typedef struct
41 {
42     const char *name;
43     WORD        langid;
44 } WINE_LANGUAGE_DEF;
45
46 extern const WINE_LANGUAGE_DEF Languages[];
47
48 /* Supported modes */
49 typedef enum
50 {
51     MODE_STANDARD,
52     MODE_ENHANCED
53 } WINE_MODE;
54
55 struct options
56 {
57     int  *argc;
58     char **argv;
59     char * desktopGeometry; /* NULL when no desktop */
60     char * programName;     /* To use when loading resources */
61     char * argv0;           /* argv[0] of Wine process */
62     char  *dllFlags;        /* -dll flags (hack for Winelib support) */
63     int    usePrivateMap;
64     int    useFixedMap;
65     int    synchronous;     /* X synchronous mode */
66     int    backingstore;    /* Use backing store */
67     short  cmdShow;
68     int    debug;
69     int    failReadOnly;    /* Opening a read only file will fail
70                                if write access is requested */
71     WINE_MODE mode;         /* Start Wine in selected mode
72                                (standard/enhanced) */
73     WINE_LANGUAGE language; /* Current language */
74     int    managed;         /* Managed windows */
75     int    perfectGraphics; /* Favor correctness over speed for graphics */
76     int    noDGA;           /* Disable XFree86 DGA extensions */
77     int    noXSHM;          /* Disable use of XSHM extension */
78     int    DXGrab;          /* Enable DirectX mouse grab */
79     char * configFileName;  /* Command line config file */
80     int screenDepth;
81 };
82
83 extern struct options Options;
84
85 /* Profile functions */
86
87 extern int PROFILE_LoadWineIni(void);
88 extern void PROFILE_UsageWineIni(void);
89 extern int PROFILE_GetWineIniString( const char *section, const char *key_name,
90                                      const char *def, char *buffer, int len );
91 extern int PROFILE_GetWineIniInt( const char *section, const char *key_name,
92                                   int def );
93 extern int PROFILE_EnumerateWineIniSection(
94     char const *section,
95     void (*callback)(char const *key, char const *name, void *user),
96     void *userptr );                 
97 extern int PROFILE_GetWineIniBool( char const *section, char const *key_name,
98                                    int def );
99 extern char* PROFILE_GetStringItem( char* );
100
101 /* Version functions */
102 extern void VERSION_ParseWinVersion( const char *arg );
103 extern void VERSION_ParseDosVersion( const char *arg );
104
105 #endif  /* __WINE_OPTIONS_H */