diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-14 14:15:48 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2009-08-20 10:07:34 +1000 |
commit | 849fa907e129575831fbd3fa69249ff843413fd5 (patch) | |
tree | 7e73a0b3e3daf641053ad6e54444b1dce15b4f33 /include | |
parent | 1c928d9c138c90512d534e67e96bced247ca3241 (diff) |
Move record headers to here.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/X11/extensions/record.h | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/include/X11/extensions/record.h b/include/X11/extensions/record.h new file mode 100644 index 0000000..e82b06c --- /dev/null +++ b/include/X11/extensions/record.h @@ -0,0 +1,183 @@ +/*************************************************************************** + * Copyright 1995 Network Computing Devices + * + * Permission to use, copy, modify, distribute, and sell this software and + * its documentation for any purpose is hereby granted without fee, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Network Computing Devices + * not be used in advertising or publicity pertaining to distribution + * of the software without specific, written prior permission. + * + * NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO + * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE + * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + **************************************************************************/ + +#ifndef _RECORD_H_ +#define _RECORD_H_ + +#include <X11/extensions/recordconst.h> + +typedef unsigned long XRecordClientSpec; +typedef unsigned long XRecordContext; + +typedef struct +{ + unsigned char first; + unsigned char last; +} XRecordRange8; + +typedef struct +{ + unsigned short first; + unsigned short last; +} XRecordRange16; + +typedef struct +{ + XRecordRange8 ext_major; + XRecordRange16 ext_minor; +} XRecordExtRange; + +typedef struct +{ + XRecordRange8 core_requests; /* core X requests */ + XRecordRange8 core_replies; /* core X replies */ + XRecordExtRange ext_requests; /* extension requests */ + XRecordExtRange ext_replies; /* extension replies */ + XRecordRange8 delivered_events; /* delivered core and ext events */ + XRecordRange8 device_events; /* all core and ext device events */ + XRecordRange8 errors; /* core X and ext errors */ + Bool client_started; /* connection setup reply */ + Bool client_died; /* notice of client disconnect */ +} XRecordRange; + +typedef struct +{ + XRecordClientSpec client; + unsigned long nranges; + XRecordRange **ranges; +} XRecordClientInfo; + +typedef struct +{ + Bool enabled; + int datum_flags; + unsigned long nclients; + XRecordClientInfo **client_info; +} XRecordState; + +typedef struct +{ + XID id_base; + Time server_time; + unsigned long client_seq; + int category; + Bool client_swapped; + unsigned char *data; + unsigned long data_len; /* in 4-byte units */ +} XRecordInterceptData; + +_XFUNCPROTOBEGIN + +/********************************************************* + * + * Prototypes + * + */ + +XID XRecordIdBaseMask( + Display *dpy +); + +extern Status XRecordQueryVersion( + Display* /* dpy */, + int* /* cmajor_return */, + int* /* cminor_return */ +); + +extern XRecordContext XRecordCreateContext( + Display* /* dpy */, + int /* datum_flags */, + XRecordClientSpec* /* clients */, + int /* nclients */, + XRecordRange** /* ranges */, + int /* nranges */ +); + +extern XRecordRange *XRecordAllocRange( + void +); + +extern Status XRecordRegisterClients( + Display* /* dpy */, + XRecordContext /* context */, + int /* datum_flags */, + XRecordClientSpec* /* clients */, + int /* nclients */, + XRecordRange** /* ranges */, + int /* nranges */ +); + +extern Status XRecordUnregisterClients( + Display* /* dpy */, + XRecordContext /* context */, + XRecordClientSpec* /* clients */, + int /* nclients */ +); + +extern Status XRecordGetContext( + Display* /* dpy */, + XRecordContext /* context */, + XRecordState** /* state_return */ +); + +extern void XRecordFreeState( +XRecordState* /* state */ +); + +typedef void (*XRecordInterceptProc) ( + XPointer /* closure */, + XRecordInterceptData* /* recorded_data */ +); + +extern Status XRecordEnableContext( + Display* /* dpy */, + XRecordContext /* context */, + XRecordInterceptProc /* callback */, + XPointer /* closure */ +); + +extern Status XRecordEnableContextAsync( + Display* /* dpy */, + XRecordContext /* context */, + XRecordInterceptProc /* callback */, + XPointer /* closure */ +); + +extern void XRecordProcessReplies( + Display* /* dpy */ +); + +extern void XRecordFreeData( +XRecordInterceptData* /* data */ +); + +extern Status XRecordDisableContext( + Display* /* dpy */, + XRecordContext /* context */ +); + +extern Status XRecordFreeContext( + Display* /* dpy */, + XRecordContext /* context */ +); + +_XFUNCPROTOEND + +#endif |