2
* Copyright © 2001 Red Hat, Inc.
4
* Permission to use, copy, modify, distribute, and sell this software and its
5
* documentation for any purpose is hereby granted without fee, provided that
6
* the above copyright notice appear in all copies and that both that
7
* copyright notice and this permission notice appear in supporting
8
* documentation, and that the name of Red Hat not be used in advertising or
9
* publicity pertaining to distribution of the software without specific,
10
* written prior permission. Red Hat makes no representations about the
11
* suitability of this software for any purpose. It is provided "as is"
12
* without express or implied warranty.
14
* RED HAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
15
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL RED HAT
16
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
17
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
18
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
19
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21
* Author: Owen Taylor, Red Hat, Inc.
23
#ifndef XSETTINGS_COMMON_H
24
#define XSETTINGS_COMMON_H
28
#endif /* __cplusplus */
30
typedef struct _XSettingsBuffer XSettingsBuffer;
31
typedef struct _XSettingsColor XSettingsColor;
32
typedef struct _XSettingsList XSettingsList;
33
typedef struct _XSettingsSetting XSettingsSetting;
35
/* Types of settings possible. Enum values correspond to
40
XSETTINGS_TYPE_INT = 0,
41
XSETTINGS_TYPE_STRING = 1,
42
XSETTINGS_TYPE_COLOR = 2
52
XSETTINGS_DUPLICATE_ENTRY
55
struct _XSettingsBuffer
63
struct _XSettingsColor
65
unsigned short red, green, blue, alpha;
70
XSettingsSetting *setting;
74
struct _XSettingsSetting
82
XSettingsColor v_color;
85
unsigned long last_change_serial;
88
XSettingsSetting *xsettings_setting_copy (XSettingsSetting *setting);
89
void xsettings_setting_free (XSettingsSetting *setting);
90
int xsettings_setting_equal (XSettingsSetting *setting_a,
91
XSettingsSetting *setting_b);
93
void xsettings_list_free (XSettingsList *list);
94
XSettingsList *xsettings_list_copy (XSettingsList *list);
95
XSettingsResult xsettings_list_insert (XSettingsList **list,
96
XSettingsSetting *setting);
97
XSettingsSetting *xsettings_list_lookup (XSettingsList *list,
99
XSettingsResult xsettings_list_delete (XSettingsList **list,
102
char xsettings_byte_order (void);
104
#define XSETTINGS_PAD(n,m) ((n + m - 1) & (~(m-1)))
108
#endif /* __cplusplus */
110
#endif /* XSETTINGS_COMMON_H */