summaryrefslogtreecommitdiff
path: root/app/lbxproxy/include/misc.h
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-26 14:09:43 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-26 14:09:43 +0000
commitf833ce79ae0da9b5ef4eb544909048189731091a (patch)
tree19449c1463c7ee2bdfc826a230e54e644db88166 /app/lbxproxy/include/misc.h
parent0e5035729a2092ccc5045597199839f4a78326f2 (diff)
Importing from X.Org indiviual releases
Diffstat (limited to 'app/lbxproxy/include/misc.h')
-rw-r--r--app/lbxproxy/include/misc.h119
1 files changed, 119 insertions, 0 deletions
diff --git a/app/lbxproxy/include/misc.h b/app/lbxproxy/include/misc.h
new file mode 100644
index 000000000..3b7ee483b
--- /dev/null
+++ b/app/lbxproxy/include/misc.h
@@ -0,0 +1,119 @@
+/* $Xorg: misc.h,v 1.4 2001/02/09 02:05:32 xorgcvs Exp $ */
+/* $XdotOrg: $ */
+
+/*
+
+Copyright 1995, 1998 The Open Group
+
+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.
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/* $XFree86: xc/programs/lbxproxy/include/misc.h,v 1.6 2001/08/01 00:45:01 tsi Exp $ */
+
+#ifndef MISC_H
+#define MISC_H 1
+
+#define NEED_EVENTS
+#define NEED_REPLIES
+#include <X11/X.h>
+#include <X11/Xproto.h>
+#include <X11/Xmd.h>
+#include <X11/Xos.h>
+#define ALLOCATE_LOCAL_FALLBACK(_size) Xalloc(_size)
+#define DEALLOCATE_LOCAL_FALLBACK(_ptr) Xfree(_ptr)
+#include <X11/Xalloca.h>
+#include <X11/Xfuncs.h>
+#include <X11/Xfuncproto.h>
+#include <X11/extensions/lbxstr.h>
+
+#ifndef TRUE
+#define FALSE 0
+#define TRUE 1
+#endif
+typedef struct _XServer *XServerPtr;
+
+#include <stddef.h>
+#define DE_RESET 1
+#define DE_TERMINATE 2
+#define MILLI_PER_SECOND (1000)
+
+/* XXX globals.h? */
+extern int nextFreeClientID;
+extern int nClients;
+extern char *display_name;
+extern volatile char dispatchException;
+extern volatile char isItTimeToYield;
+extern int MaxClients;
+
+/* The following byte swapping tools are duplicated in several places.
+ * Do they deserve their own header file? What else would logically go in
+ * such a header?
+ */
+
+/* byte swap a 32-bit literal */
+#define lswapl(x) ((((x) & 0xff) << 24) |\
+ (((x) & 0xff00) << 8) |\
+ (((x) & 0xff0000) >> 8) |\
+ (((x) >> 24) & 0xff))
+
+/* byte swap a short literal */
+#define lswaps(x) ((((x) & 0xff) << 8) | (((x) >> 8) & 0xff))
+
+/* byte swap a 32-bit value */
+#define swapl(x, n) { \
+ n = ((char *) (x))[0];\
+ ((char *) (x))[0] = ((char *) (x))[3];\
+ ((char *) (x))[3] = n;\
+ n = ((char *) (x))[1];\
+ ((char *) (x))[1] = ((char *) (x))[2];\
+ ((char *) (x))[2] = n; }
+
+/* byte swap a short */
+#define swaps(x, n) { \
+ n = ((char *) (x))[0];\
+ ((char *) (x))[0] = ((char *) (x))[1];\
+ ((char *) (x))[1] = n; }
+
+/* copy 32-bit value from src to dst byteswapping on the way */
+#define cpswapl(src, dst) { \
+ ((char *)&(dst))[0] = ((char *) &(src))[3];\
+ ((char *)&(dst))[1] = ((char *) &(src))[2];\
+ ((char *)&(dst))[2] = ((char *) &(src))[1];\
+ ((char *)&(dst))[3] = ((char *) &(src))[0]; }
+
+/* copy short from src to dst byteswapping on the way */
+#define cpswaps(src, dst) { \
+ ((char *) &(dst))[0] = ((char *) &(src))[1];\
+ ((char *) &(dst))[1] = ((char *) &(src))[0]; }
+
+#define min(a, b) (((a) < (b)) ? (a) : (b))
+#define lowbit(x) ((x) & (~(x) + 1))
+
+#define REQUEST(type) \
+ register type *stuff = (type *)client->requestBuffer
+
+#define REQUEST_SIZE_MATCH(req) \
+ if ((sizeof(req) >> 2) != client->req_len) \
+ return (BadLength)
+
+#endif