1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
#ifndef X_SERVER_H_
#define X_SERVER_H_
#include <glib-object.h>
#include <gio/gio.h>
G_BEGIN_DECLS
#define X_PROTOCOL_MAJOR_VERSION 11
#define X_PROTOCOL_MINOR_VERSION 0
#define X_RELEASE_NUMBER 0
typedef struct
{
guint8 byte_order;
guint16 protocol_major_version, protocol_minor_version;
gchar *authorization_protocol_name;
guint8 *authorization_protocol_data;
guint16 authorization_protocol_data_length;
} XConnect;
typedef struct XClientPrivate XClientPrivate;
typedef struct
{
GObject parent_instance;
XClientPrivate *priv;
} XClient;
typedef struct
{
GObjectClass parent_class;
void (*connect)(XClient *client, XConnect *message);
void (*disconnected)(XClient *client);
} XClientClass;
typedef struct XScreenPrivate XScreenPrivate;
typedef struct
{
GObject parent_instance;
XScreenPrivate *priv;
} XScreen;
typedef struct
{
GObjectClass parent_class;
} XScreenClass;
typedef struct XVisualPrivate XVisualPrivate;
typedef struct
{
GObject parent_instance;
XVisualPrivate *priv;
} XVisual;
typedef struct
{
GObjectClass parent_class;
} XVisualClass;
typedef struct XServerPrivate XServerPrivate;
typedef struct
{
GObject parent_instance;
XServerPrivate *priv;
} XServer;
typedef struct
{
GObjectClass parent_class;
void (*client_connected)(XServer *server, XClient *client);
void (*client_disconnected)(XServer *server, XClient *client);
} XServerClass;
GType x_server_get_type (void);
XServer *x_server_new (gint display_number);
XScreen *x_server_add_screen (XServer *server, guint32 white_pixel, guint32 black_pixel, guint32 current_input_masks, guint16 width_in_pixels, guint16 height_in_pixels, guint16 width_in_millimeters, guint16 height_in_millimeters);
void x_server_add_pixmap_format (XServer *server, guint8 depth, guint8 bits_per_pixel, guint8 scanline_pad);
void x_server_set_listen_unix (XServer *server, gboolean listen_unix);
void x_server_set_listen_tcp (XServer *server, gboolean listen_tcp);
gboolean x_server_start (XServer *server);
gsize x_server_get_n_clients (XServer *server);
GType x_screen_get_type (void);
XVisual *x_screen_add_visual (XScreen *screen, guint8 depth, guint8 class, guint8 bits_per_rgb_value, guint16 colormap_entries, guint32 red_mask, guint32 green_mask, guint32 blue_mask);
GType x_visual_get_type (void);
GType x_client_get_type (void);
GInetAddress *x_client_get_address (XClient *client);
void x_client_send_failed (XClient *client, const gchar *reason);
void x_client_send_success (XClient *client);
void x_client_send_error (XClient *client, int type, int major, int minor);
void x_client_disconnect (XClient *client);
G_END_DECLS
#endif /* X_SERVER_H_ */
|