2
$Xorg: record.h,v 1.3 2000/08/18 04:05:46 coskrey Exp $
5
/***************************************************************************
6
* Copyright 1995 Network Computing Devices
8
* Permission to use, copy, modify, distribute, and sell this software and
9
* its documentation for any purpose is hereby granted without fee, provided
10
* that the above copyright notice appear in all copies and that both that
11
* copyright notice and this permission notice appear in supporting
12
* documentation, and that the name of Network Computing Devices
13
* not be used in advertising or publicity pertaining to distribution
14
* of the software without specific, written prior permission.
16
* NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO
17
* THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
18
* AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE
19
* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
20
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
21
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
22
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
23
**************************************************************************/
29
#define XRecordBadContext 0 /* Not a valid RC */
32
* Constants for arguments of various requests
34
#define XRecordFromServerTime 0x01
35
#define XRecordFromClientTime 0x02
36
#define XRecordFromClientSequence 0x04
38
#define XRecordCurrentClients 1
39
#define XRecordFutureClients 2
40
#define XRecordAllClients 3
42
#define XRecordFromServer 0
43
#define XRecordFromClient 1
44
#define XRecordClientStarted 2
45
#define XRecordClientDied 3
46
#define XRecordStartOfData 4
47
#define XRecordEndOfData 5
49
typedef unsigned long XRecordClientSpec;
51
#ifndef _XRECORD_SERVER_
53
typedef unsigned long XRecordContext;
69
XRecordRange8 ext_major;
70
XRecordRange16 ext_minor;
75
XRecordRange8 core_requests; /* core X requests */
76
XRecordRange8 core_replies; /* core X replies */
77
XRecordExtRange ext_requests; /* extension requests */
78
XRecordExtRange ext_replies; /* extension replies */
79
XRecordRange8 delivered_events; /* delivered core and ext events */
80
XRecordRange8 device_events; /* all core and ext device events */
81
XRecordRange8 errors; /* core X and ext errors */
82
Bool client_started; /* connection setup reply */
83
Bool client_died; /* notice of client disconnect */
88
XRecordClientSpec client;
89
unsigned long nranges;
90
XRecordRange **ranges;
97
unsigned long nclients;
98
XRecordClientInfo **client_info;
105
unsigned long client_seq;
109
unsigned long data_len; /* in 4-byte units */
110
} XRecordInterceptData;
114
/*********************************************************
120
XID XRecordIdBaseMask(
124
extern Status XRecordQueryVersion(
126
int* /* cmajor_return */,
127
int* /* cminor_return */
130
extern XRecordContext XRecordCreateContext(
132
int /* datum_flags */,
133
XRecordClientSpec* /* clients */,
135
XRecordRange** /* ranges */,
139
extern XRecordRange *XRecordAllocRange(
143
extern Status XRecordRegisterClients(
145
XRecordContext /* context */,
146
int /* datum_flags */,
147
XRecordClientSpec* /* clients */,
149
XRecordRange** /* ranges */,
153
extern Status XRecordUnregisterClients(
155
XRecordContext /* context */,
156
XRecordClientSpec* /* clients */,
160
extern Status XRecordGetContext(
162
XRecordContext /* context */,
163
XRecordState** /* state_return */
166
extern void XRecordFreeState(
167
XRecordState* /* state */
170
typedef void (*XRecordInterceptProc) (
171
XPointer /* closure */,
172
XRecordInterceptData* /* recorded_data */
175
extern Status XRecordEnableContext(
177
XRecordContext /* context */,
178
XRecordInterceptProc /* callback */,
179
XPointer /* closure */
182
extern Status XRecordEnableContextAsync(
184
XRecordContext /* context */,
185
XRecordInterceptProc /* callback */,
186
XPointer /* closure */
189
extern void XRecordProcessReplies(
193
extern void XRecordFreeData(
194
XRecordInterceptData* /* data */
197
extern Status XRecordDisableContext(
199
XRecordContext /* context */
202
extern Status XRecordFreeContext(
204
XRecordContext /* context */
209
#endif /* _XRECORD_SERVER_ */
211
#endif /* _RECORD_H_ */