Janitorial: Get rid of strncpy/strncpyW.
[wine] / programs / winecfg / properties.h
1 /*
2  * WineCfg configuration properties
3  *
4  * Copyright 2002 Jaco Greeff
5  * Copyright 2003 Dimitrie O. Paun
6  * Copyright 2003 Mark Westcott
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21  *
22  */
23
24 #ifndef WINE_CFG_PROPERTIES_H
25 #define WINE_CFG_PROPERTIES_H
26
27 #include <stdarg.h>
28
29 #include "windef.h"
30 #include "winbase.h"
31 #include "wingdi.h"
32 #include "winuser.h"
33 #include "winnls.h"
34 #include "commctrl.h"
35
36 #define MAX_NAME_LENGTH         64
37 #define MAX_VERSION_LENGTH      48
38 #define MAX_DESCRIPTION_LENGTH 128
39
40 typedef struct
41 {
42     char  szVersion[MAX_VERSION_LENGTH];
43     char  szDescription[MAX_DESCRIPTION_LENGTH];
44 } VERSION_DESC;
45
46 #define DLL_NATIVE  0x0000
47 #define DLL_BUILTIN 0x0001
48
49 typedef struct
50 {
51     char  szName[MAX_NAME_LENGTH];
52     int   nType;
53 } DLL_DESC;
54
55 typedef struct
56 {
57     char  szName[MAX_NAME_LENGTH];
58     char  szWinVer[MAX_VERSION_LENGTH];
59     char  szDOSVer[MAX_VERSION_LENGTH];
60     HDPA  DLLs;
61 } APP_DESC;
62
63 typedef struct
64 {
65   char szName[MAX_NAME_LENGTH];
66   char szDriver[MAX_NAME_LENGTH];
67 } AUDIO_DRIVER;
68
69 typedef struct
70 {
71     char   szX11Display[MAX_NAME_LENGTH];
72     int    nSysColors;
73     int    nPrivateMap;
74     int    nPerfect;
75     int    nDepth;
76     int    nManaged;
77     int    nDesktopSizeX;
78     int    nDesktopSizeY;
79     int    nDGA;
80     int    nXVidMode;
81     int    nXShm;
82     int    nTextCP;
83     int    nXVideoPort;
84     int    nTakeFocus;
85     int    nDXGrab;
86     int    nDoubleBuffered;
87     int    nSynchronous;
88 } X11DRV_DESC;
89
90 typedef struct
91 {
92   char szNode[MAX_NAME_LENGTH];
93   int nType;
94 } DEV_NODES;
95
96 VERSION_DESC *getWinVersions(void);
97 VERSION_DESC *getDOSVersions(void);
98 DLL_DESC *getDLLDefaults(void);
99 AUDIO_DRIVER *getAudioDrivers(void);
100 char* getVersionFromDescription(VERSION_DESC *pVer, char *desc);
101 char* getDescriptionFromVersion(VERSION_DESC *pVer, char *ver);
102
103 #endif