- Added DirectSoundCapture and DirectSoundCaptureBuffer interfaces
[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_Sk,  /* Slovak */
34     LANG_Sv,  /* Swedish */
35     LANG_Ca,  /* Catalan */
36     LANG_Nl,  /* Dutch */
37     LANG_Ru,  /* Russian */
38     LANG_Wa,   /* Walon */
39     LANG_Br,  /* Breton */
40     LANG_Cy,  /* Welsh */
41     LANG_Ga,  /* Irish Gaelic */
42     LANG_Gd,  /* Scots Gaelic */
43     LANG_Gv,  /* Manx Gaelic */
44     LANG_Kw,  /* Cornish */
45     LANG_Ja,  /* Japanese */
46     LANG_Hr   /* Croatian */
47 } WINE_LANGUAGE;
48
49 typedef struct
50 {
51     const char *name;
52     WORD        langid;
53 } WINE_LANGUAGE_DEF;
54
55 extern const WINE_LANGUAGE_DEF Languages[];
56
57 struct options
58 {
59     int    argc;
60     char **argv;
61     char * desktopGeometry; /* NULL when no desktop */
62     char * display;         /* display name */
63     char  *dllFlags;        /* -dll flags (hack for Winelib support) */
64     int    synchronous;     /* X synchronous mode */
65     WINE_LANGUAGE language; /* Current language */
66     int    managed;         /* Managed windows */
67     char * configFileName;  /* Command line config file */
68 };
69
70 extern struct options Options;
71 extern const char *argv0;
72
73 extern void OPTIONS_Usage(void) WINE_NORETURN;
74 extern void OPTIONS_ParseOptions( char *argv[] );
75
76 /* Profile functions */
77
78 extern int PROFILE_LoadWineIni(void);
79 extern void PROFILE_UsageWineIni(void);
80 extern int PROFILE_GetWineIniString( const char *section, const char *key_name,
81                                      const char *def, char *buffer, int len );
82 extern BOOL PROFILE_EnumWineIniString( const char *section, int index,
83                                        char *name, int name_len, char *buffer, int len );
84 extern int PROFILE_GetWineIniInt( const char *section, const char *key_name, int def );
85 extern int PROFILE_GetWineIniBool( char const *section, char const *key_name, int def );
86 extern char* PROFILE_GetStringItem( char* );
87
88 /* Version functions */
89 extern void VERSION_ParseWinVersion( const char *arg );
90 extern void VERSION_ParseDosVersion( const char *arg );
91
92 #define IS_OPTION_TRUE(ch) \
93     ((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1')
94 #define IS_OPTION_FALSE(ch) \
95     ((ch) == 'n' || (ch) == 'N' || (ch) == 'f' || (ch) == 'F' || (ch) == '0')
96
97 #endif  /* __WINE_OPTIONS_H */