save
This commit is contained in:
parent
16b7e329ff
commit
68511e0d41
34 changed files with 18282 additions and 6 deletions
6
Makefile
6
Makefile
|
@ -22,16 +22,16 @@ LIBRARIES = mlx libtf
|
|||
LIBRARIES_FILES = libtf/libtf.a
|
||||
LIBRARIES_LINK = mlx
|
||||
LINK = Xext X11 m z
|
||||
MORE_FLAGS +=
|
||||
MORE_FLAGS += -DXK_LATIN1 -DXK_MISCELLANY
|
||||
##### END OF THE INTERESTING PART #####
|
||||
|
||||
|
||||
C_FILES = $(addsuffix .c,$(addprefix $(SRCS),$(CODE)))
|
||||
O_FILES = $(addsuffix .o,$(addprefix $(SRCS),$(CODE)))
|
||||
ifdef DEBUG
|
||||
CC = cc -Wall -Wextra -Werror -g $(MORE_FLAGS)
|
||||
CC = x86_64-w64-mingw32-gcc -Wall -Wextra -Werror -g $(MORE_FLAGS)
|
||||
else
|
||||
CC = cc -Wall -Wextra -Werror $(MORE_FLAGS)
|
||||
CC = x86_64-w64-mingw32-gcc -Wall -Wextra -Werror $(MORE_FLAGS)
|
||||
endif
|
||||
|
||||
|
||||
|
|
717
includes/X11/X.h
Normal file
717
includes/X11/X.h
Normal file
|
@ -0,0 +1,717 @@
|
|||
/* Definitions for the X window system likely to be used by applications */
|
||||
|
||||
#ifndef X_H
|
||||
#define X_H
|
||||
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 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.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
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 Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL 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.
|
||||
|
||||
******************************************************************/
|
||||
|
||||
#define X_PROTOCOL 11 /* current protocol version */
|
||||
#define X_PROTOCOL_REVISION 0 /* current minor version */
|
||||
|
||||
/* Resources */
|
||||
|
||||
/*
|
||||
* _XSERVER64 must ONLY be defined when compiling X server sources on
|
||||
* systems where unsigned long is not 32 bits, must NOT be used in
|
||||
* client or library code.
|
||||
*/
|
||||
#ifndef _XSERVER64
|
||||
# ifndef _XTYPEDEF_XID
|
||||
# define _XTYPEDEF_XID
|
||||
typedef unsigned long XID;
|
||||
# endif
|
||||
# ifndef _XTYPEDEF_MASK
|
||||
# define _XTYPEDEF_MASK
|
||||
typedef unsigned long Mask;
|
||||
# endif
|
||||
# ifndef _XTYPEDEF_ATOM
|
||||
# define _XTYPEDEF_ATOM
|
||||
typedef unsigned long Atom; /* Also in Xdefs.h */
|
||||
# endif
|
||||
typedef unsigned long VisualID;
|
||||
typedef unsigned long Time;
|
||||
#else
|
||||
# include "Xmd.h"
|
||||
# ifndef _XTYPEDEF_XID
|
||||
# define _XTYPEDEF_XID
|
||||
typedef CARD32 XID;
|
||||
# endif
|
||||
# ifndef _XTYPEDEF_MASK
|
||||
# define _XTYPEDEF_MASK
|
||||
typedef CARD32 Mask;
|
||||
# endif
|
||||
# ifndef _XTYPEDEF_ATOM
|
||||
# define _XTYPEDEF_ATOM
|
||||
typedef CARD32 Atom;
|
||||
# endif
|
||||
typedef CARD32 VisualID;
|
||||
typedef CARD32 Time;
|
||||
#endif
|
||||
|
||||
typedef XID Window;
|
||||
typedef XID Drawable;
|
||||
#ifndef _XTYPEDEF_FONT
|
||||
# define _XTYPEDEF_FONT
|
||||
typedef XID Font;
|
||||
#endif
|
||||
typedef XID Pixmap;
|
||||
typedef XID Cursor;
|
||||
typedef XID Colormap;
|
||||
typedef XID GContext;
|
||||
typedef XID KeySym;
|
||||
|
||||
typedef unsigned char KeyCode;
|
||||
|
||||
/*****************************************************************
|
||||
* RESERVED RESOURCE AND CONSTANT DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
#ifndef None
|
||||
#define None 0L /* universal null resource or null atom */
|
||||
#endif
|
||||
|
||||
#define ParentRelative 1L /* background pixmap in CreateWindow
|
||||
and ChangeWindowAttributes */
|
||||
|
||||
#define CopyFromParent 0L /* border pixmap in CreateWindow
|
||||
and ChangeWindowAttributes
|
||||
special VisualID and special window
|
||||
class passed to CreateWindow */
|
||||
|
||||
#define PointerWindow 0L /* destination window in SendEvent */
|
||||
#define InputFocus 1L /* destination window in SendEvent */
|
||||
|
||||
#define PointerRoot 1L /* focus window in SetInputFocus */
|
||||
|
||||
#define AnyPropertyType 0L /* special Atom, passed to GetProperty */
|
||||
|
||||
#define AnyKey 0L /* special Key Code, passed to GrabKey */
|
||||
|
||||
#define AnyButton 0L /* special Button Code, passed to GrabButton */
|
||||
|
||||
#define AllTemporary 0L /* special Resource ID passed to KillClient */
|
||||
|
||||
#define CurrentTime 0L /* special Time */
|
||||
|
||||
#define NoSymbol 0L /* special KeySym */
|
||||
|
||||
/*****************************************************************
|
||||
* EVENT DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* Input Event Masks. Used as event-mask window attribute and as arguments
|
||||
to Grab requests. Not to be confused with event names. */
|
||||
|
||||
#define NoEventMask 0L
|
||||
#define KeyPressMask (1L<<0)
|
||||
#define KeyReleaseMask (1L<<1)
|
||||
#define ButtonPressMask (1L<<2)
|
||||
#define ButtonReleaseMask (1L<<3)
|
||||
#define EnterWindowMask (1L<<4)
|
||||
#define LeaveWindowMask (1L<<5)
|
||||
#define PointerMotionMask (1L<<6)
|
||||
#define PointerMotionHintMask (1L<<7)
|
||||
#define Button1MotionMask (1L<<8)
|
||||
#define Button2MotionMask (1L<<9)
|
||||
#define Button3MotionMask (1L<<10)
|
||||
#define Button4MotionMask (1L<<11)
|
||||
#define Button5MotionMask (1L<<12)
|
||||
#define ButtonMotionMask (1L<<13)
|
||||
#define KeymapStateMask (1L<<14)
|
||||
#define ExposureMask (1L<<15)
|
||||
#define VisibilityChangeMask (1L<<16)
|
||||
#define StructureNotifyMask (1L<<17)
|
||||
#define ResizeRedirectMask (1L<<18)
|
||||
#define SubstructureNotifyMask (1L<<19)
|
||||
#define SubstructureRedirectMask (1L<<20)
|
||||
#define FocusChangeMask (1L<<21)
|
||||
#define PropertyChangeMask (1L<<22)
|
||||
#define ColormapChangeMask (1L<<23)
|
||||
#define OwnerGrabButtonMask (1L<<24)
|
||||
|
||||
/* Event names. Used in "type" field in XEvent structures. Not to be
|
||||
confused with event masks above. They start from 2 because 0 and 1
|
||||
are reserved in the protocol for errors and replies. */
|
||||
|
||||
#define KeyPress 2
|
||||
#define KeyRelease 3
|
||||
#define ButtonPress 4
|
||||
#define ButtonRelease 5
|
||||
#define MotionNotify 6
|
||||
#define EnterNotify 7
|
||||
#define LeaveNotify 8
|
||||
#define FocusIn 9
|
||||
#define FocusOut 10
|
||||
#define KeymapNotify 11
|
||||
#define Expose 12
|
||||
#define GraphicsExpose 13
|
||||
#define NoExpose 14
|
||||
#define VisibilityNotify 15
|
||||
#define CreateNotify 16
|
||||
#define DestroyNotify 17
|
||||
#define UnmapNotify 18
|
||||
#define MapNotify 19
|
||||
#define MapRequest 20
|
||||
#define ReparentNotify 21
|
||||
#define ConfigureNotify 22
|
||||
#define ConfigureRequest 23
|
||||
#define GravityNotify 24
|
||||
#define ResizeRequest 25
|
||||
#define CirculateNotify 26
|
||||
#define CirculateRequest 27
|
||||
#define PropertyNotify 28
|
||||
#define SelectionClear 29
|
||||
#define SelectionRequest 30
|
||||
#define SelectionNotify 31
|
||||
#define ColormapNotify 32
|
||||
#define ClientMessage 33
|
||||
#define MappingNotify 34
|
||||
#define GenericEvent 35
|
||||
#define LASTEvent 36 /* must be bigger than any event # */
|
||||
|
||||
|
||||
/* Key masks. Used as modifiers to GrabButton and GrabKey, results of QueryPointer,
|
||||
state in various key-, mouse-, and button-related events. */
|
||||
|
||||
#define ShiftMask (1<<0)
|
||||
#define LockMask (1<<1)
|
||||
#define ControlMask (1<<2)
|
||||
#define Mod1Mask (1<<3)
|
||||
#define Mod2Mask (1<<4)
|
||||
#define Mod3Mask (1<<5)
|
||||
#define Mod4Mask (1<<6)
|
||||
#define Mod5Mask (1<<7)
|
||||
|
||||
/* modifier names. Used to build a SetModifierMapping request or
|
||||
to read a GetModifierMapping request. These correspond to the
|
||||
masks defined above. */
|
||||
#define ShiftMapIndex 0
|
||||
#define LockMapIndex 1
|
||||
#define ControlMapIndex 2
|
||||
#define Mod1MapIndex 3
|
||||
#define Mod2MapIndex 4
|
||||
#define Mod3MapIndex 5
|
||||
#define Mod4MapIndex 6
|
||||
#define Mod5MapIndex 7
|
||||
|
||||
|
||||
/* button masks. Used in same manner as Key masks above. Not to be confused
|
||||
with button names below. */
|
||||
|
||||
#define Button1Mask (1<<8)
|
||||
#define Button2Mask (1<<9)
|
||||
#define Button3Mask (1<<10)
|
||||
#define Button4Mask (1<<11)
|
||||
#define Button5Mask (1<<12)
|
||||
|
||||
#define AnyModifier (1<<15) /* used in GrabButton, GrabKey */
|
||||
|
||||
|
||||
/* button names. Used as arguments to GrabButton and as detail in ButtonPress
|
||||
and ButtonRelease events. Not to be confused with button masks above.
|
||||
Note that 0 is already defined above as "AnyButton". */
|
||||
|
||||
#define Button1 1
|
||||
#define Button2 2
|
||||
#define Button3 3
|
||||
#define Button4 4
|
||||
#define Button5 5
|
||||
|
||||
/* Notify modes */
|
||||
|
||||
#define NotifyNormal 0
|
||||
#define NotifyGrab 1
|
||||
#define NotifyUngrab 2
|
||||
#define NotifyWhileGrabbed 3
|
||||
|
||||
#define NotifyHint 1 /* for MotionNotify events */
|
||||
|
||||
/* Notify detail */
|
||||
|
||||
#define NotifyAncestor 0
|
||||
#define NotifyVirtual 1
|
||||
#define NotifyInferior 2
|
||||
#define NotifyNonlinear 3
|
||||
#define NotifyNonlinearVirtual 4
|
||||
#define NotifyPointer 5
|
||||
#define NotifyPointerRoot 6
|
||||
#define NotifyDetailNone 7
|
||||
|
||||
/* Visibility notify */
|
||||
|
||||
#define VisibilityUnobscured 0
|
||||
#define VisibilityPartiallyObscured 1
|
||||
#define VisibilityFullyObscured 2
|
||||
|
||||
/* Circulation request */
|
||||
|
||||
#define PlaceOnTop 0
|
||||
#define PlaceOnBottom 1
|
||||
|
||||
/* protocol families */
|
||||
|
||||
#define FamilyInternet 0 /* IPv4 */
|
||||
#define FamilyDECnet 1
|
||||
#define FamilyChaos 2
|
||||
#define FamilyInternet6 6 /* IPv6 */
|
||||
|
||||
/* authentication families not tied to a specific protocol */
|
||||
#define FamilyServerInterpreted 5
|
||||
|
||||
/* Property notification */
|
||||
|
||||
#define PropertyNewValue 0
|
||||
#define PropertyDelete 1
|
||||
|
||||
/* Color Map notification */
|
||||
|
||||
#define ColormapUninstalled 0
|
||||
#define ColormapInstalled 1
|
||||
|
||||
/* GrabPointer, GrabButton, GrabKeyboard, GrabKey Modes */
|
||||
|
||||
#define GrabModeSync 0
|
||||
#define GrabModeAsync 1
|
||||
|
||||
/* GrabPointer, GrabKeyboard reply status */
|
||||
|
||||
#define GrabSuccess 0
|
||||
#define AlreadyGrabbed 1
|
||||
#define GrabInvalidTime 2
|
||||
#define GrabNotViewable 3
|
||||
#define GrabFrozen 4
|
||||
|
||||
/* AllowEvents modes */
|
||||
|
||||
#define AsyncPointer 0
|
||||
#define SyncPointer 1
|
||||
#define ReplayPointer 2
|
||||
#define AsyncKeyboard 3
|
||||
#define SyncKeyboard 4
|
||||
#define ReplayKeyboard 5
|
||||
#define AsyncBoth 6
|
||||
#define SyncBoth 7
|
||||
|
||||
/* Used in SetInputFocus, GetInputFocus */
|
||||
|
||||
#define RevertToNone (int)None
|
||||
#define RevertToPointerRoot (int)PointerRoot
|
||||
#define RevertToParent 2
|
||||
|
||||
/*****************************************************************
|
||||
* ERROR CODES
|
||||
*****************************************************************/
|
||||
|
||||
#define Success 0 /* everything's okay */
|
||||
#define BadRequest 1 /* bad request code */
|
||||
#define BadValue 2 /* int parameter out of range */
|
||||
#define BadWindow 3 /* parameter not a Window */
|
||||
#define BadPixmap 4 /* parameter not a Pixmap */
|
||||
#define BadAtom 5 /* parameter not an Atom */
|
||||
#define BadCursor 6 /* parameter not a Cursor */
|
||||
#define BadFont 7 /* parameter not a Font */
|
||||
#define BadMatch 8 /* parameter mismatch */
|
||||
#define BadDrawable 9 /* parameter not a Pixmap or Window */
|
||||
#define BadAccess 10 /* depending on context:
|
||||
- key/button already grabbed
|
||||
- attempt to free an illegal
|
||||
cmap entry
|
||||
- attempt to store into a read-only
|
||||
color map entry.
|
||||
- attempt to modify the access control
|
||||
list from other than the local host.
|
||||
*/
|
||||
#define BadAlloc 11 /* insufficient resources */
|
||||
#define BadColor 12 /* no such colormap */
|
||||
#define BadGC 13 /* parameter not a GC */
|
||||
#define BadIDChoice 14 /* choice not in range or already used */
|
||||
#define BadName 15 /* font or color name doesn't exist */
|
||||
#define BadLength 16 /* Request length incorrect */
|
||||
#define BadImplementation 17 /* server is defective */
|
||||
|
||||
#define FirstExtensionError 128
|
||||
#define LastExtensionError 255
|
||||
|
||||
/*****************************************************************
|
||||
* WINDOW DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* Window classes used by CreateWindow */
|
||||
/* Note that CopyFromParent is already defined as 0 above */
|
||||
|
||||
#define InputOutput 1
|
||||
#define InputOnly 2
|
||||
|
||||
/* Window attributes for CreateWindow and ChangeWindowAttributes */
|
||||
|
||||
#define CWBackPixmap (1L<<0)
|
||||
#define CWBackPixel (1L<<1)
|
||||
#define CWBorderPixmap (1L<<2)
|
||||
#define CWBorderPixel (1L<<3)
|
||||
#define CWBitGravity (1L<<4)
|
||||
#define CWWinGravity (1L<<5)
|
||||
#define CWBackingStore (1L<<6)
|
||||
#define CWBackingPlanes (1L<<7)
|
||||
#define CWBackingPixel (1L<<8)
|
||||
#define CWOverrideRedirect (1L<<9)
|
||||
#define CWSaveUnder (1L<<10)
|
||||
#define CWEventMask (1L<<11)
|
||||
#define CWDontPropagate (1L<<12)
|
||||
#define CWColormap (1L<<13)
|
||||
#define CWCursor (1L<<14)
|
||||
|
||||
/* ConfigureWindow structure */
|
||||
|
||||
#define CWX (1<<0)
|
||||
#define CWY (1<<1)
|
||||
#define CWWidth (1<<2)
|
||||
#define CWHeight (1<<3)
|
||||
#define CWBorderWidth (1<<4)
|
||||
#define CWSibling (1<<5)
|
||||
#define CWStackMode (1<<6)
|
||||
|
||||
|
||||
/* Bit Gravity */
|
||||
|
||||
#define ForgetGravity 0
|
||||
#define NorthWestGravity 1
|
||||
#define NorthGravity 2
|
||||
#define NorthEastGravity 3
|
||||
#define WestGravity 4
|
||||
#define CenterGravity 5
|
||||
#define EastGravity 6
|
||||
#define SouthWestGravity 7
|
||||
#define SouthGravity 8
|
||||
#define SouthEastGravity 9
|
||||
#define StaticGravity 10
|
||||
|
||||
/* Window gravity + bit gravity above */
|
||||
|
||||
#define UnmapGravity 0
|
||||
|
||||
/* Used in CreateWindow for backing-store hint */
|
||||
|
||||
#define NotUseful 0
|
||||
#define WhenMapped 1
|
||||
#define Always 2
|
||||
|
||||
/* Used in GetWindowAttributes reply */
|
||||
|
||||
#define IsUnmapped 0
|
||||
#define IsUnviewable 1
|
||||
#define IsViewable 2
|
||||
|
||||
/* Used in ChangeSaveSet */
|
||||
|
||||
#define SetModeInsert 0
|
||||
#define SetModeDelete 1
|
||||
|
||||
/* Used in ChangeCloseDownMode */
|
||||
|
||||
#define DestroyAll 0
|
||||
#define RetainPermanent 1
|
||||
#define RetainTemporary 2
|
||||
|
||||
/* Window stacking method (in configureWindow) */
|
||||
|
||||
#define Above 0
|
||||
#define Below 1
|
||||
#define TopIf 2
|
||||
#define BottomIf 3
|
||||
#define Opposite 4
|
||||
|
||||
/* Circulation direction */
|
||||
|
||||
#define RaiseLowest 0
|
||||
#define LowerHighest 1
|
||||
|
||||
/* Property modes */
|
||||
|
||||
#define PropModeReplace 0
|
||||
#define PropModePrepend 1
|
||||
#define PropModeAppend 2
|
||||
|
||||
/*****************************************************************
|
||||
* GRAPHICS DEFINITIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* graphics functions, as in GC.alu */
|
||||
|
||||
#define GXclear 0x0 /* 0 */
|
||||
#define GXand 0x1 /* src AND dst */
|
||||
#define GXandReverse 0x2 /* src AND NOT dst */
|
||||
#define GXcopy 0x3 /* src */
|
||||
#define GXandInverted 0x4 /* NOT src AND dst */
|
||||
#define GXnoop 0x5 /* dst */
|
||||
#define GXxor 0x6 /* src XOR dst */
|
||||
#define GXor 0x7 /* src OR dst */
|
||||
#define GXnor 0x8 /* NOT src AND NOT dst */
|
||||
#define GXequiv 0x9 /* NOT src XOR dst */
|
||||
#define GXinvert 0xa /* NOT dst */
|
||||
#define GXorReverse 0xb /* src OR NOT dst */
|
||||
#define GXcopyInverted 0xc /* NOT src */
|
||||
#define GXorInverted 0xd /* NOT src OR dst */
|
||||
#define GXnand 0xe /* NOT src OR NOT dst */
|
||||
#define GXset 0xf /* 1 */
|
||||
|
||||
/* LineStyle */
|
||||
|
||||
#define LineSolid 0
|
||||
#define LineOnOffDash 1
|
||||
#define LineDoubleDash 2
|
||||
|
||||
/* capStyle */
|
||||
|
||||
#define CapNotLast 0
|
||||
#define CapButt 1
|
||||
#define CapRound 2
|
||||
#define CapProjecting 3
|
||||
|
||||
/* joinStyle */
|
||||
|
||||
#define JoinMiter 0
|
||||
#define JoinRound 1
|
||||
#define JoinBevel 2
|
||||
|
||||
/* fillStyle */
|
||||
|
||||
#define FillSolid 0
|
||||
#define FillTiled 1
|
||||
#define FillStippled 2
|
||||
#define FillOpaqueStippled 3
|
||||
|
||||
/* fillRule */
|
||||
|
||||
#define EvenOddRule 0
|
||||
#define WindingRule 1
|
||||
|
||||
/* subwindow mode */
|
||||
|
||||
#define ClipByChildren 0
|
||||
#define IncludeInferiors 1
|
||||
|
||||
/* SetClipRectangles ordering */
|
||||
|
||||
#define Unsorted 0
|
||||
#define YSorted 1
|
||||
#define YXSorted 2
|
||||
#define YXBanded 3
|
||||
|
||||
/* CoordinateMode for drawing routines */
|
||||
|
||||
#define CoordModeOrigin 0 /* relative to the origin */
|
||||
#define CoordModePrevious 1 /* relative to previous point */
|
||||
|
||||
/* Polygon shapes */
|
||||
|
||||
#define Complex 0 /* paths may intersect */
|
||||
#define Nonconvex 1 /* no paths intersect, but not convex */
|
||||
#define Convex 2 /* wholly convex */
|
||||
|
||||
/* Arc modes for PolyFillArc */
|
||||
|
||||
#define ArcChord 0 /* join endpoints of arc */
|
||||
#define ArcPieSlice 1 /* join endpoints to center of arc */
|
||||
|
||||
/* GC components: masks used in CreateGC, CopyGC, ChangeGC, OR'ed into
|
||||
GC.stateChanges */
|
||||
|
||||
#define GCFunction (1L<<0)
|
||||
#define GCPlaneMask (1L<<1)
|
||||
#define GCForeground (1L<<2)
|
||||
#define GCBackground (1L<<3)
|
||||
#define GCLineWidth (1L<<4)
|
||||
#define GCLineStyle (1L<<5)
|
||||
#define GCCapStyle (1L<<6)
|
||||
#define GCJoinStyle (1L<<7)
|
||||
#define GCFillStyle (1L<<8)
|
||||
#define GCFillRule (1L<<9)
|
||||
#define GCTile (1L<<10)
|
||||
#define GCStipple (1L<<11)
|
||||
#define GCTileStipXOrigin (1L<<12)
|
||||
#define GCTileStipYOrigin (1L<<13)
|
||||
#define GCFont (1L<<14)
|
||||
#define GCSubwindowMode (1L<<15)
|
||||
#define GCGraphicsExposures (1L<<16)
|
||||
#define GCClipXOrigin (1L<<17)
|
||||
#define GCClipYOrigin (1L<<18)
|
||||
#define GCClipMask (1L<<19)
|
||||
#define GCDashOffset (1L<<20)
|
||||
#define GCDashList (1L<<21)
|
||||
#define GCArcMode (1L<<22)
|
||||
|
||||
#define GCLastBit 22
|
||||
/*****************************************************************
|
||||
* FONTS
|
||||
*****************************************************************/
|
||||
|
||||
/* used in QueryFont -- draw direction */
|
||||
|
||||
#define FontLeftToRight 0
|
||||
#define FontRightToLeft 1
|
||||
|
||||
#define FontChange 255
|
||||
|
||||
/*****************************************************************
|
||||
* IMAGING
|
||||
*****************************************************************/
|
||||
|
||||
/* ImageFormat -- PutImage, GetImage */
|
||||
|
||||
#define XYBitmap 0 /* depth 1, XYFormat */
|
||||
#define XYPixmap 1 /* depth == drawable depth */
|
||||
#define ZPixmap 2 /* depth == drawable depth */
|
||||
|
||||
/*****************************************************************
|
||||
* COLOR MAP STUFF
|
||||
*****************************************************************/
|
||||
|
||||
/* For CreateColormap */
|
||||
|
||||
#define AllocNone 0 /* create map with no entries */
|
||||
#define AllocAll 1 /* allocate entire map writeable */
|
||||
|
||||
|
||||
/* Flags used in StoreNamedColor, StoreColors */
|
||||
|
||||
#define DoRed (1<<0)
|
||||
#define DoGreen (1<<1)
|
||||
#define DoBlue (1<<2)
|
||||
|
||||
/*****************************************************************
|
||||
* CURSOR STUFF
|
||||
*****************************************************************/
|
||||
|
||||
/* QueryBestSize Class */
|
||||
|
||||
#define CursorShape 0 /* largest size that can be displayed */
|
||||
#define TileShape 1 /* size tiled fastest */
|
||||
#define StippleShape 2 /* size stippled fastest */
|
||||
|
||||
/*****************************************************************
|
||||
* KEYBOARD/POINTER STUFF
|
||||
*****************************************************************/
|
||||
|
||||
#define AutoRepeatModeOff 0
|
||||
#define AutoRepeatModeOn 1
|
||||
#define AutoRepeatModeDefault 2
|
||||
|
||||
#define LedModeOff 0
|
||||
#define LedModeOn 1
|
||||
|
||||
/* masks for ChangeKeyboardControl */
|
||||
|
||||
#define KBKeyClickPercent (1L<<0)
|
||||
#define KBBellPercent (1L<<1)
|
||||
#define KBBellPitch (1L<<2)
|
||||
#define KBBellDuration (1L<<3)
|
||||
#define KBLed (1L<<4)
|
||||
#define KBLedMode (1L<<5)
|
||||
#define KBKey (1L<<6)
|
||||
#define KBAutoRepeatMode (1L<<7)
|
||||
|
||||
#define MappingSuccess 0
|
||||
#define MappingBusy 1
|
||||
#define MappingFailed 2
|
||||
|
||||
#define MappingModifier 0
|
||||
#define MappingKeyboard 1
|
||||
#define MappingPointer 2
|
||||
|
||||
/*****************************************************************
|
||||
* SCREEN SAVER STUFF
|
||||
*****************************************************************/
|
||||
|
||||
#define DontPreferBlanking 0
|
||||
#define PreferBlanking 1
|
||||
#define DefaultBlanking 2
|
||||
|
||||
#define DisableScreenSaver 0
|
||||
#define DisableScreenInterval 0
|
||||
|
||||
#define DontAllowExposures 0
|
||||
#define AllowExposures 1
|
||||
#define DefaultExposures 2
|
||||
|
||||
/* for ForceScreenSaver */
|
||||
|
||||
#define ScreenSaverReset 0
|
||||
#define ScreenSaverActive 1
|
||||
|
||||
/*****************************************************************
|
||||
* HOSTS AND CONNECTIONS
|
||||
*****************************************************************/
|
||||
|
||||
/* for ChangeHosts */
|
||||
|
||||
#define HostInsert 0
|
||||
#define HostDelete 1
|
||||
|
||||
/* for ChangeAccessControl */
|
||||
|
||||
#define EnableAccess 1
|
||||
#define DisableAccess 0
|
||||
|
||||
/* Display classes used in opening the connection
|
||||
* Note that the statically allocated ones are even numbered and the
|
||||
* dynamically changeable ones are odd numbered */
|
||||
|
||||
#define StaticGray 0
|
||||
#define GrayScale 1
|
||||
#define StaticColor 2
|
||||
#define PseudoColor 3
|
||||
#define TrueColor 4
|
||||
#define DirectColor 5
|
||||
|
||||
|
||||
/* Byte order used in imageByteOrder and bitmapBitOrder */
|
||||
|
||||
#define LSBFirst 0
|
||||
#define MSBFirst 1
|
||||
|
||||
#endif /* X_H */
|
467
includes/X11/XF86keysym.h
Normal file
467
includes/X11/XF86keysym.h
Normal file
|
@ -0,0 +1,467 @@
|
|||
/*
|
||||
* XFree86 vendor specific keysyms.
|
||||
*
|
||||
* The XFree86 keysym range is 0x10080001 - 0x1008FFFF.
|
||||
*
|
||||
* The XF86 set of keysyms is a catch-all set of defines for keysyms found
|
||||
* on various multimedia keyboards. Originally specific to XFree86 they have
|
||||
* been been adopted over time and are considered a "standard" part of X
|
||||
* keysym definitions.
|
||||
* XFree86 never properly commented these keysyms, so we have done our
|
||||
* best to explain the semantic meaning of these keys.
|
||||
*
|
||||
* XFree86 has removed their mail archives of the period, that might have
|
||||
* shed more light on some of these definitions. Until/unless we resurrect
|
||||
* these archives, these are from memory and usage.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ModeLock
|
||||
*
|
||||
* This one is old, and not really used any more since XKB offers this
|
||||
* functionality.
|
||||
*/
|
||||
|
||||
#define XF86XK_ModeLock 0x1008FF01 /* Mode Switch Lock */
|
||||
|
||||
/* Backlight controls. */
|
||||
#define XF86XK_MonBrightnessUp 0x1008FF02 /* Monitor/panel brightness */
|
||||
#define XF86XK_MonBrightnessDown 0x1008FF03 /* Monitor/panel brightness */
|
||||
#define XF86XK_KbdLightOnOff 0x1008FF04 /* Keyboards may be lit */
|
||||
#define XF86XK_KbdBrightnessUp 0x1008FF05 /* Keyboards may be lit */
|
||||
#define XF86XK_KbdBrightnessDown 0x1008FF06 /* Keyboards may be lit */
|
||||
#define XF86XK_MonBrightnessCycle 0x1008FF07 /* Monitor/panel brightness */
|
||||
|
||||
/*
|
||||
* Keys found on some "Internet" keyboards.
|
||||
*/
|
||||
#define XF86XK_Standby 0x1008FF10 /* System into standby mode */
|
||||
#define XF86XK_AudioLowerVolume 0x1008FF11 /* Volume control down */
|
||||
#define XF86XK_AudioMute 0x1008FF12 /* Mute sound from the system */
|
||||
#define XF86XK_AudioRaiseVolume 0x1008FF13 /* Volume control up */
|
||||
#define XF86XK_AudioPlay 0x1008FF14 /* Start playing of audio > */
|
||||
#define XF86XK_AudioStop 0x1008FF15 /* Stop playing audio */
|
||||
#define XF86XK_AudioPrev 0x1008FF16 /* Previous track */
|
||||
#define XF86XK_AudioNext 0x1008FF17 /* Next track */
|
||||
#define XF86XK_HomePage 0x1008FF18 /* Display user's home page */
|
||||
#define XF86XK_Mail 0x1008FF19 /* Invoke user's mail program */
|
||||
#define XF86XK_Start 0x1008FF1A /* Start application */
|
||||
#define XF86XK_Search 0x1008FF1B /* Search */
|
||||
#define XF86XK_AudioRecord 0x1008FF1C /* Record audio application */
|
||||
|
||||
/* These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere) */
|
||||
#define XF86XK_Calculator 0x1008FF1D /* Invoke calculator program */
|
||||
#define XF86XK_Memo 0x1008FF1E /* Invoke Memo taking program */
|
||||
#define XF86XK_ToDoList 0x1008FF1F /* Invoke To Do List program */
|
||||
#define XF86XK_Calendar 0x1008FF20 /* Invoke Calendar program */
|
||||
#define XF86XK_PowerDown 0x1008FF21 /* Deep sleep the system */
|
||||
#define XF86XK_ContrastAdjust 0x1008FF22 /* Adjust screen contrast */
|
||||
#define XF86XK_RockerUp 0x1008FF23 /* Rocker switches exist up */
|
||||
#define XF86XK_RockerDown 0x1008FF24 /* and down */
|
||||
#define XF86XK_RockerEnter 0x1008FF25 /* and let you press them */
|
||||
|
||||
/* Some more "Internet" keyboard symbols */
|
||||
#define XF86XK_Back 0x1008FF26 /* Like back on a browser */
|
||||
#define XF86XK_Forward 0x1008FF27 /* Like forward on a browser */
|
||||
#define XF86XK_Stop 0x1008FF28 /* Stop current operation */
|
||||
#define XF86XK_Refresh 0x1008FF29 /* Refresh the page */
|
||||
#define XF86XK_PowerOff 0x1008FF2A /* Power off system entirely */
|
||||
#define XF86XK_WakeUp 0x1008FF2B /* Wake up system from sleep */
|
||||
#define XF86XK_Eject 0x1008FF2C /* Eject device (e.g. DVD) */
|
||||
#define XF86XK_ScreenSaver 0x1008FF2D /* Invoke screensaver */
|
||||
#define XF86XK_WWW 0x1008FF2E /* Invoke web browser */
|
||||
#define XF86XK_Sleep 0x1008FF2F /* Put system to sleep */
|
||||
#define XF86XK_Favorites 0x1008FF30 /* Show favorite locations */
|
||||
#define XF86XK_AudioPause 0x1008FF31 /* Pause audio playing */
|
||||
#define XF86XK_AudioMedia 0x1008FF32 /* Launch media collection app */
|
||||
#define XF86XK_MyComputer 0x1008FF33 /* Display "My Computer" window */
|
||||
#define XF86XK_VendorHome 0x1008FF34 /* Display vendor home web site */
|
||||
#define XF86XK_LightBulb 0x1008FF35 /* Light bulb keys exist */
|
||||
#define XF86XK_Shop 0x1008FF36 /* Display shopping web site */
|
||||
#define XF86XK_History 0x1008FF37 /* Show history of web surfing */
|
||||
#define XF86XK_OpenURL 0x1008FF38 /* Open selected URL */
|
||||
#define XF86XK_AddFavorite 0x1008FF39 /* Add URL to favorites list */
|
||||
#define XF86XK_HotLinks 0x1008FF3A /* Show "hot" links */
|
||||
#define XF86XK_BrightnessAdjust 0x1008FF3B /* Invoke brightness adj. UI */
|
||||
#define XF86XK_Finance 0x1008FF3C /* Display financial site */
|
||||
#define XF86XK_Community 0x1008FF3D /* Display user's community */
|
||||
#define XF86XK_AudioRewind 0x1008FF3E /* "rewind" audio track */
|
||||
#define XF86XK_BackForward 0x1008FF3F /* ??? */
|
||||
#define XF86XK_Launch0 0x1008FF40 /* Launch Application */
|
||||
#define XF86XK_Launch1 0x1008FF41 /* Launch Application */
|
||||
#define XF86XK_Launch2 0x1008FF42 /* Launch Application */
|
||||
#define XF86XK_Launch3 0x1008FF43 /* Launch Application */
|
||||
#define XF86XK_Launch4 0x1008FF44 /* Launch Application */
|
||||
#define XF86XK_Launch5 0x1008FF45 /* Launch Application */
|
||||
#define XF86XK_Launch6 0x1008FF46 /* Launch Application */
|
||||
#define XF86XK_Launch7 0x1008FF47 /* Launch Application */
|
||||
#define XF86XK_Launch8 0x1008FF48 /* Launch Application */
|
||||
#define XF86XK_Launch9 0x1008FF49 /* Launch Application */
|
||||
#define XF86XK_LaunchA 0x1008FF4A /* Launch Application */
|
||||
#define XF86XK_LaunchB 0x1008FF4B /* Launch Application */
|
||||
#define XF86XK_LaunchC 0x1008FF4C /* Launch Application */
|
||||
#define XF86XK_LaunchD 0x1008FF4D /* Launch Application */
|
||||
#define XF86XK_LaunchE 0x1008FF4E /* Launch Application */
|
||||
#define XF86XK_LaunchF 0x1008FF4F /* Launch Application */
|
||||
|
||||
#define XF86XK_ApplicationLeft 0x1008FF50 /* switch to application, left */
|
||||
#define XF86XK_ApplicationRight 0x1008FF51 /* switch to application, right*/
|
||||
#define XF86XK_Book 0x1008FF52 /* Launch bookreader */
|
||||
#define XF86XK_CD 0x1008FF53 /* Launch CD/DVD player */
|
||||
#define XF86XK_Calculater 0x1008FF54 /* Launch Calculater */
|
||||
#define XF86XK_Clear 0x1008FF55 /* Clear window, screen */
|
||||
#define XF86XK_Close 0x1008FF56 /* Close window */
|
||||
#define XF86XK_Copy 0x1008FF57 /* Copy selection */
|
||||
#define XF86XK_Cut 0x1008FF58 /* Cut selection */
|
||||
#define XF86XK_Display 0x1008FF59 /* Output switch key */
|
||||
#define XF86XK_DOS 0x1008FF5A /* Launch DOS (emulation) */
|
||||
#define XF86XK_Documents 0x1008FF5B /* Open documents window */
|
||||
#define XF86XK_Excel 0x1008FF5C /* Launch spread sheet */
|
||||
#define XF86XK_Explorer 0x1008FF5D /* Launch file explorer */
|
||||
#define XF86XK_Game 0x1008FF5E /* Launch game */
|
||||
#define XF86XK_Go 0x1008FF5F /* Go to URL */
|
||||
#define XF86XK_iTouch 0x1008FF60 /* Logitech iTouch- don't use */
|
||||
#define XF86XK_LogOff 0x1008FF61 /* Log off system */
|
||||
#define XF86XK_Market 0x1008FF62 /* ?? */
|
||||
#define XF86XK_Meeting 0x1008FF63 /* enter meeting in calendar */
|
||||
#define XF86XK_MenuKB 0x1008FF65 /* distinguish keyboard from PB */
|
||||
#define XF86XK_MenuPB 0x1008FF66 /* distinguish PB from keyboard */
|
||||
#define XF86XK_MySites 0x1008FF67 /* Favourites */
|
||||
#define XF86XK_New 0x1008FF68 /* New (folder, document... */
|
||||
#define XF86XK_News 0x1008FF69 /* News */
|
||||
#define XF86XK_OfficeHome 0x1008FF6A /* Office home (old Staroffice)*/
|
||||
#define XF86XK_Open 0x1008FF6B /* Open */
|
||||
#define XF86XK_Option 0x1008FF6C /* ?? */
|
||||
#define XF86XK_Paste 0x1008FF6D /* Paste */
|
||||
#define XF86XK_Phone 0x1008FF6E /* Launch phone; dial number */
|
||||
#define XF86XK_Q 0x1008FF70 /* Compaq's Q - don't use */
|
||||
#define XF86XK_Reply 0x1008FF72 /* Reply e.g., mail */
|
||||
#define XF86XK_Reload 0x1008FF73 /* Reload web page, file, etc. */
|
||||
#define XF86XK_RotateWindows 0x1008FF74 /* Rotate windows e.g. xrandr */
|
||||
#define XF86XK_RotationPB 0x1008FF75 /* don't use */
|
||||
#define XF86XK_RotationKB 0x1008FF76 /* don't use */
|
||||
#define XF86XK_Save 0x1008FF77 /* Save (file, document, state */
|
||||
#define XF86XK_ScrollUp 0x1008FF78 /* Scroll window/contents up */
|
||||
#define XF86XK_ScrollDown 0x1008FF79 /* Scrool window/contentd down */
|
||||
#define XF86XK_ScrollClick 0x1008FF7A /* Use XKB mousekeys instead */
|
||||
#define XF86XK_Send 0x1008FF7B /* Send mail, file, object */
|
||||
#define XF86XK_Spell 0x1008FF7C /* Spell checker */
|
||||
#define XF86XK_SplitScreen 0x1008FF7D /* Split window or screen */
|
||||
#define XF86XK_Support 0x1008FF7E /* Get support (??) */
|
||||
#define XF86XK_TaskPane 0x1008FF7F /* Show tasks */
|
||||
#define XF86XK_Terminal 0x1008FF80 /* Launch terminal emulator */
|
||||
#define XF86XK_Tools 0x1008FF81 /* toolbox of desktop/app. */
|
||||
#define XF86XK_Travel 0x1008FF82 /* ?? */
|
||||
#define XF86XK_UserPB 0x1008FF84 /* ?? */
|
||||
#define XF86XK_User1KB 0x1008FF85 /* ?? */
|
||||
#define XF86XK_User2KB 0x1008FF86 /* ?? */
|
||||
#define XF86XK_Video 0x1008FF87 /* Launch video player */
|
||||
#define XF86XK_WheelButton 0x1008FF88 /* button from a mouse wheel */
|
||||
#define XF86XK_Word 0x1008FF89 /* Launch word processor */
|
||||
#define XF86XK_Xfer 0x1008FF8A
|
||||
#define XF86XK_ZoomIn 0x1008FF8B /* zoom in view, map, etc. */
|
||||
#define XF86XK_ZoomOut 0x1008FF8C /* zoom out view, map, etc. */
|
||||
|
||||
#define XF86XK_Away 0x1008FF8D /* mark yourself as away */
|
||||
#define XF86XK_Messenger 0x1008FF8E /* as in instant messaging */
|
||||
#define XF86XK_WebCam 0x1008FF8F /* Launch web camera app. */
|
||||
#define XF86XK_MailForward 0x1008FF90 /* Forward in mail */
|
||||
#define XF86XK_Pictures 0x1008FF91 /* Show pictures */
|
||||
#define XF86XK_Music 0x1008FF92 /* Launch music application */
|
||||
|
||||
#define XF86XK_Battery 0x1008FF93 /* Display battery information */
|
||||
#define XF86XK_Bluetooth 0x1008FF94 /* Enable/disable Bluetooth */
|
||||
#define XF86XK_WLAN 0x1008FF95 /* Enable/disable WLAN */
|
||||
#define XF86XK_UWB 0x1008FF96 /* Enable/disable UWB */
|
||||
|
||||
#define XF86XK_AudioForward 0x1008FF97 /* fast-forward audio track */
|
||||
#define XF86XK_AudioRepeat 0x1008FF98 /* toggle repeat mode */
|
||||
#define XF86XK_AudioRandomPlay 0x1008FF99 /* toggle shuffle mode */
|
||||
#define XF86XK_Subtitle 0x1008FF9A /* cycle through subtitle */
|
||||
#define XF86XK_AudioCycleTrack 0x1008FF9B /* cycle through audio tracks */
|
||||
#define XF86XK_CycleAngle 0x1008FF9C /* cycle through angles */
|
||||
#define XF86XK_FrameBack 0x1008FF9D /* video: go one frame back */
|
||||
#define XF86XK_FrameForward 0x1008FF9E /* video: go one frame forward */
|
||||
#define XF86XK_Time 0x1008FF9F /* display, or shows an entry for time seeking */
|
||||
#define XF86XK_Select 0x1008FFA0 /* Select button on joypads and remotes */
|
||||
#define XF86XK_View 0x1008FFA1 /* Show a view options/properties */
|
||||
#define XF86XK_TopMenu 0x1008FFA2 /* Go to a top-level menu in a video */
|
||||
|
||||
#define XF86XK_Red 0x1008FFA3 /* Red button */
|
||||
#define XF86XK_Green 0x1008FFA4 /* Green button */
|
||||
#define XF86XK_Yellow 0x1008FFA5 /* Yellow button */
|
||||
#define XF86XK_Blue 0x1008FFA6 /* Blue button */
|
||||
|
||||
#define XF86XK_Suspend 0x1008FFA7 /* Sleep to RAM */
|
||||
#define XF86XK_Hibernate 0x1008FFA8 /* Sleep to disk */
|
||||
#define XF86XK_TouchpadToggle 0x1008FFA9 /* Toggle between touchpad/trackstick */
|
||||
#define XF86XK_TouchpadOn 0x1008FFB0 /* The touchpad got switched on */
|
||||
#define XF86XK_TouchpadOff 0x1008FFB1 /* The touchpad got switched off */
|
||||
|
||||
#define XF86XK_AudioMicMute 0x1008FFB2 /* Mute the Mic from the system */
|
||||
|
||||
#define XF86XK_Keyboard 0x1008FFB3 /* User defined keyboard related action */
|
||||
|
||||
#define XF86XK_WWAN 0x1008FFB4 /* Toggle WWAN (LTE, UMTS, etc.) radio */
|
||||
#define XF86XK_RFKill 0x1008FFB5 /* Toggle radios on/off */
|
||||
|
||||
#define XF86XK_AudioPreset 0x1008FFB6 /* Select equalizer preset, e.g. theatre-mode */
|
||||
|
||||
#define XF86XK_RotationLockToggle 0x1008FFB7 /* Toggle screen rotation lock on/off */
|
||||
|
||||
#define XF86XK_FullScreen 0x1008FFB8 /* Toggle fullscreen */
|
||||
|
||||
/* Keys for special action keys (hot keys) */
|
||||
/* Virtual terminals on some operating systems */
|
||||
#define XF86XK_Switch_VT_1 0x1008FE01
|
||||
#define XF86XK_Switch_VT_2 0x1008FE02
|
||||
#define XF86XK_Switch_VT_3 0x1008FE03
|
||||
#define XF86XK_Switch_VT_4 0x1008FE04
|
||||
#define XF86XK_Switch_VT_5 0x1008FE05
|
||||
#define XF86XK_Switch_VT_6 0x1008FE06
|
||||
#define XF86XK_Switch_VT_7 0x1008FE07
|
||||
#define XF86XK_Switch_VT_8 0x1008FE08
|
||||
#define XF86XK_Switch_VT_9 0x1008FE09
|
||||
#define XF86XK_Switch_VT_10 0x1008FE0A
|
||||
#define XF86XK_Switch_VT_11 0x1008FE0B
|
||||
#define XF86XK_Switch_VT_12 0x1008FE0C
|
||||
|
||||
#define XF86XK_Ungrab 0x1008FE20 /* force ungrab */
|
||||
#define XF86XK_ClearGrab 0x1008FE21 /* kill application with grab */
|
||||
#define XF86XK_Next_VMode 0x1008FE22 /* next video mode available */
|
||||
#define XF86XK_Prev_VMode 0x1008FE23 /* prev. video mode available */
|
||||
#define XF86XK_LogWindowTree 0x1008FE24 /* print window tree to log */
|
||||
#define XF86XK_LogGrabInfo 0x1008FE25 /* print all active grabs to log */
|
||||
|
||||
|
||||
/*
|
||||
* Reserved range for evdev symbols: 0x10081000-0x10081FFF
|
||||
*
|
||||
* Key syms within this range must match the Linux kernel
|
||||
* input-event-codes.h file in the format:
|
||||
* XF86XK_CamelCaseKernelName _EVDEVK(kernel value)
|
||||
* For example, the kernel
|
||||
* #define KEY_MACRO_RECORD_START 0x2b0
|
||||
* effectively ends up as:
|
||||
* #define XF86XK_MacroRecordStart 0x100812b0
|
||||
*
|
||||
* For historical reasons, some keysyms within the reserved range will be
|
||||
* missing, most notably all "normal" keys that are mapped through default
|
||||
* XKB layouts (e.g. KEY_Q).
|
||||
*
|
||||
* CamelCasing is done with a human control as last authority, e.g. see VOD
|
||||
* instead of Vod for the Video on Demand key.
|
||||
*
|
||||
* The format for #defines is strict:
|
||||
*
|
||||
* #define XF86XK_FOO<tab...>_EVDEVK(0xABC)<tab><tab> |* kver KEY_FOO *|
|
||||
*
|
||||
* Where
|
||||
* - alignment by tabs
|
||||
* - the _EVDEVK macro must be used
|
||||
* - the hex code must be in uppercase hex
|
||||
* - the kernel version (kver) is in the form v5.10
|
||||
* - kver and key name are within a slash-star comment (a pipe is used in
|
||||
* this example for technical reasons)
|
||||
* These #defines are parsed by scripts. Do not stray from the given format.
|
||||
*
|
||||
* Where the evdev keycode is mapped to a different symbol, please add a
|
||||
* comment line starting with Use: but otherwise the same format, e.g.
|
||||
* Use: XF86XK_RotationLockToggle _EVDEVK(0x231) v4.16 KEY_ROTATE_LOCK_TOGGLE
|
||||
*
|
||||
*/
|
||||
#define _EVDEVK(_v) (0x10081000 + _v)
|
||||
/* Use: XF86XK_Eject _EVDEVK(0x0A2) KEY_EJECTCLOSECD */
|
||||
/* Use: XF86XK_New _EVDEVK(0x0B5) v2.6.14 KEY_NEW */
|
||||
/* Use: XK_Redo _EVDEVK(0x0B6) v2.6.14 KEY_REDO */
|
||||
/* KEY_DASHBOARD has been mapped to LaunchB in xkeyboard-config since 2011 */
|
||||
/* Use: XF86XK_LaunchB _EVDEVK(0x0CC) v2.6.28 KEY_DASHBOARD */
|
||||
/* Use: XF86XK_Display _EVDEVK(0x0E3) v2.6.12 KEY_SWITCHVIDEOMODE */
|
||||
/* Use: XF86XK_KbdLightOnOff _EVDEVK(0x0E4) v2.6.12 KEY_KBDILLUMTOGGLE */
|
||||
/* Use: XF86XK_KbdBrightnessDown _EVDEVK(0x0E5) v2.6.12 KEY_KBDILLUMDOWN */
|
||||
/* Use: XF86XK_KbdBrightnessUp _EVDEVK(0x0E6) v2.6.12 KEY_KBDILLUMUP */
|
||||
/* Use: XF86XK_Send _EVDEVK(0x0E7) v2.6.14 KEY_SEND */
|
||||
/* Use: XF86XK_Reply _EVDEVK(0x0E8) v2.6.14 KEY_REPLY */
|
||||
/* Use: XF86XK_MailForward _EVDEVK(0x0E9) v2.6.14 KEY_FORWARDMAIL */
|
||||
/* Use: XF86XK_Save _EVDEVK(0x0EA) v2.6.14 KEY_SAVE */
|
||||
/* Use: XF86XK_Documents _EVDEVK(0x0EB) v2.6.14 KEY_DOCUMENTS */
|
||||
/* Use: XF86XK_Battery _EVDEVK(0x0EC) v2.6.17 KEY_BATTERY */
|
||||
/* Use: XF86XK_Bluetooth _EVDEVK(0x0ED) v2.6.19 KEY_BLUETOOTH */
|
||||
/* Use: XF86XK_WLAN _EVDEVK(0x0EE) v2.6.19 KEY_WLAN */
|
||||
/* Use: XF86XK_UWB _EVDEVK(0x0EF) v2.6.24 KEY_UWB */
|
||||
/* Use: XF86XK_Next_VMode _EVDEVK(0x0F1) v2.6.23 KEY_VIDEO_NEXT */
|
||||
/* Use: XF86XK_Prev_VMode _EVDEVK(0x0F2) v2.6.23 KEY_VIDEO_PREV */
|
||||
/* Use: XF86XK_MonBrightnessCycle _EVDEVK(0x0F3) v2.6.23 KEY_BRIGHTNESS_CYCLE */
|
||||
#define XF86XK_BrightnessAuto _EVDEVK(0x0F4) /* v3.16 KEY_BRIGHTNESS_AUTO */
|
||||
#define XF86XK_DisplayOff _EVDEVK(0x0F5) /* v2.6.23 KEY_DISPLAY_OFF */
|
||||
/* Use: XF86XK_WWAN _EVDEVK(0x0F6) v3.13 KEY_WWAN */
|
||||
/* Use: XF86XK_RFKill _EVDEVK(0x0F7) v2.6.33 KEY_RFKILL */
|
||||
/* Use: XF86XK_AudioMicMute _EVDEVK(0x0F8) v3.1 KEY_MICMUTE */
|
||||
#define XF86XK_Info _EVDEVK(0x166) /* KEY_INFO */
|
||||
/* Use: XF86XK_CycleAngle _EVDEVK(0x173) KEY_ANGLE */
|
||||
/* Use: XF86XK_FullScreen _EVDEVK(0x174) v5.1 KEY_FULL_SCREEN */
|
||||
#define XF86XK_AspectRatio _EVDEVK(0x177) /* v5.1 KEY_ASPECT_RATIO */
|
||||
#define XF86XK_DVD _EVDEVK(0x185) /* KEY_DVD */
|
||||
#define XF86XK_Audio _EVDEVK(0x188) /* KEY_AUDIO */
|
||||
/* Use: XF86XK_Video _EVDEVK(0x189) KEY_VIDEO */
|
||||
/* Use: XF86XK_Calendar _EVDEVK(0x18D) KEY_CALENDAR */
|
||||
#define XF86XK_ChannelUp _EVDEVK(0x192) /* KEY_CHANNELUP */
|
||||
#define XF86XK_ChannelDown _EVDEVK(0x193) /* KEY_CHANNELDOWN */
|
||||
/* Use: XF86XK_AudioRandomPlay _EVDEVK(0x19A) KEY_SHUFFLE */
|
||||
#define XF86XK_Break _EVDEVK(0x19B) /* KEY_BREAK */
|
||||
#define XF86XK_VideoPhone _EVDEVK(0x1A0) /* v2.6.20 KEY_VIDEOPHONE */
|
||||
/* Use: XF86XK_Game _EVDEVK(0x1A1) v2.6.20 KEY_GAMES */
|
||||
/* Use: XF86XK_ZoomIn _EVDEVK(0x1A2) v2.6.20 KEY_ZOOMIN */
|
||||
/* Use: XF86XK_ZoomOut _EVDEVK(0x1A3) v2.6.20 KEY_ZOOMOUT */
|
||||
#define XF86XK_ZoomReset _EVDEVK(0x1A4) /* v2.6.20 KEY_ZOOMRESET */
|
||||
/* Use: XF86XK_Word _EVDEVK(0x1A5) v2.6.20 KEY_WORDPROCESSOR */
|
||||
#define XF86XK_Editor _EVDEVK(0x1A6) /* v2.6.20 KEY_EDITOR */
|
||||
/* Use: XF86XK_Excel _EVDEVK(0x1A7) v2.6.20 KEY_SPREADSHEET */
|
||||
#define XF86XK_GraphicsEditor _EVDEVK(0x1A8) /* v2.6.20 KEY_GRAPHICSEDITOR */
|
||||
#define XF86XK_Presentation _EVDEVK(0x1A9) /* v2.6.20 KEY_PRESENTATION */
|
||||
#define XF86XK_Database _EVDEVK(0x1AA) /* v2.6.20 KEY_DATABASE */
|
||||
/* Use: XF86XK_News _EVDEVK(0x1AB) v2.6.20 KEY_NEWS */
|
||||
#define XF86XK_Voicemail _EVDEVK(0x1AC) /* v2.6.20 KEY_VOICEMAIL */
|
||||
#define XF86XK_Addressbook _EVDEVK(0x1AD) /* v2.6.20 KEY_ADDRESSBOOK */
|
||||
/* Use: XF86XK_Messenger _EVDEVK(0x1AE) v2.6.20 KEY_MESSENGER */
|
||||
#define XF86XK_DisplayToggle _EVDEVK(0x1AF) /* v2.6.20 KEY_DISPLAYTOGGLE */
|
||||
#define XF86XK_SpellCheck _EVDEVK(0x1B0) /* v2.6.24 KEY_SPELLCHECK */
|
||||
/* Use: XF86XK_LogOff _EVDEVK(0x1B1) v2.6.24 KEY_LOGOFF */
|
||||
/* Use: XK_dollar _EVDEVK(0x1B2) v2.6.24 KEY_DOLLAR */
|
||||
/* Use: XK_EuroSign _EVDEVK(0x1B3) v2.6.24 KEY_EURO */
|
||||
/* Use: XF86XK_FrameBack _EVDEVK(0x1B4) v2.6.24 KEY_FRAMEBACK */
|
||||
/* Use: XF86XK_FrameForward _EVDEVK(0x1B5) v2.6.24 KEY_FRAMEFORWARD */
|
||||
#define XF86XK_ContextMenu _EVDEVK(0x1B6) /* v2.6.24 KEY_CONTEXT_MENU */
|
||||
#define XF86XK_MediaRepeat _EVDEVK(0x1B7) /* v2.6.26 KEY_MEDIA_REPEAT */
|
||||
#define XF86XK_10ChannelsUp _EVDEVK(0x1B8) /* v2.6.38 KEY_10CHANNELSUP */
|
||||
#define XF86XK_10ChannelsDown _EVDEVK(0x1B9) /* v2.6.38 KEY_10CHANNELSDOWN */
|
||||
#define XF86XK_Images _EVDEVK(0x1BA) /* v2.6.39 KEY_IMAGES */
|
||||
#define XF86XK_NotificationCenter _EVDEVK(0x1BC) /* v5.10 KEY_NOTIFICATION_CENTER */
|
||||
#define XF86XK_PickupPhone _EVDEVK(0x1BD) /* v5.10 KEY_PICKUP_PHONE */
|
||||
#define XF86XK_HangupPhone _EVDEVK(0x1BE) /* v5.10 KEY_HANGUP_PHONE */
|
||||
#define XF86XK_Fn _EVDEVK(0x1D0) /* KEY_FN */
|
||||
#define XF86XK_Fn_Esc _EVDEVK(0x1D1) /* KEY_FN_ESC */
|
||||
#define XF86XK_FnRightShift _EVDEVK(0x1E5) /* v5.10 KEY_FN_RIGHT_SHIFT */
|
||||
/* Use: XK_braille_dot_1 _EVDEVK(0x1F1) v2.6.17 KEY_BRL_DOT1 */
|
||||
/* Use: XK_braille_dot_2 _EVDEVK(0x1F2) v2.6.17 KEY_BRL_DOT2 */
|
||||
/* Use: XK_braille_dot_3 _EVDEVK(0x1F3) v2.6.17 KEY_BRL_DOT3 */
|
||||
/* Use: XK_braille_dot_4 _EVDEVK(0x1F4) v2.6.17 KEY_BRL_DOT4 */
|
||||
/* Use: XK_braille_dot_5 _EVDEVK(0x1F5) v2.6.17 KEY_BRL_DOT5 */
|
||||
/* Use: XK_braille_dot_6 _EVDEVK(0x1F6) v2.6.17 KEY_BRL_DOT6 */
|
||||
/* Use: XK_braille_dot_7 _EVDEVK(0x1F7) v2.6.17 KEY_BRL_DOT7 */
|
||||
/* Use: XK_braille_dot_8 _EVDEVK(0x1F8) v2.6.17 KEY_BRL_DOT8 */
|
||||
/* Use: XK_braille_dot_9 _EVDEVK(0x1F9) v2.6.23 KEY_BRL_DOT9 */
|
||||
/* Use: XK_braille_dot_1 _EVDEVK(0x1FA) v2.6.23 KEY_BRL_DOT10 */
|
||||
#define XF86XK_Numeric0 _EVDEVK(0x200) /* v2.6.28 KEY_NUMERIC_0 */
|
||||
#define XF86XK_Numeric1 _EVDEVK(0x201) /* v2.6.28 KEY_NUMERIC_1 */
|
||||
#define XF86XK_Numeric2 _EVDEVK(0x202) /* v2.6.28 KEY_NUMERIC_2 */
|
||||
#define XF86XK_Numeric3 _EVDEVK(0x203) /* v2.6.28 KEY_NUMERIC_3 */
|
||||
#define XF86XK_Numeric4 _EVDEVK(0x204) /* v2.6.28 KEY_NUMERIC_4 */
|
||||
#define XF86XK_Numeric5 _EVDEVK(0x205) /* v2.6.28 KEY_NUMERIC_5 */
|
||||
#define XF86XK_Numeric6 _EVDEVK(0x206) /* v2.6.28 KEY_NUMERIC_6 */
|
||||
#define XF86XK_Numeric7 _EVDEVK(0x207) /* v2.6.28 KEY_NUMERIC_7 */
|
||||
#define XF86XK_Numeric8 _EVDEVK(0x208) /* v2.6.28 KEY_NUMERIC_8 */
|
||||
#define XF86XK_Numeric9 _EVDEVK(0x209) /* v2.6.28 KEY_NUMERIC_9 */
|
||||
#define XF86XK_NumericStar _EVDEVK(0x20A) /* v2.6.28 KEY_NUMERIC_STAR */
|
||||
#define XF86XK_NumericPound _EVDEVK(0x20B) /* v2.6.28 KEY_NUMERIC_POUND */
|
||||
#define XF86XK_NumericA _EVDEVK(0x20C) /* v4.1 KEY_NUMERIC_A */
|
||||
#define XF86XK_NumericB _EVDEVK(0x20D) /* v4.1 KEY_NUMERIC_B */
|
||||
#define XF86XK_NumericC _EVDEVK(0x20E) /* v4.1 KEY_NUMERIC_C */
|
||||
#define XF86XK_NumericD _EVDEVK(0x20F) /* v4.1 KEY_NUMERIC_D */
|
||||
#define XF86XK_CameraFocus _EVDEVK(0x210) /* v2.6.33 KEY_CAMERA_FOCUS */
|
||||
#define XF86XK_WPSButton _EVDEVK(0x211) /* v2.6.34 KEY_WPS_BUTTON */
|
||||
/* Use: XF86XK_TouchpadToggle _EVDEVK(0x212) v2.6.37 KEY_TOUCHPAD_TOGGLE */
|
||||
/* Use: XF86XK_TouchpadOn _EVDEVK(0x213) v2.6.37 KEY_TOUCHPAD_ON */
|
||||
/* Use: XF86XK_TouchpadOff _EVDEVK(0x214) v2.6.37 KEY_TOUCHPAD_OFF */
|
||||
#define XF86XK_CameraZoomIn _EVDEVK(0x215) /* v2.6.39 KEY_CAMERA_ZOOMIN */
|
||||
#define XF86XK_CameraZoomOut _EVDEVK(0x216) /* v2.6.39 KEY_CAMERA_ZOOMOUT */
|
||||
#define XF86XK_CameraUp _EVDEVK(0x217) /* v2.6.39 KEY_CAMERA_UP */
|
||||
#define XF86XK_CameraDown _EVDEVK(0x218) /* v2.6.39 KEY_CAMERA_DOWN */
|
||||
#define XF86XK_CameraLeft _EVDEVK(0x219) /* v2.6.39 KEY_CAMERA_LEFT */
|
||||
#define XF86XK_CameraRight _EVDEVK(0x21A) /* v2.6.39 KEY_CAMERA_RIGHT */
|
||||
#define XF86XK_AttendantOn _EVDEVK(0x21B) /* v3.10 KEY_ATTENDANT_ON */
|
||||
#define XF86XK_AttendantOff _EVDEVK(0x21C) /* v3.10 KEY_ATTENDANT_OFF */
|
||||
#define XF86XK_AttendantToggle _EVDEVK(0x21D) /* v3.10 KEY_ATTENDANT_TOGGLE */
|
||||
#define XF86XK_LightsToggle _EVDEVK(0x21E) /* v3.10 KEY_LIGHTS_TOGGLE */
|
||||
#define XF86XK_ALSToggle _EVDEVK(0x230) /* v3.13 KEY_ALS_TOGGLE */
|
||||
/* Use: XF86XK_RotationLockToggle _EVDEVK(0x231) v4.16 KEY_ROTATE_LOCK_TOGGLE */
|
||||
#define XF86XK_Buttonconfig _EVDEVK(0x240) /* v3.16 KEY_BUTTONCONFIG */
|
||||
#define XF86XK_Taskmanager _EVDEVK(0x241) /* v3.16 KEY_TASKMANAGER */
|
||||
#define XF86XK_Journal _EVDEVK(0x242) /* v3.16 KEY_JOURNAL */
|
||||
#define XF86XK_ControlPanel _EVDEVK(0x243) /* v3.16 KEY_CONTROLPANEL */
|
||||
#define XF86XK_AppSelect _EVDEVK(0x244) /* v3.16 KEY_APPSELECT */
|
||||
#define XF86XK_Screensaver _EVDEVK(0x245) /* v3.16 KEY_SCREENSAVER */
|
||||
#define XF86XK_VoiceCommand _EVDEVK(0x246) /* v3.16 KEY_VOICECOMMAND */
|
||||
#define XF86XK_Assistant _EVDEVK(0x247) /* v4.13 KEY_ASSISTANT */
|
||||
/* Use: XK_ISO_Next_Group _EVDEVK(0x248) v5.2 KEY_KBD_LAYOUT_NEXT */
|
||||
#define XF86XK_BrightnessMin _EVDEVK(0x250) /* v3.16 KEY_BRIGHTNESS_MIN */
|
||||
#define XF86XK_BrightnessMax _EVDEVK(0x251) /* v3.16 KEY_BRIGHTNESS_MAX */
|
||||
#define XF86XK_KbdInputAssistPrev _EVDEVK(0x260) /* v3.18 KEY_KBDINPUTASSIST_PREV */
|
||||
#define XF86XK_KbdInputAssistNext _EVDEVK(0x261) /* v3.18 KEY_KBDINPUTASSIST_NEXT */
|
||||
#define XF86XK_KbdInputAssistPrevgroup _EVDEVK(0x262) /* v3.18 KEY_KBDINPUTASSIST_PREVGROUP */
|
||||
#define XF86XK_KbdInputAssistNextgroup _EVDEVK(0x263) /* v3.18 KEY_KBDINPUTASSIST_NEXTGROUP */
|
||||
#define XF86XK_KbdInputAssistAccept _EVDEVK(0x264) /* v3.18 KEY_KBDINPUTASSIST_ACCEPT */
|
||||
#define XF86XK_KbdInputAssistCancel _EVDEVK(0x265) /* v3.18 KEY_KBDINPUTASSIST_CANCEL */
|
||||
#define XF86XK_RightUp _EVDEVK(0x266) /* v4.7 KEY_RIGHT_UP */
|
||||
#define XF86XK_RightDown _EVDEVK(0x267) /* v4.7 KEY_RIGHT_DOWN */
|
||||
#define XF86XK_LeftUp _EVDEVK(0x268) /* v4.7 KEY_LEFT_UP */
|
||||
#define XF86XK_LeftDown _EVDEVK(0x269) /* v4.7 KEY_LEFT_DOWN */
|
||||
#define XF86XK_RootMenu _EVDEVK(0x26A) /* v4.7 KEY_ROOT_MENU */
|
||||
#define XF86XK_MediaTopMenu _EVDEVK(0x26B) /* v4.7 KEY_MEDIA_TOP_MENU */
|
||||
#define XF86XK_Numeric11 _EVDEVK(0x26C) /* v4.7 KEY_NUMERIC_11 */
|
||||
#define XF86XK_Numeric12 _EVDEVK(0x26D) /* v4.7 KEY_NUMERIC_12 */
|
||||
#define XF86XK_AudioDesc _EVDEVK(0x26E) /* v4.7 KEY_AUDIO_DESC */
|
||||
#define XF86XK_3DMode _EVDEVK(0x26F) /* v4.7 KEY_3D_MODE */
|
||||
#define XF86XK_NextFavorite _EVDEVK(0x270) /* v4.7 KEY_NEXT_FAVORITE */
|
||||
#define XF86XK_StopRecord _EVDEVK(0x271) /* v4.7 KEY_STOP_RECORD */
|
||||
#define XF86XK_PauseRecord _EVDEVK(0x272) /* v4.7 KEY_PAUSE_RECORD */
|
||||
#define XF86XK_VOD _EVDEVK(0x273) /* v4.7 KEY_VOD */
|
||||
#define XF86XK_Unmute _EVDEVK(0x274) /* v4.7 KEY_UNMUTE */
|
||||
#define XF86XK_FastReverse _EVDEVK(0x275) /* v4.7 KEY_FASTREVERSE */
|
||||
#define XF86XK_SlowReverse _EVDEVK(0x276) /* v4.7 KEY_SLOWREVERSE */
|
||||
#define XF86XK_Data _EVDEVK(0x277) /* v4.7 KEY_DATA */
|
||||
#define XF86XK_OnScreenKeyboard _EVDEVK(0x278) /* v4.12 KEY_ONSCREEN_KEYBOARD */
|
||||
#define XF86XK_PrivacyScreenToggle _EVDEVK(0x279) /* v5.5 KEY_PRIVACY_SCREEN_TOGGLE */
|
||||
#define XF86XK_SelectiveScreenshot _EVDEVK(0x27A) /* v5.6 KEY_SELECTIVE_SCREENSHOT */
|
||||
#define XF86XK_Macro1 _EVDEVK(0x290) /* v5.5 KEY_MACRO1 */
|
||||
#define XF86XK_Macro2 _EVDEVK(0x291) /* v5.5 KEY_MACRO2 */
|
||||
#define XF86XK_Macro3 _EVDEVK(0x292) /* v5.5 KEY_MACRO3 */
|
||||
#define XF86XK_Macro4 _EVDEVK(0x293) /* v5.5 KEY_MACRO4 */
|
||||
#define XF86XK_Macro5 _EVDEVK(0x294) /* v5.5 KEY_MACRO5 */
|
||||
#define XF86XK_Macro6 _EVDEVK(0x295) /* v5.5 KEY_MACRO6 */
|
||||
#define XF86XK_Macro7 _EVDEVK(0x296) /* v5.5 KEY_MACRO7 */
|
||||
#define XF86XK_Macro8 _EVDEVK(0x297) /* v5.5 KEY_MACRO8 */
|
||||
#define XF86XK_Macro9 _EVDEVK(0x298) /* v5.5 KEY_MACRO9 */
|
||||
#define XF86XK_Macro10 _EVDEVK(0x299) /* v5.5 KEY_MACRO10 */
|
||||
#define XF86XK_Macro11 _EVDEVK(0x29A) /* v5.5 KEY_MACRO11 */
|
||||
#define XF86XK_Macro12 _EVDEVK(0x29B) /* v5.5 KEY_MACRO12 */
|
||||
#define XF86XK_Macro13 _EVDEVK(0x29C) /* v5.5 KEY_MACRO13 */
|
||||
#define XF86XK_Macro14 _EVDEVK(0x29D) /* v5.5 KEY_MACRO14 */
|
||||
#define XF86XK_Macro15 _EVDEVK(0x29E) /* v5.5 KEY_MACRO15 */
|
||||
#define XF86XK_Macro16 _EVDEVK(0x29F) /* v5.5 KEY_MACRO16 */
|
||||
#define XF86XK_Macro17 _EVDEVK(0x2A0) /* v5.5 KEY_MACRO17 */
|
||||
#define XF86XK_Macro18 _EVDEVK(0x2A1) /* v5.5 KEY_MACRO18 */
|
||||
#define XF86XK_Macro19 _EVDEVK(0x2A2) /* v5.5 KEY_MACRO19 */
|
||||
#define XF86XK_Macro20 _EVDEVK(0x2A3) /* v5.5 KEY_MACRO20 */
|
||||
#define XF86XK_Macro21 _EVDEVK(0x2A4) /* v5.5 KEY_MACRO21 */
|
||||
#define XF86XK_Macro22 _EVDEVK(0x2A5) /* v5.5 KEY_MACRO22 */
|
||||
#define XF86XK_Macro23 _EVDEVK(0x2A6) /* v5.5 KEY_MACRO23 */
|
||||
#define XF86XK_Macro24 _EVDEVK(0x2A7) /* v5.5 KEY_MACRO24 */
|
||||
#define XF86XK_Macro25 _EVDEVK(0x2A8) /* v5.5 KEY_MACRO25 */
|
||||
#define XF86XK_Macro26 _EVDEVK(0x2A9) /* v5.5 KEY_MACRO26 */
|
||||
#define XF86XK_Macro27 _EVDEVK(0x2AA) /* v5.5 KEY_MACRO27 */
|
||||
#define XF86XK_Macro28 _EVDEVK(0x2AB) /* v5.5 KEY_MACRO28 */
|
||||
#define XF86XK_Macro29 _EVDEVK(0x2AC) /* v5.5 KEY_MACRO29 */
|
||||
#define XF86XK_Macro30 _EVDEVK(0x2AD) /* v5.5 KEY_MACRO30 */
|
||||
#define XF86XK_MacroRecordStart _EVDEVK(0x2B0) /* v5.5 KEY_MACRO_RECORD_START */
|
||||
#define XF86XK_MacroRecordStop _EVDEVK(0x2B1) /* v5.5 KEY_MACRO_RECORD_STOP */
|
||||
#define XF86XK_MacroPresetCycle _EVDEVK(0x2B2) /* v5.5 KEY_MACRO_PRESET_CYCLE */
|
||||
#define XF86XK_MacroPreset1 _EVDEVK(0x2B3) /* v5.5 KEY_MACRO_PRESET1 */
|
||||
#define XF86XK_MacroPreset2 _EVDEVK(0x2B4) /* v5.5 KEY_MACRO_PRESET2 */
|
||||
#define XF86XK_MacroPreset3 _EVDEVK(0x2B5) /* v5.5 KEY_MACRO_PRESET3 */
|
||||
#define XF86XK_KbdLcdMenu1 _EVDEVK(0x2B8) /* v5.5 KEY_KBD_LCD_MENU1 */
|
||||
#define XF86XK_KbdLcdMenu2 _EVDEVK(0x2B9) /* v5.5 KEY_KBD_LCD_MENU2 */
|
||||
#define XF86XK_KbdLcdMenu3 _EVDEVK(0x2BA) /* v5.5 KEY_KBD_LCD_MENU3 */
|
||||
#define XF86XK_KbdLcdMenu4 _EVDEVK(0x2BB) /* v5.5 KEY_KBD_LCD_MENU4 */
|
||||
#define XF86XK_KbdLcdMenu5 _EVDEVK(0x2BC) /* v5.5 KEY_KBD_LCD_MENU5 */
|
||||
#undef _EVDEVK
|
1149
includes/X11/XKBlib.h
Normal file
1149
includes/X11/XKBlib.h
Normal file
File diff suppressed because it is too large
Load diff
113
includes/X11/XWDFile.h
Normal file
113
includes/X11/XWDFile.h
Normal file
|
@ -0,0 +1,113 @@
|
|||
/*
|
||||
|
||||
Copyright 1985, 1986, 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.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
* XWDFile.h MIT Project Athena, X Window system window raster
|
||||
* image dumper, dump file format header file.
|
||||
*
|
||||
* Author: Tony Della Fera, DEC
|
||||
* 27-Jun-85
|
||||
*
|
||||
* Modifier: William F. Wyatt, SAO
|
||||
* 18-Nov-86 - version 6 for saving/restoring color maps
|
||||
*/
|
||||
|
||||
#ifndef XWDFILE_H
|
||||
#define XWDFILE_H
|
||||
|
||||
#include "Xmd.h"
|
||||
|
||||
#define XWD_FILE_VERSION 7
|
||||
#define sz_XWDheader 100
|
||||
#define sz_XWDColor 12
|
||||
|
||||
typedef CARD32 xwdval; /* for old broken programs */
|
||||
|
||||
/* Values in the file are most significant byte first. */
|
||||
|
||||
typedef struct _xwd_file_header {
|
||||
/* header_size = SIZEOF(XWDheader) + length of null-terminated
|
||||
* window name. */
|
||||
CARD32 header_size;
|
||||
|
||||
CARD32 file_version; /* = XWD_FILE_VERSION above */
|
||||
CARD32 pixmap_format; /* ZPixmap or XYPixmap */
|
||||
CARD32 pixmap_depth; /* Pixmap depth */
|
||||
CARD32 pixmap_width; /* Pixmap width */
|
||||
CARD32 pixmap_height; /* Pixmap height */
|
||||
CARD32 xoffset; /* Bitmap x offset, normally 0 */
|
||||
CARD32 byte_order; /* of image data: MSBFirst, LSBFirst */
|
||||
|
||||
/* bitmap_unit applies to bitmaps (depth 1 format XY) only.
|
||||
* It is the number of bits that each scanline is padded to. */
|
||||
CARD32 bitmap_unit;
|
||||
|
||||
CARD32 bitmap_bit_order; /* bitmaps only: MSBFirst, LSBFirst */
|
||||
|
||||
/* bitmap_pad applies to pixmaps (non-bitmaps) only.
|
||||
* It is the number of bits that each scanline is padded to. */
|
||||
CARD32 bitmap_pad;
|
||||
|
||||
CARD32 bits_per_pixel; /* Bits per pixel */
|
||||
|
||||
/* bytes_per_line is pixmap_width padded to bitmap_unit (bitmaps)
|
||||
* or bitmap_pad (pixmaps). It is the delta (in bytes) to get
|
||||
* to the same x position on an adjacent row. */
|
||||
CARD32 bytes_per_line;
|
||||
CARD32 visual_class; /* Class of colormap */
|
||||
CARD32 red_mask; /* Z red mask */
|
||||
CARD32 green_mask; /* Z green mask */
|
||||
CARD32 blue_mask; /* Z blue mask */
|
||||
CARD32 bits_per_rgb; /* Log2 of distinct color values */
|
||||
CARD32 colormap_entries; /* Number of entries in colormap; not used? */
|
||||
CARD32 ncolors; /* Number of XWDColor structures */
|
||||
CARD32 window_width; /* Window width */
|
||||
CARD32 window_height; /* Window height */
|
||||
CARD32 window_x; /* Window upper left X coordinate */
|
||||
CARD32 window_y; /* Window upper left Y coordinate */
|
||||
CARD32 window_bdrwidth; /* Window border width */
|
||||
} XWDFileHeader;
|
||||
|
||||
/* Null-terminated window name follows the above structure. */
|
||||
|
||||
/* Next comes XWDColor structures, at offset XWDFileHeader.header_size in
|
||||
* the file. XWDFileHeader.ncolors tells how many XWDColor structures
|
||||
* there are.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
CARD32 pixel;
|
||||
CARD16 red;
|
||||
CARD16 green;
|
||||
CARD16 blue;
|
||||
CARD8 flags;
|
||||
CARD8 pad;
|
||||
} XWDColor;
|
||||
|
||||
/* Last comes the image data in the format described by XWDFileHeader. */
|
||||
|
||||
#endif /* XWDFILE_H */
|
||||
|
121
includes/X11/Xalloca.h
Normal file
121
includes/X11/Xalloca.h
Normal file
|
@ -0,0 +1,121 @@
|
|||
/*
|
||||
|
||||
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.
|
||||
|
||||
*/
|
||||
/*
|
||||
* The purpose of this header is to define the macros ALLOCATE_LOCAL and
|
||||
* DEALLOCATE_LOCAL appropriately for the platform being compiled on.
|
||||
* These macros are used to make fast, function-local memory allocations.
|
||||
* Their characteristics are as follows:
|
||||
*
|
||||
* void *ALLOCATE_LOCAL(size_t size)
|
||||
* Returns a pointer to size bytes of memory, or NULL if the allocation
|
||||
* failed. The memory must be freed with DEALLOCATE_LOCAL before the
|
||||
* function that made the allocation returns. You should not ask for
|
||||
* large blocks of memory with this function, since on many platforms
|
||||
* the memory comes from the stack, which may have limited size.
|
||||
*
|
||||
* void DEALLOCATE_LOCAL(void *)
|
||||
* Frees the memory allocated by ALLOCATE_LOCAL. Omission of this
|
||||
* step may be harmless on some platforms, but will result in
|
||||
* memory leaks or worse on others.
|
||||
*
|
||||
* Before including this file, you should define two macros,
|
||||
* ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK, that have the
|
||||
* same characteristics as ALLOCATE_LOCAL and DEALLOCATE_LOCAL. The
|
||||
* header uses the fallbacks if it doesn't know a "better" way to define
|
||||
* ALLOCATE_LOCAL and DEALLOCATE_LOCAL. Typical usage would be:
|
||||
*
|
||||
* #define ALLOCATE_LOCAL_FALLBACK(_size) malloc(_size)
|
||||
* #define DEALLOCATE_LOCAL_FALLBACK(_ptr) free(_ptr)
|
||||
* #include "Xalloca.h"
|
||||
*/
|
||||
|
||||
#ifndef XALLOCA_H
|
||||
#define XALLOCA_H 1
|
||||
|
||||
#ifndef INCLUDE_ALLOCA_H
|
||||
/* Need to add more here to match Imake *.cf's */
|
||||
# if defined(HAVE_ALLOCA_H) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
|
||||
# define INCLUDE_ALLOCA_H
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef INCLUDE_ALLOCA_H
|
||||
# include <alloca.h>
|
||||
#endif
|
||||
|
||||
#ifndef NO_ALLOCA
|
||||
/*
|
||||
* os-dependent definition of local allocation and deallocation
|
||||
* If you want something other than (DE)ALLOCATE_LOCAL_FALLBACK
|
||||
* for ALLOCATE/DEALLOCATE_LOCAL then you add that in here.
|
||||
*/
|
||||
|
||||
|
||||
# ifdef __GNUC__
|
||||
# ifndef alloca
|
||||
# define alloca __builtin_alloca
|
||||
# endif /* !alloca */
|
||||
# define ALLOCATE_LOCAL(size) alloca((size_t)(size))
|
||||
# else /* ! __GNUC__ */
|
||||
|
||||
/*
|
||||
* warning: old mips alloca (pre 2.10) is unusable, new one is built in
|
||||
* Test is easy, the new one is named __builtin_alloca and comes
|
||||
* from alloca.h which #defines alloca.
|
||||
*/
|
||||
# if defined(__sun) || defined(alloca)
|
||||
/*
|
||||
* Some System V boxes extract alloca.o from /lib/libPW.a; if you
|
||||
* decide that you don't want to use alloca, you might want to fix it here.
|
||||
*/
|
||||
/* alloca might be a macro taking one arg (hi, Sun!), so give it one. */
|
||||
# if !defined(__cplusplus)
|
||||
# define __Xnullarg /* as nothing */
|
||||
extern void *alloca(__Xnullarg);
|
||||
# endif
|
||||
# define ALLOCATE_LOCAL(size) alloca((size_t)(size))
|
||||
# endif /* who does alloca */
|
||||
# endif /* __GNUC__ */
|
||||
|
||||
#endif /* NO_ALLOCA */
|
||||
|
||||
#if !defined(ALLOCATE_LOCAL)
|
||||
# if defined(ALLOCATE_LOCAL_FALLBACK) && defined(DEALLOCATE_LOCAL_FALLBACK)
|
||||
# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK(_size)
|
||||
# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK(_ptr)
|
||||
# else /* no fallbacks supplied; error */
|
||||
# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK undefined!
|
||||
# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK undefined!
|
||||
# endif /* defined(ALLOCATE_LOCAL_FALLBACK && DEALLOCATE_LOCAL_FALLBACK) */
|
||||
#else
|
||||
# if !defined(DEALLOCATE_LOCAL)
|
||||
# define DEALLOCATE_LOCAL(_ptr) do {} while(0)
|
||||
# endif
|
||||
#endif /* defined(ALLOCATE_LOCAL) */
|
||||
|
||||
#endif /* XALLOCA_H */
|
94
includes/X11/Xarch.h
Normal file
94
includes/X11/Xarch.h
Normal file
|
@ -0,0 +1,94 @@
|
|||
#ifndef _XARCH_H_
|
||||
# define _XARCH_H_
|
||||
|
||||
/*
|
||||
* Copyright 1997 Metro Link Incorporated
|
||||
*
|
||||
* All Rights Reserved
|
||||
*
|
||||
* 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 names of the above listed copyright holder(s)
|
||||
* not be used in advertising or publicity pertaining to distribution of
|
||||
* the software without specific, written prior permission. The above listed
|
||||
* copyright holder(s) make(s) no representations about the suitability of
|
||||
* this software for any purpose. It is provided "as is" without express or
|
||||
* implied warranty.
|
||||
*
|
||||
* THE ABOVE LISTED COPYRIGHT HOLDER(S) DISCLAIM(S) ALL WARRANTIES WITH REGARD
|
||||
* TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
* AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) 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.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Determine the machine's byte order.
|
||||
*/
|
||||
|
||||
/* See if it is set in the imake config first */
|
||||
# ifdef X_BYTE_ORDER
|
||||
|
||||
# define X_BIG_ENDIAN 4321
|
||||
# define X_LITTLE_ENDIAN 1234
|
||||
|
||||
# else
|
||||
|
||||
# if defined(SVR4) || defined(__SVR4)
|
||||
# include <sys/types.h>
|
||||
# include <sys/byteorder.h>
|
||||
# elif defined(CSRG_BASED)
|
||||
# if defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
# include <sys/types.h>
|
||||
# endif
|
||||
# include <machine/endian.h>
|
||||
# elif defined(linux)
|
||||
# if defined __STRICT_ANSI__
|
||||
# undef __STRICT_ANSI__
|
||||
# include <endian.h>
|
||||
# define __STRICT_ANSI__
|
||||
# else
|
||||
# include <endian.h>
|
||||
# endif
|
||||
/* 'endian.h' might have been included before 'Xarch.h' */
|
||||
# if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN)
|
||||
# define LITTLE_ENDIAN __LITTLE_ENDIAN
|
||||
# endif
|
||||
# if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN)
|
||||
# define BIG_ENDIAN __BIG_ENDIAN
|
||||
# endif
|
||||
# if !defined(PDP_ENDIAN) && defined(__PDP_ENDIAN)
|
||||
# define PDP_ENDIAN __PDP_ENDIAN
|
||||
# endif
|
||||
# if !defined(BYTE_ORDER) && defined(__BYTE_ORDER)
|
||||
# define BYTE_ORDER __BYTE_ORDER
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# ifndef BYTE_ORDER
|
||||
# define LITTLE_ENDIAN 1234
|
||||
# define BIG_ENDIAN 4321
|
||||
|
||||
# if defined(__sun) && defined(__SVR4)
|
||||
# include <sys/isa_defs.h>
|
||||
# ifdef _LITTLE_ENDIAN
|
||||
# define BYTE_ORDER LITTLE_ENDIAN
|
||||
# endif
|
||||
# ifdef _BIG_ENDIAN
|
||||
# define BYTE_ORDER BIG_ENDIAN
|
||||
# endif
|
||||
# endif /* sun */
|
||||
# endif /* BYTE_ORDER */
|
||||
|
||||
# define X_BYTE_ORDER BYTE_ORDER
|
||||
# define X_BIG_ENDIAN BIG_ENDIAN
|
||||
# define X_LITTLE_ENDIAN LITTLE_ENDIAN
|
||||
|
||||
# endif /* not in imake config */
|
||||
|
||||
#endif /* _XARCH_H_ */
|
79
includes/X11/Xatom.h
Normal file
79
includes/X11/Xatom.h
Normal file
|
@ -0,0 +1,79 @@
|
|||
#ifndef XATOM_H
|
||||
#define XATOM_H 1
|
||||
|
||||
/* THIS IS A GENERATED FILE
|
||||
*
|
||||
* Do not change! Changing this file implies a protocol change!
|
||||
*/
|
||||
|
||||
#define XA_PRIMARY ((Atom) 1)
|
||||
#define XA_SECONDARY ((Atom) 2)
|
||||
#define XA_ARC ((Atom) 3)
|
||||
#define XA_ATOM ((Atom) 4)
|
||||
#define XA_BITMAP ((Atom) 5)
|
||||
#define XA_CARDINAL ((Atom) 6)
|
||||
#define XA_COLORMAP ((Atom) 7)
|
||||
#define XA_CURSOR ((Atom) 8)
|
||||
#define XA_CUT_BUFFER0 ((Atom) 9)
|
||||
#define XA_CUT_BUFFER1 ((Atom) 10)
|
||||
#define XA_CUT_BUFFER2 ((Atom) 11)
|
||||
#define XA_CUT_BUFFER3 ((Atom) 12)
|
||||
#define XA_CUT_BUFFER4 ((Atom) 13)
|
||||
#define XA_CUT_BUFFER5 ((Atom) 14)
|
||||
#define XA_CUT_BUFFER6 ((Atom) 15)
|
||||
#define XA_CUT_BUFFER7 ((Atom) 16)
|
||||
#define XA_DRAWABLE ((Atom) 17)
|
||||
#define XA_FONT ((Atom) 18)
|
||||
#define XA_INTEGER ((Atom) 19)
|
||||
#define XA_PIXMAP ((Atom) 20)
|
||||
#define XA_POINT ((Atom) 21)
|
||||
#define XA_RECTANGLE ((Atom) 22)
|
||||
#define XA_RESOURCE_MANAGER ((Atom) 23)
|
||||
#define XA_RGB_COLOR_MAP ((Atom) 24)
|
||||
#define XA_RGB_BEST_MAP ((Atom) 25)
|
||||
#define XA_RGB_BLUE_MAP ((Atom) 26)
|
||||
#define XA_RGB_DEFAULT_MAP ((Atom) 27)
|
||||
#define XA_RGB_GRAY_MAP ((Atom) 28)
|
||||
#define XA_RGB_GREEN_MAP ((Atom) 29)
|
||||
#define XA_RGB_RED_MAP ((Atom) 30)
|
||||
#define XA_STRING ((Atom) 31)
|
||||
#define XA_VISUALID ((Atom) 32)
|
||||
#define XA_WINDOW ((Atom) 33)
|
||||
#define XA_WM_COMMAND ((Atom) 34)
|
||||
#define XA_WM_HINTS ((Atom) 35)
|
||||
#define XA_WM_CLIENT_MACHINE ((Atom) 36)
|
||||
#define XA_WM_ICON_NAME ((Atom) 37)
|
||||
#define XA_WM_ICON_SIZE ((Atom) 38)
|
||||
#define XA_WM_NAME ((Atom) 39)
|
||||
#define XA_WM_NORMAL_HINTS ((Atom) 40)
|
||||
#define XA_WM_SIZE_HINTS ((Atom) 41)
|
||||
#define XA_WM_ZOOM_HINTS ((Atom) 42)
|
||||
#define XA_MIN_SPACE ((Atom) 43)
|
||||
#define XA_NORM_SPACE ((Atom) 44)
|
||||
#define XA_MAX_SPACE ((Atom) 45)
|
||||
#define XA_END_SPACE ((Atom) 46)
|
||||
#define XA_SUPERSCRIPT_X ((Atom) 47)
|
||||
#define XA_SUPERSCRIPT_Y ((Atom) 48)
|
||||
#define XA_SUBSCRIPT_X ((Atom) 49)
|
||||
#define XA_SUBSCRIPT_Y ((Atom) 50)
|
||||
#define XA_UNDERLINE_POSITION ((Atom) 51)
|
||||
#define XA_UNDERLINE_THICKNESS ((Atom) 52)
|
||||
#define XA_STRIKEOUT_ASCENT ((Atom) 53)
|
||||
#define XA_STRIKEOUT_DESCENT ((Atom) 54)
|
||||
#define XA_ITALIC_ANGLE ((Atom) 55)
|
||||
#define XA_X_HEIGHT ((Atom) 56)
|
||||
#define XA_QUAD_WIDTH ((Atom) 57)
|
||||
#define XA_WEIGHT ((Atom) 58)
|
||||
#define XA_POINT_SIZE ((Atom) 59)
|
||||
#define XA_RESOLUTION ((Atom) 60)
|
||||
#define XA_COPYRIGHT ((Atom) 61)
|
||||
#define XA_NOTICE ((Atom) 62)
|
||||
#define XA_FONT_NAME ((Atom) 63)
|
||||
#define XA_FAMILY_NAME ((Atom) 64)
|
||||
#define XA_FULL_NAME ((Atom) 65)
|
||||
#define XA_CAP_HEIGHT ((Atom) 66)
|
||||
#define XA_WM_CLASS ((Atom) 67)
|
||||
#define XA_WM_TRANSIENT_FOR ((Atom) 68)
|
||||
|
||||
#define XA_LAST_PREDEFINED ((Atom) 68)
|
||||
#endif /* XATOM_H */
|
149
includes/X11/Xauth.h
Normal file
149
includes/X11/Xauth.h
Normal file
|
@ -0,0 +1,149 @@
|
|||
/*
|
||||
|
||||
Copyright 1988, 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.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef _Xauth_h
|
||||
#define _Xauth_h
|
||||
|
||||
/* struct xauth is full of implicit padding to properly align the pointers
|
||||
after the length fields. We can't clean that up without breaking ABI,
|
||||
so tell clang not to bother complaining about it. */
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wpadded"
|
||||
#endif
|
||||
|
||||
typedef struct xauth {
|
||||
unsigned short family;
|
||||
unsigned short address_length;
|
||||
char *address;
|
||||
unsigned short number_length;
|
||||
char *number;
|
||||
unsigned short name_length;
|
||||
char *name;
|
||||
unsigned short data_length;
|
||||
char *data;
|
||||
} Xauth;
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
#ifndef _XAUTH_STRUCT_ONLY
|
||||
|
||||
# include "Xfuncproto.h"
|
||||
# include "Xfuncs.h"
|
||||
|
||||
# include <stdio.h>
|
||||
|
||||
# define FamilyLocal (256) /* not part of X standard (i.e. X.h) */
|
||||
# define FamilyWild (65535)
|
||||
# define FamilyNetname (254) /* not part of X standard */
|
||||
# define FamilyKrb5Principal (253) /* Kerberos 5 principal name */
|
||||
# define FamilyLocalHost (252) /* for local non-net authentication */
|
||||
|
||||
|
||||
_XFUNCPROTOBEGIN
|
||||
|
||||
char *XauFileName(void);
|
||||
|
||||
Xauth *XauReadAuth(
|
||||
FILE* /* auth_file */
|
||||
);
|
||||
|
||||
int XauLockAuth(
|
||||
_Xconst char* /* file_name */,
|
||||
int /* retries */,
|
||||
int /* timeout */,
|
||||
long /* dead */
|
||||
);
|
||||
|
||||
int XauUnlockAuth(
|
||||
_Xconst char* /* file_name */
|
||||
);
|
||||
|
||||
int XauWriteAuth(
|
||||
FILE* /* auth_file */,
|
||||
Xauth* /* auth */
|
||||
);
|
||||
|
||||
Xauth *XauGetAuthByAddr(
|
||||
#if NeedWidePrototypes
|
||||
unsigned int /* family */,
|
||||
unsigned int /* address_length */,
|
||||
#else
|
||||
unsigned short /* family */,
|
||||
unsigned short /* address_length */,
|
||||
#endif
|
||||
_Xconst char* /* address */,
|
||||
#if NeedWidePrototypes
|
||||
unsigned int /* number_length */,
|
||||
#else
|
||||
unsigned short /* number_length */,
|
||||
#endif
|
||||
_Xconst char* /* number */,
|
||||
#if NeedWidePrototypes
|
||||
unsigned int /* name_length */,
|
||||
#else
|
||||
unsigned short /* name_length */,
|
||||
#endif
|
||||
_Xconst char* /* name */
|
||||
);
|
||||
|
||||
Xauth *XauGetBestAuthByAddr(
|
||||
#if NeedWidePrototypes
|
||||
unsigned int /* family */,
|
||||
unsigned int /* address_length */,
|
||||
#else
|
||||
unsigned short /* family */,
|
||||
unsigned short /* address_length */,
|
||||
#endif
|
||||
_Xconst char* /* address */,
|
||||
#if NeedWidePrototypes
|
||||
unsigned int /* number_length */,
|
||||
#else
|
||||
unsigned short /* number_length */,
|
||||
#endif
|
||||
_Xconst char* /* number */,
|
||||
int /* types_length */,
|
||||
char** /* type_names */,
|
||||
_Xconst int* /* type_lengths */
|
||||
);
|
||||
|
||||
void XauDisposeAuth(
|
||||
Xauth* /* auth */
|
||||
);
|
||||
|
||||
_XFUNCPROTOEND
|
||||
|
||||
/* Return values from XauLockAuth */
|
||||
|
||||
# define LOCK_SUCCESS 0 /* lock succeeded */
|
||||
# define LOCK_ERROR 1 /* lock unexpectely failed, check errno */
|
||||
# define LOCK_TIMEOUT 2 /* lock failed, timeouts expired */
|
||||
|
||||
#endif /* _XAUTH_STRUCT_ONLY */
|
||||
|
||||
#endif /* _Xauth_h */
|
815
includes/X11/Xcms.h
Normal file
815
includes/X11/Xcms.h
Normal file
|
@ -0,0 +1,815 @@
|
|||
|
||||
/*
|
||||
* Code and supporting documentation (c) Copyright 1990 1991 Tektronix, Inc.
|
||||
* All Rights Reserved
|
||||
*
|
||||
* This file is a component of an X Window System-specific implementation
|
||||
* of Xcms based on the TekColor Color Management System. Permission is
|
||||
* hereby granted to use, copy, modify, sell, and otherwise distribute this
|
||||
* software and its documentation for any purpose and without fee, provided
|
||||
* that this copyright, permission, and disclaimer notice is reproduced in
|
||||
* all copies of this software and in supporting documentation. TekColor
|
||||
* is a trademark of Tektronix, Inc.
|
||||
*
|
||||
* Tektronix makes no representation about the suitability of this software
|
||||
* for any purpose. It is provided "as is" and with all faults.
|
||||
*
|
||||
* TEKTRONIX DISCLAIMS ALL WARRANTIES APPLICABLE TO THIS SOFTWARE,
|
||||
* INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||
* PARTICULAR PURPOSE. IN NO EVENT SHALL TEKTRONIX 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 THE PERFORMANCE OF THIS SOFTWARE.
|
||||
*
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Public include file for X Color Management System
|
||||
*/
|
||||
#ifndef _X11_XCMS_H_
|
||||
#define _X11_XCMS_H_
|
||||
|
||||
#include "Xlib.h"
|
||||
|
||||
/* The Xcms structs are full of implicit padding to properly align members.
|
||||
We can't clean that up without breaking ABI, so tell clang not to bother
|
||||
complaining about it. */
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wpadded"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* XCMS Status Values
|
||||
*/
|
||||
#define XcmsFailure 0
|
||||
#define XcmsSuccess 1
|
||||
#define XcmsSuccessWithCompression 2
|
||||
|
||||
/*
|
||||
* Color Space Format ID's
|
||||
* Color Space ID's are of XcmsColorFormat type.
|
||||
*
|
||||
* bit 31
|
||||
* 0 == Device-Independent
|
||||
* 1 == Device-Dependent
|
||||
*
|
||||
* bit 30:
|
||||
* 0 == Registered with X Consortium
|
||||
* 1 == Unregistered
|
||||
*/
|
||||
#define XcmsUndefinedFormat (XcmsColorFormat)0x00000000
|
||||
#define XcmsCIEXYZFormat (XcmsColorFormat)0x00000001
|
||||
#define XcmsCIEuvYFormat (XcmsColorFormat)0x00000002
|
||||
#define XcmsCIExyYFormat (XcmsColorFormat)0x00000003
|
||||
#define XcmsCIELabFormat (XcmsColorFormat)0x00000004
|
||||
#define XcmsCIELuvFormat (XcmsColorFormat)0x00000005
|
||||
#define XcmsTekHVCFormat (XcmsColorFormat)0x00000006
|
||||
#define XcmsRGBFormat (XcmsColorFormat)0x80000000
|
||||
#define XcmsRGBiFormat (XcmsColorFormat)0x80000001
|
||||
|
||||
/*
|
||||
* State of XcmsPerScrnInfo
|
||||
*/
|
||||
#define XcmsInitNone 0x00 /* no initialization attempted */
|
||||
#define XcmsInitSuccess 0x01 /* initialization successful */
|
||||
#define XcmsInitFailure 0xff /* failure, use defaults */
|
||||
|
||||
#define DisplayOfCCC(ccc) ((ccc)->dpy)
|
||||
#define ScreenNumberOfCCC(ccc) ((ccc)->screenNumber)
|
||||
#define VisualOfCCC(ccc) ((ccc)->visual)
|
||||
#define ClientWhitePointOfCCC(ccc) (&(ccc)->clientWhitePt)
|
||||
#define ScreenWhitePointOfCCC(ccc) (&(ccc)->pPerScrnInfo->screenWhitePt)
|
||||
#define FunctionSetOfCCC(ccc) ((ccc)->pPerScrnInfo->functionSet)
|
||||
|
||||
typedef unsigned long XcmsColorFormat; /* Color Space Format ID */
|
||||
|
||||
typedef double XcmsFloat;
|
||||
|
||||
/*
|
||||
* Device RGB
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned short red; /* scaled from 0x0000 to 0xffff */
|
||||
unsigned short green; /* scaled from 0x0000 to 0xffff */
|
||||
unsigned short blue; /* scaled from 0x0000 to 0xffff */
|
||||
} XcmsRGB;
|
||||
|
||||
/*
|
||||
* RGB Intensity
|
||||
*/
|
||||
typedef struct {
|
||||
XcmsFloat red; /* 0.0 - 1.0 */
|
||||
XcmsFloat green; /* 0.0 - 1.0 */
|
||||
XcmsFloat blue; /* 0.0 - 1.0 */
|
||||
} XcmsRGBi;
|
||||
|
||||
/*
|
||||
* CIE XYZ
|
||||
*/
|
||||
typedef struct {
|
||||
XcmsFloat X;
|
||||
XcmsFloat Y;
|
||||
XcmsFloat Z;
|
||||
} XcmsCIEXYZ;
|
||||
|
||||
/*
|
||||
* CIE u'v'Y
|
||||
*/
|
||||
typedef struct {
|
||||
XcmsFloat u_prime; /* 0.0 - 1.0 */
|
||||
XcmsFloat v_prime; /* 0.0 - 1.0 */
|
||||
XcmsFloat Y; /* 0.0 - 1.0 */
|
||||
} XcmsCIEuvY;
|
||||
|
||||
/*
|
||||
* CIE xyY
|
||||
*/
|
||||
typedef struct {
|
||||
XcmsFloat x; /* 0.0 - 1.0 */
|
||||
XcmsFloat y; /* 0.0 - 1.0 */
|
||||
XcmsFloat Y; /* 0.0 - 1.0 */
|
||||
} XcmsCIExyY;
|
||||
|
||||
/*
|
||||
* CIE L*a*b*
|
||||
*/
|
||||
typedef struct {
|
||||
XcmsFloat L_star; /* 0.0 - 100.0 */
|
||||
XcmsFloat a_star;
|
||||
XcmsFloat b_star;
|
||||
} XcmsCIELab;
|
||||
|
||||
/*
|
||||
* CIE L*u*v*
|
||||
*/
|
||||
typedef struct {
|
||||
XcmsFloat L_star; /* 0.0 - 100.0 */
|
||||
XcmsFloat u_star;
|
||||
XcmsFloat v_star;
|
||||
} XcmsCIELuv;
|
||||
|
||||
/*
|
||||
* TekHVC
|
||||
*/
|
||||
typedef struct {
|
||||
XcmsFloat H; /* 0.0 - 360.0 */
|
||||
XcmsFloat V; /* 0.0 - 100.0 */
|
||||
XcmsFloat C; /* 0.0 - 100.0 */
|
||||
} XcmsTekHVC;
|
||||
|
||||
/*
|
||||
* PAD
|
||||
*/
|
||||
typedef struct {
|
||||
XcmsFloat pad0;
|
||||
XcmsFloat pad1;
|
||||
XcmsFloat pad2;
|
||||
XcmsFloat pad3;
|
||||
} XcmsPad;
|
||||
|
||||
|
||||
/*
|
||||
* XCMS Color Structure
|
||||
*/
|
||||
typedef struct {
|
||||
union {
|
||||
XcmsRGB RGB;
|
||||
XcmsRGBi RGBi;
|
||||
XcmsCIEXYZ CIEXYZ;
|
||||
XcmsCIEuvY CIEuvY;
|
||||
XcmsCIExyY CIExyY;
|
||||
XcmsCIELab CIELab;
|
||||
XcmsCIELuv CIELuv;
|
||||
XcmsTekHVC TekHVC;
|
||||
XcmsPad Pad;
|
||||
} spec; /* the color specification */
|
||||
unsigned long pixel; /* pixel value (as needed) */
|
||||
XcmsColorFormat format; /* the specification format */
|
||||
} XcmsColor;
|
||||
|
||||
|
||||
/*
|
||||
* XCMS Per Screen related data
|
||||
*/
|
||||
|
||||
typedef struct _XcmsPerScrnInfo {
|
||||
XcmsColor screenWhitePt; /* Screen White point */
|
||||
XPointer functionSet; /* pointer to Screen Color Characterization */
|
||||
/* Function Set structure */
|
||||
XPointer screenData; /* pointer to corresponding Screen Color*/
|
||||
/* Characterization Data */
|
||||
unsigned char state; /* XcmsInitNone, XcmsInitSuccess, XcmsInitFailure */
|
||||
char pad[3];
|
||||
} XcmsPerScrnInfo;
|
||||
|
||||
typedef struct _XcmsCCC *XcmsCCC;
|
||||
|
||||
typedef Status (*XcmsCompressionProc)( /* Gamut Compression Proc */
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
unsigned int /* index */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
typedef Status (*XcmsWhiteAdjustProc)( /* White Point Adjust Proc */
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* initial_white_point*/,
|
||||
XcmsColor* /* target_white_point*/,
|
||||
XcmsColorFormat /* target_format */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
/*
|
||||
* XCMS Color Conversion Context
|
||||
*/
|
||||
typedef struct _XcmsCCC {
|
||||
Display *dpy; /* X Display */
|
||||
int screenNumber; /* X screen number */
|
||||
Visual *visual; /* X Visual */
|
||||
XcmsColor clientWhitePt; /* Client White Point */
|
||||
XcmsCompressionProc gamutCompProc; /* Gamut Compression Function */
|
||||
XPointer gamutCompClientData; /* Gamut Comp Func Client Data */
|
||||
XcmsWhiteAdjustProc whitePtAdjProc; /* White Point Adjustment Function */
|
||||
XPointer whitePtAdjClientData; /* White Pt Adj Func Client Data */
|
||||
XcmsPerScrnInfo *pPerScrnInfo; /* pointer to per screen information */
|
||||
/* associated with the above display */
|
||||
/* screenNumber */
|
||||
} XcmsCCCRec;
|
||||
|
||||
typedef Status (*XcmsScreenInitProc)( /* Screen Initialization Proc */
|
||||
Display* /* dpy */,
|
||||
int /* screen_number */,
|
||||
XcmsPerScrnInfo* /* screen_info */
|
||||
);
|
||||
|
||||
typedef void (*XcmsScreenFreeProc)(
|
||||
XPointer /* screenData */
|
||||
);
|
||||
|
||||
/*
|
||||
* Function List Pointer -- pointer to an array of function pointers.
|
||||
* The end of list is indicated by a NULL pointer.
|
||||
*/
|
||||
/*
|
||||
* XXX: The use of the XcmsConversionProc type is broken. The
|
||||
* device-independent colour conversion code uses it as:
|
||||
|
||||
typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, XcmsColor *,
|
||||
unsigned int);
|
||||
|
||||
* while the device-dependent code uses it as:
|
||||
|
||||
typedef Status (*XcmsConversionProc)(XcmsCCC, XcmsColor *, unsigned int,
|
||||
Bool *);
|
||||
|
||||
* Until this is reworked, it's probably best to leave it unprotoized.
|
||||
* The code works regardless.
|
||||
*/
|
||||
typedef Status (*XcmsDDConversionProc)( /* using device-dependent version */
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* pcolors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
Bool* /* pCompressed */
|
||||
);
|
||||
|
||||
typedef Status (*XcmsDIConversionProc)( /* using device-independent version */
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* white_point */,
|
||||
XcmsColor* /* pcolors_in_out */,
|
||||
unsigned int /* ncolors */
|
||||
);
|
||||
|
||||
typedef XcmsDIConversionProc XcmsConversionProc;
|
||||
typedef XcmsConversionProc *XcmsFuncListPtr;
|
||||
|
||||
typedef int (*XcmsParseStringProc)( /* Color String Parsing Proc */
|
||||
char* /* color_string */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
/*
|
||||
* Color Space -- per Color Space related data (Device-Independent
|
||||
* or Device-Dependent)
|
||||
*/
|
||||
typedef struct _XcmsColorSpace {
|
||||
const char *prefix; /* Prefix of string format. */
|
||||
XcmsColorFormat id; /* Format ID number. */
|
||||
XcmsParseStringProc parseString;
|
||||
/* String format parsing function */
|
||||
XcmsFuncListPtr to_CIEXYZ; /* Pointer to an array of function */
|
||||
/* pointers such that when the */
|
||||
/* functions are executed in sequence */
|
||||
/* will convert a XcmsColor structure */
|
||||
/* from this color space to CIEXYZ */
|
||||
/* space. */
|
||||
XcmsFuncListPtr from_CIEXYZ;/* Pointer to an array of function */
|
||||
/* pointers such that when the */
|
||||
/* functions are executed in sequence */
|
||||
/* will convert a XcmsColor structure */
|
||||
/* from CIEXYZ space to this color */
|
||||
/* space. */
|
||||
int inverse_flag; /* If 1, indicates that for 0 <= i < n */
|
||||
/* where n is the number of function */
|
||||
/* pointers in the lists to_CIEXYZ */
|
||||
/* and from_CIEXYZ; for each function */
|
||||
/* to_CIEXYZ[i] its inverse function */
|
||||
/* is from_CIEXYZ[n - i]. */
|
||||
|
||||
} XcmsColorSpace;
|
||||
|
||||
/*
|
||||
* Screen Color Characterization Function Set -- per device class
|
||||
* color space conversion functions.
|
||||
*/
|
||||
typedef struct _XcmsFunctionSet {
|
||||
XcmsColorSpace **DDColorSpaces;
|
||||
/* Pointer to an array of pointers to */
|
||||
/* Device-DEPENDENT color spaces */
|
||||
/* understood by this SCCFuncSet. */
|
||||
XcmsScreenInitProc screenInitProc;
|
||||
/* Screen initialization function that */
|
||||
/* reads Screen Color Characterization*/
|
||||
/* Data off properties on the screen's*/
|
||||
/* root window. */
|
||||
XcmsScreenFreeProc screenFreeProc;
|
||||
/* Function that frees the SCCData */
|
||||
/* structures. */
|
||||
} XcmsFunctionSet;
|
||||
|
||||
_XFUNCPROTOBEGIN
|
||||
|
||||
extern Status XcmsAddColorSpace (
|
||||
XcmsColorSpace* /* pColorSpace */
|
||||
);
|
||||
|
||||
extern Status XcmsAddFunctionSet (
|
||||
XcmsFunctionSet* /* functionSet */
|
||||
);
|
||||
|
||||
extern Status XcmsAllocColor (
|
||||
Display* /* dpy */,
|
||||
Colormap /* colormap */,
|
||||
XcmsColor* /* color_in_out */,
|
||||
XcmsColorFormat /* result_format */
|
||||
);
|
||||
|
||||
extern Status XcmsAllocNamedColor (
|
||||
Display* /* dpy */,
|
||||
Colormap /* colormap */,
|
||||
_Xconst char* /* color_string */,
|
||||
XcmsColor* /* color_scrn_return */,
|
||||
XcmsColor* /* color_exact_return */,
|
||||
XcmsColorFormat /* result_format */
|
||||
);
|
||||
|
||||
extern XcmsCCC XcmsCCCOfColormap (
|
||||
Display* /* dpy */,
|
||||
Colormap /* colormap */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELabClipab(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
unsigned int /* index */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELabClipL(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
unsigned int /* index */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELabClipLab(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
unsigned int /* index */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELabQueryMaxC (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue_angle */,
|
||||
XcmsFloat /* L_star */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELabQueryMaxL (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue_angle */,
|
||||
XcmsFloat /* chroma */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELabQueryMaxLC (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue_angle */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELabQueryMinL (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue_angle */,
|
||||
XcmsFloat /* chroma */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELabToCIEXYZ (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* white_point */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELabWhiteShiftColors(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* initial_white_point*/,
|
||||
XcmsColor* /* target_white_point*/,
|
||||
XcmsColorFormat /* target_format */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELuvClipL(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
unsigned int /* index */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELuvClipLuv(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
unsigned int /* index */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELuvClipuv(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
unsigned int /* index */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELuvQueryMaxC (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue_angle */,
|
||||
XcmsFloat /* L_star */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELuvQueryMaxL (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue_angle */,
|
||||
XcmsFloat /* chroma */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELuvQueryMaxLC (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue_angle */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELuvQueryMinL (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue_angle */,
|
||||
XcmsFloat /* chroma */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELuvToCIEuvY (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* white_point */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */
|
||||
);
|
||||
|
||||
extern Status XcmsCIELuvWhiteShiftColors(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* initial_white_point*/,
|
||||
XcmsColor* /* target_white_point*/,
|
||||
XcmsColorFormat /* target_format */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIEXYZToCIELab (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* white_point */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */
|
||||
);
|
||||
|
||||
extern Status XcmsCIEXYZToCIEuvY (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* white_point */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */
|
||||
);
|
||||
|
||||
extern Status XcmsCIEXYZToCIExyY (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* white_point */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */
|
||||
);
|
||||
|
||||
extern Status XcmsCIEXYZToRGBi (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsCIEuvYToCIELuv (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* white_point */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */
|
||||
);
|
||||
|
||||
extern Status XcmsCIEuvYToCIEXYZ (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* white_point */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */
|
||||
);
|
||||
|
||||
extern Status XcmsCIEuvYToTekHVC (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* white_point */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */
|
||||
);
|
||||
|
||||
extern Status XcmsCIExyYToCIEXYZ (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* white_point */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */
|
||||
);
|
||||
|
||||
extern XcmsColor *XcmsClientWhitePointOfCCC (
|
||||
XcmsCCC /* ccc */
|
||||
);
|
||||
|
||||
extern Status XcmsConvertColors (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colorArry_in_out */,
|
||||
unsigned int /* nColors */,
|
||||
XcmsColorFormat /* targetFormat */,
|
||||
Bool* /* compArry_return */
|
||||
);
|
||||
|
||||
extern XcmsCCC XcmsCreateCCC (
|
||||
Display* /* dpy */,
|
||||
int /* screenNumber */,
|
||||
Visual* /* visual */,
|
||||
XcmsColor* /* clientWhitePt */,
|
||||
XcmsCompressionProc /* gamutCompProc */,
|
||||
XPointer /* gamutCompClientData */,
|
||||
XcmsWhiteAdjustProc /* whitePtAdjProc */,
|
||||
XPointer /* whitePtAdjClientData */
|
||||
);
|
||||
|
||||
extern XcmsCCC XcmsDefaultCCC (
|
||||
Display* /* dpy */,
|
||||
int /* screenNumber */
|
||||
);
|
||||
|
||||
extern Display *XcmsDisplayOfCCC (
|
||||
XcmsCCC /* ccc */
|
||||
);
|
||||
|
||||
extern XcmsColorFormat XcmsFormatOfPrefix (
|
||||
char* /* prefix */
|
||||
);
|
||||
|
||||
extern void XcmsFreeCCC (
|
||||
XcmsCCC /* ccc */
|
||||
);
|
||||
|
||||
extern Status XcmsLookupColor (
|
||||
Display* /* dpy */,
|
||||
Colormap /* colormap */,
|
||||
_Xconst char* /* color_string */,
|
||||
XcmsColor* /* pColor_exact_in_out */,
|
||||
XcmsColor* /* pColor_scrn_in_out */,
|
||||
XcmsColorFormat /* result_format */
|
||||
);
|
||||
|
||||
extern char *XcmsPrefixOfFormat (
|
||||
XcmsColorFormat /* id */
|
||||
);
|
||||
|
||||
extern Status XcmsQueryBlack (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColorFormat /* target_format */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsQueryBlue (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColorFormat /* target_format */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsQueryColor (
|
||||
Display* /* dpy */,
|
||||
Colormap /* colormap */,
|
||||
XcmsColor* /* pColor_in_out */,
|
||||
XcmsColorFormat /* result_format */
|
||||
);
|
||||
|
||||
extern Status XcmsQueryColors (
|
||||
Display* /* dpy */,
|
||||
Colormap /* colormap */,
|
||||
XcmsColor* /* colorArry_in_out */,
|
||||
unsigned int /* nColors */,
|
||||
XcmsColorFormat /* result_format */
|
||||
);
|
||||
|
||||
extern Status XcmsQueryGreen (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColorFormat /* target_format */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsQueryRed (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColorFormat /* target_format */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsQueryWhite (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColorFormat /* target_format */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsRGBiToCIEXYZ (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsRGBiToRGB (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsRGBToRGBi (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern int XcmsScreenNumberOfCCC (
|
||||
XcmsCCC /* ccc */
|
||||
);
|
||||
|
||||
extern XcmsColor *XcmsScreenWhitePointOfCCC (
|
||||
XcmsCCC /* ccc */
|
||||
);
|
||||
|
||||
extern XcmsCCC XcmsSetCCCOfColormap(
|
||||
Display* /* dpy */,
|
||||
Colormap /* colormap */,
|
||||
XcmsCCC /* ccc */
|
||||
);
|
||||
|
||||
extern XcmsCompressionProc XcmsSetCompressionProc (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsCompressionProc /* compression_proc */,
|
||||
XPointer /* client_data */
|
||||
);
|
||||
|
||||
extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsWhiteAdjustProc /* white_adjust_proc */,
|
||||
XPointer /* client_data */
|
||||
);
|
||||
|
||||
extern Status XcmsSetWhitePoint (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* color */
|
||||
);
|
||||
|
||||
extern Status XcmsStoreColor (
|
||||
Display* /* dpy */,
|
||||
Colormap /* colormap */,
|
||||
XcmsColor* /* pColor_in */
|
||||
);
|
||||
|
||||
extern Status XcmsStoreColors (
|
||||
Display* /* dpy */,
|
||||
Colormap /* colormap */,
|
||||
XcmsColor* /* colorArry_in */,
|
||||
unsigned int /* nColors */,
|
||||
Bool* /* compArry_return */
|
||||
);
|
||||
|
||||
extern Status XcmsTekHVCClipC(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
unsigned int /* index */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsTekHVCClipV(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
unsigned int /* index */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsTekHVCClipVC(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
unsigned int /* index */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Status XcmsTekHVCQueryMaxC (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue */,
|
||||
XcmsFloat /* value */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsTekHVCQueryMaxV (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue */,
|
||||
XcmsFloat /* chroma */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsTekHVCQueryMaxVC (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsTekHVCQueryMaxVSamples (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue */,
|
||||
XcmsColor* /* colors_return */,
|
||||
unsigned int /* nsamples */
|
||||
);
|
||||
|
||||
extern Status XcmsTekHVCQueryMinV (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsFloat /* hue */,
|
||||
XcmsFloat /* chroma */,
|
||||
XcmsColor* /* color_return */
|
||||
);
|
||||
|
||||
extern Status XcmsTekHVCToCIEuvY (
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* white_point */,
|
||||
XcmsColor* /* colors */,
|
||||
unsigned int /* ncolors */
|
||||
);
|
||||
|
||||
extern Status XcmsTekHVCWhiteShiftColors(
|
||||
XcmsCCC /* ccc */,
|
||||
XcmsColor* /* initial_white_point*/,
|
||||
XcmsColor* /* target_white_point*/,
|
||||
XcmsColorFormat /* target_format */,
|
||||
XcmsColor* /* colors_in_out */,
|
||||
unsigned int /* ncolors */,
|
||||
Bool* /* compression_flags_return */
|
||||
);
|
||||
|
||||
extern Visual *XcmsVisualOfCCC (
|
||||
XcmsCCC /* ccc */
|
||||
);
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
_XFUNCPROTOEND
|
||||
|
||||
#endif /* _X11_XCMS_H_ */
|
108
includes/X11/Xdefs.h
Normal file
108
includes/X11/Xdefs.h
Normal file
|
@ -0,0 +1,108 @@
|
|||
/***********************************************************
|
||||
|
||||
Copyright (c) 1999 The XFree86 Project Inc.
|
||||
|
||||
All Rights Reserved.
|
||||
|
||||
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 XFree86 Project
|
||||
Inc. 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 XFree86 Project Inc..
|
||||
|
||||
*/
|
||||
|
||||
/**
|
||||
** Types definitions shared between server and clients
|
||||
**/
|
||||
|
||||
#ifndef _XDEFS_H
|
||||
#define _XDEFS_H
|
||||
|
||||
#ifdef _XSERVER64
|
||||
#include "Xmd.h"
|
||||
#endif
|
||||
|
||||
#ifndef _XTYPEDEF_ATOM
|
||||
# define _XTYPEDEF_ATOM
|
||||
# ifndef _XSERVER64
|
||||
typedef unsigned long Atom;
|
||||
# else
|
||||
typedef CARD32 Atom;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef Bool
|
||||
# ifndef _XTYPEDEF_BOOL
|
||||
# define _XTYPEDEF_BOOL
|
||||
typedef int Bool;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef _XTYPEDEF_POINTER
|
||||
# define _XTYPEDEF_POINTER
|
||||
typedef void *pointer;
|
||||
#endif
|
||||
|
||||
#ifndef _XTYPEDEF_CLIENTPTR
|
||||
typedef struct _Client *ClientPtr;
|
||||
# define _XTYPEDEF_CLIENTPTR
|
||||
#endif
|
||||
|
||||
#ifndef _XTYPEDEF_XID
|
||||
# define _XTYPEDEF_XID
|
||||
# ifndef _XSERVER64
|
||||
typedef unsigned long XID;
|
||||
# else
|
||||
typedef CARD32 XID;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef _XTYPEDEF_MASK
|
||||
# define _XTYPEDEF_MASK
|
||||
# ifndef _XSERVER64
|
||||
typedef unsigned long Mask;
|
||||
# else
|
||||
typedef CARD32 Mask;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef _XTYPEDEF_FONTPTR
|
||||
# define _XTYPEDEF_FONTPTR
|
||||
typedef struct _Font *FontPtr; /* also in fonts/include/font.h */
|
||||
#endif
|
||||
|
||||
#ifndef _XTYPEDEF_FONT
|
||||
# define _XTYPEDEF_FONT
|
||||
typedef XID Font;
|
||||
#endif
|
||||
|
||||
#ifndef _XTYPEDEF_FSID
|
||||
# ifndef _XSERVER64
|
||||
typedef unsigned long FSID;
|
||||
# else
|
||||
typedef CARD32 FSID;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
typedef FSID AccContext;
|
||||
|
||||
/* OS independent time value
|
||||
XXX Should probably go in Xos.h */
|
||||
typedef struct timeval **OSTimePtr;
|
||||
|
||||
|
||||
typedef void (* BlockHandlerProcPtr)(void * /* blockData */,
|
||||
OSTimePtr /* pTimeout */,
|
||||
void * /* pReadmask */);
|
||||
|
||||
#endif
|
181
includes/X11/Xdmcp.h
Normal file
181
includes/X11/Xdmcp.h
Normal file
|
@ -0,0 +1,181 @@
|
|||
/*
|
||||
* Copyright 1989 Network Computing Devices, Inc., Mountain View, California.
|
||||
*
|
||||
* Permission to use, copy, modify, and distribute this software and its
|
||||
* documentation for any purpose and without fee is hereby granted, 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 N.C.D. not be used in advertising or
|
||||
* publicity pertaining to distribution of the software without specific,
|
||||
* written prior permission. N.C.D. makes no representations about the
|
||||
* suitability of this software for any purpose. It is provided "as is"
|
||||
* without express or implied warranty.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _XDMCP_H_
|
||||
#define _XDMCP_H_
|
||||
|
||||
#include "Xmd.h"
|
||||
|
||||
#include "Xfuncproto.h"
|
||||
|
||||
_XFUNCPROTOBEGIN
|
||||
|
||||
#define XDM_PROTOCOL_VERSION 1
|
||||
#define XDM_UDP_PORT 177
|
||||
|
||||
/* IANA has assigned FF0X:0:0:0:0:0:0:12B as the permanently assigned
|
||||
* multicast addresses for XDMCP, where X in the prefix may be replaced
|
||||
* by any valid scope identifier, such as 1 for Node-Local, 2 for Link-Local,
|
||||
* 5 for Site-Local, and so on. We set the default here to the Link-Local
|
||||
* version to most closely match the old IPv4 subnet broadcast behavior.
|
||||
* Both xdm and X -query allow specifying a different address if a different
|
||||
* scope is defined.
|
||||
*/
|
||||
#define XDM_DEFAULT_MCAST_ADDR6 "ff02:0:0:0:0:0:0:12b"
|
||||
|
||||
#define XDM_MAX_MSGLEN 8192
|
||||
#define XDM_MIN_RTX 2
|
||||
#define XDM_MAX_RTX 32
|
||||
#define XDM_RTX_LIMIT 7
|
||||
#define XDM_KA_RTX_LIMIT 4
|
||||
#define XDM_DEF_DORMANCY (3 * 60) /* 3 minutes */
|
||||
#define XDM_MAX_DORMANCY (24 * 60 * 60) /* 24 hours */
|
||||
|
||||
typedef enum {
|
||||
BROADCAST_QUERY = 1, QUERY, INDIRECT_QUERY, FORWARD_QUERY,
|
||||
WILLING, UNWILLING, REQUEST, ACCEPT, DECLINE, MANAGE, REFUSE,
|
||||
FAILED, KEEPALIVE, ALIVE
|
||||
} xdmOpCode;
|
||||
|
||||
typedef enum {
|
||||
XDM_QUERY, XDM_BROADCAST, XDM_INDIRECT, XDM_COLLECT_QUERY,
|
||||
XDM_COLLECT_BROADCAST_QUERY, XDM_COLLECT_INDIRECT_QUERY,
|
||||
XDM_START_CONNECTION, XDM_AWAIT_REQUEST_RESPONSE,
|
||||
XDM_AWAIT_MANAGE_RESPONSE, XDM_MANAGE, XDM_RUN_SESSION, XDM_OFF,
|
||||
XDM_AWAIT_USER_INPUT, XDM_KEEPALIVE, XDM_AWAIT_ALIVE_RESPONSE,
|
||||
#if defined(IPv6) && defined(AF_INET6)
|
||||
XDM_MULTICAST, XDM_COLLECT_MULTICAST_QUERY,
|
||||
#endif
|
||||
XDM_KEEP_ME_LAST
|
||||
} xdmcp_states;
|
||||
|
||||
#ifdef NOTDEF
|
||||
/* table of hosts */
|
||||
|
||||
#define XDM_MAX_STR_LEN 21
|
||||
#define XDM_MAX_HOSTS 20
|
||||
struct xdm_host_table {
|
||||
struct sockaddr_in sockaddr;
|
||||
char name[XDM_MAX_STR_LEN];
|
||||
char status[XDM_MAX_STR_LEN];
|
||||
};
|
||||
#endif /* NOTDEF */
|
||||
|
||||
typedef CARD8 *CARD8Ptr;
|
||||
typedef CARD16 *CARD16Ptr;
|
||||
typedef CARD32 *CARD32Ptr;
|
||||
|
||||
typedef struct _ARRAY8 {
|
||||
CARD16 length;
|
||||
CARD8Ptr data;
|
||||
} ARRAY8, *ARRAY8Ptr;
|
||||
|
||||
typedef struct _ARRAY16 {
|
||||
CARD8 length;
|
||||
CARD16Ptr data;
|
||||
} ARRAY16, *ARRAY16Ptr;
|
||||
|
||||
typedef struct _ARRAY32 {
|
||||
CARD8 length;
|
||||
CARD32Ptr data;
|
||||
} ARRAY32, *ARRAY32Ptr;
|
||||
|
||||
typedef struct _ARRAYofARRAY8 {
|
||||
CARD8 length;
|
||||
ARRAY8Ptr data;
|
||||
} ARRAYofARRAY8, *ARRAYofARRAY8Ptr;
|
||||
|
||||
typedef struct _XdmcpHeader {
|
||||
CARD16 version, opcode, length;
|
||||
} XdmcpHeader, *XdmcpHeaderPtr;
|
||||
|
||||
typedef struct _XdmcpBuffer {
|
||||
BYTE *data;
|
||||
int size; /* size of buffer pointed by to data */
|
||||
int pointer; /* current index into data */
|
||||
int count; /* bytes read from network into data */
|
||||
} XdmcpBuffer, *XdmcpBufferPtr;
|
||||
|
||||
typedef struct _XdmAuthKey {
|
||||
BYTE data[8];
|
||||
} XdmAuthKeyRec, *XdmAuthKeyPtr;
|
||||
|
||||
|
||||
/* implementation-independent network address structure.
|
||||
Equiv to sockaddr* for sockets. */
|
||||
|
||||
typedef char *XdmcpNetaddr;
|
||||
|
||||
extern int XdmcpWriteARRAY16(XdmcpBufferPtr buffer, const ARRAY16Ptr array);
|
||||
extern int XdmcpWriteARRAY32(XdmcpBufferPtr buffer, const ARRAY32Ptr array);
|
||||
extern int XdmcpWriteARRAY8(XdmcpBufferPtr buffer, const ARRAY8Ptr array);
|
||||
extern int XdmcpWriteARRAYofARRAY8(XdmcpBufferPtr buffer, const ARRAYofARRAY8Ptr array);
|
||||
extern int XdmcpWriteCARD16(XdmcpBufferPtr buffer, unsigned value);
|
||||
extern int XdmcpWriteCARD32(XdmcpBufferPtr buffer, unsigned value);
|
||||
extern int XdmcpWriteCARD8(XdmcpBufferPtr buffer, unsigned value);
|
||||
extern int XdmcpWriteHeader(XdmcpBufferPtr buffer, const XdmcpHeaderPtr header);
|
||||
|
||||
extern int XdmcpFlush(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr to, int tolen);
|
||||
|
||||
extern int XdmcpReadARRAY16(XdmcpBufferPtr buffer, ARRAY16Ptr array);
|
||||
extern int XdmcpReadARRAY32(XdmcpBufferPtr buffer, ARRAY32Ptr array);
|
||||
extern int XdmcpReadARRAY8(XdmcpBufferPtr buffer, ARRAY8Ptr array);
|
||||
extern int XdmcpReadARRAYofARRAY8(XdmcpBufferPtr buffer, ARRAYofARRAY8Ptr array);
|
||||
extern int XdmcpReadCARD16(XdmcpBufferPtr buffer, CARD16Ptr valuep);
|
||||
extern int XdmcpReadCARD32(XdmcpBufferPtr buffer, CARD32Ptr valuep);
|
||||
extern int XdmcpReadCARD8(XdmcpBufferPtr buffer, CARD8Ptr valuep);
|
||||
extern int XdmcpReadHeader(XdmcpBufferPtr buffer, XdmcpHeaderPtr header);
|
||||
|
||||
extern int XdmcpFill(int fd, XdmcpBufferPtr buffer, XdmcpNetaddr from, int *fromlen);
|
||||
|
||||
extern int XdmcpReadRemaining(const XdmcpBufferPtr buffer);
|
||||
|
||||
extern void XdmcpDisposeARRAY8(ARRAY8Ptr array);
|
||||
extern void XdmcpDisposeARRAY16(ARRAY16Ptr array);
|
||||
extern void XdmcpDisposeARRAY32(ARRAY32Ptr array);
|
||||
extern void XdmcpDisposeARRAYofARRAY8(ARRAYofARRAY8Ptr array);
|
||||
|
||||
extern int XdmcpCopyARRAY8(const ARRAY8Ptr src, ARRAY8Ptr dst);
|
||||
|
||||
extern int XdmcpARRAY8Equal(const ARRAY8Ptr array1, const ARRAY8Ptr array2);
|
||||
|
||||
extern void XdmcpGenerateKey (XdmAuthKeyPtr key);
|
||||
extern void XdmcpIncrementKey (XdmAuthKeyPtr key);
|
||||
extern void XdmcpDecrementKey (XdmAuthKeyPtr key);
|
||||
#ifdef HASXDMAUTH
|
||||
extern void XdmcpWrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes);
|
||||
extern void XdmcpUnwrap(unsigned char *input, unsigned char *wrapper, unsigned char *output, int bytes);
|
||||
#endif
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
#endif
|
||||
|
||||
extern int XdmcpCompareKeys (const XdmAuthKeyPtr a, const XdmAuthKeyPtr b);
|
||||
|
||||
extern int XdmcpAllocARRAY16 (ARRAY16Ptr array, int length);
|
||||
extern int XdmcpAllocARRAY32 (ARRAY32Ptr array, int length);
|
||||
extern int XdmcpAllocARRAY8 (ARRAY8Ptr array, int length);
|
||||
extern int XdmcpAllocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length);
|
||||
|
||||
extern int XdmcpReallocARRAY16 (ARRAY16Ptr array, int length);
|
||||
extern int XdmcpReallocARRAY32 (ARRAY32Ptr array, int length);
|
||||
extern int XdmcpReallocARRAY8 (ARRAY8Ptr array, int length);
|
||||
extern int XdmcpReallocARRAYofARRAY8 (ARRAYofARRAY8Ptr array, int length);
|
||||
|
||||
_XFUNCPROTOEND
|
||||
|
||||
#endif /* _XDMCP_H_ */
|
229
includes/X11/Xfuncproto.h
Normal file
229
includes/X11/Xfuncproto.h
Normal file
|
@ -0,0 +1,229 @@
|
|||
/*
|
||||
*
|
||||
Copyright 1989, 1991, 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.
|
||||
*
|
||||
*/
|
||||
|
||||
/* Definitions to make function prototypes manageable */
|
||||
|
||||
#ifndef _XFUNCPROTO_H_
|
||||
#define _XFUNCPROTO_H_
|
||||
|
||||
#ifndef NeedFunctionPrototypes
|
||||
#define NeedFunctionPrototypes 1
|
||||
#endif /* NeedFunctionPrototypes */
|
||||
|
||||
#ifndef NeedVarargsPrototypes
|
||||
#define NeedVarargsPrototypes 1
|
||||
#endif /* NeedVarargsPrototypes */
|
||||
|
||||
#if NeedFunctionPrototypes
|
||||
|
||||
#ifndef NeedNestedPrototypes
|
||||
#define NeedNestedPrototypes 1
|
||||
#endif /* NeedNestedPrototypes */
|
||||
|
||||
#ifndef _Xconst
|
||||
#define _Xconst const
|
||||
#endif /* _Xconst */
|
||||
|
||||
/* Function prototype configuration (see configure for more info) */
|
||||
#if !defined(NARROWPROTO) && \
|
||||
(defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__))
|
||||
#define NARROWPROTO
|
||||
#endif
|
||||
#ifndef FUNCPROTO
|
||||
#define FUNCPROTO 15
|
||||
#endif
|
||||
|
||||
#ifndef NeedWidePrototypes
|
||||
#ifdef NARROWPROTO
|
||||
#define NeedWidePrototypes 0
|
||||
#else
|
||||
#define NeedWidePrototypes 1 /* default to make interropt. easier */
|
||||
#endif
|
||||
#endif /* NeedWidePrototypes */
|
||||
|
||||
#endif /* NeedFunctionPrototypes */
|
||||
|
||||
#ifndef _XFUNCPROTOBEGIN
|
||||
#if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */
|
||||
#define _XFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */
|
||||
#define _XFUNCPROTOEND }
|
||||
#else
|
||||
#define _XFUNCPROTOBEGIN
|
||||
#define _XFUNCPROTOEND
|
||||
#endif
|
||||
#endif /* _XFUNCPROTOBEGIN */
|
||||
|
||||
/* http://clang.llvm.org/docs/LanguageExtensions.html#has-attribute */
|
||||
#ifndef __has_attribute
|
||||
# define __has_attribute(x) 0 /* Compatibility with non-clang compilers. */
|
||||
#endif
|
||||
#ifndef __has_feature
|
||||
# define __has_feature(x) 0 /* Compatibility with non-clang compilers. */
|
||||
#endif
|
||||
#ifndef __has_extension
|
||||
# define __has_extension(x) 0 /* Compatibility with non-clang compilers. */
|
||||
#endif
|
||||
|
||||
/* Added in X11R6.9, so available in any version of modular xproto */
|
||||
#if __has_attribute(__sentinel__) || (defined(__GNUC__) && (__GNUC__ >= 4))
|
||||
# define _X_SENTINEL(x) __attribute__ ((__sentinel__(x)))
|
||||
#else
|
||||
# define _X_SENTINEL(x)
|
||||
#endif /* GNUC >= 4 */
|
||||
|
||||
/* Added in X11R6.9, so available in any version of modular xproto */
|
||||
#if (__has_attribute(visibility) || (defined(__GNUC__) && (__GNUC__ >= 4))) \
|
||||
&& !defined(__CYGWIN__) && !defined(__MINGW32__)
|
||||
# define _X_EXPORT __attribute__((visibility("default")))
|
||||
# define _X_HIDDEN __attribute__((visibility("hidden")))
|
||||
# define _X_INTERNAL __attribute__((visibility("internal")))
|
||||
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
|
||||
# define _X_EXPORT __global
|
||||
# define _X_HIDDEN __hidden
|
||||
# define _X_INTERNAL __hidden
|
||||
#else /* not gcc >= 4 and not Sun Studio >= 8 */
|
||||
# define _X_EXPORT
|
||||
# define _X_HIDDEN
|
||||
# define _X_INTERNAL
|
||||
#endif /* GNUC >= 4 */
|
||||
|
||||
/* Branch prediction hints for individual conditionals */
|
||||
/* requires xproto >= 7.0.9 */
|
||||
#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303)
|
||||
# define _X_LIKELY(x) __builtin_expect(!!(x), 1)
|
||||
# define _X_UNLIKELY(x) __builtin_expect(!!(x), 0)
|
||||
#else /* not gcc >= 3.3 */
|
||||
# define _X_LIKELY(x) (x)
|
||||
# define _X_UNLIKELY(x) (x)
|
||||
#endif
|
||||
|
||||
/* Bulk branch prediction hints via marking error path functions as "cold" */
|
||||
/* requires xproto >= 7.0.25 */
|
||||
#if __has_attribute(__cold__) || \
|
||||
(defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 403)) /* 4.3+ */
|
||||
# define _X_COLD __attribute__((__cold__))
|
||||
#else
|
||||
# define _X_COLD /* nothing */
|
||||
#endif
|
||||
|
||||
/* Added in X11R6.9, so available in any version of modular xproto */
|
||||
#if __has_attribute(deprecated) \
|
||||
|| (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301)) \
|
||||
|| (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x5130))
|
||||
# define _X_DEPRECATED __attribute__((deprecated))
|
||||
#else /* not gcc >= 3.1 */
|
||||
# define _X_DEPRECATED
|
||||
#endif
|
||||
|
||||
/* requires xproto >= 7.0.30 */
|
||||
#if __has_extension(attribute_deprecated_with_message) || \
|
||||
(defined(__GNUC__) && ((__GNUC__ >= 5) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5))))
|
||||
# define _X_DEPRECATED_MSG(_msg) __attribute__((deprecated(_msg)))
|
||||
#else
|
||||
# define _X_DEPRECATED_MSG(_msg) _X_DEPRECATED
|
||||
#endif
|
||||
|
||||
/* requires xproto >= 7.0.17 */
|
||||
#if __has_attribute(noreturn) \
|
||||
|| (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205)) \
|
||||
|| (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
|
||||
# define _X_NORETURN __attribute((noreturn))
|
||||
#else
|
||||
# define _X_NORETURN
|
||||
#endif /* GNUC */
|
||||
|
||||
/* Added in X11R6.9, so available in any version of modular xproto */
|
||||
#if __has_attribute(__format__) \
|
||||
|| defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 203)
|
||||
# define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y)))
|
||||
#else /* not gcc >= 2.3 */
|
||||
# define _X_ATTRIBUTE_PRINTF(x,y)
|
||||
#endif
|
||||
|
||||
/* requires xproto >= 7.0.22 - since this uses either gcc or C99 variable
|
||||
argument macros, must be only used inside #ifdef _X_NONNULL guards, as
|
||||
many legacy X clients are compiled in C89 mode still. */
|
||||
#if __has_attribute(nonnull) \
|
||||
&& defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L) /* C99 */
|
||||
#define _X_NONNULL(...) __attribute__((nonnull(__VA_ARGS__)))
|
||||
#elif __has_attribute(nonnull) \
|
||||
|| defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303)
|
||||
#define _X_NONNULL(args...) __attribute__((nonnull(args)))
|
||||
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L) /* C99 */
|
||||
#define _X_NONNULL(...) /* */
|
||||
#endif
|
||||
|
||||
/* requires xproto >= 7.0.22 */
|
||||
#if __has_attribute(__unused__) \
|
||||
|| defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205)
|
||||
#define _X_UNUSED __attribute__((__unused__))
|
||||
#else
|
||||
#define _X_UNUSED /* */
|
||||
#endif
|
||||
|
||||
/* C99 keyword "inline" or equivalent extensions in pre-C99 compilers */
|
||||
/* requires xproto >= 7.0.9
|
||||
(introduced in 7.0.8 but didn't support all compilers until 7.0.9) */
|
||||
#if defined(inline) /* assume autoconf set it correctly */ || \
|
||||
(defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L)) /* C99 */ || \
|
||||
(defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550))
|
||||
# define _X_INLINE inline
|
||||
#elif defined(__GNUC__) && !defined(__STRICT_ANSI__) /* gcc w/C89+extensions */
|
||||
# define _X_INLINE __inline__
|
||||
#else
|
||||
# define _X_INLINE
|
||||
#endif
|
||||
|
||||
/* C99 keyword "restrict" or equivalent extensions in pre-C99 compilers */
|
||||
/* requires xproto >= 7.0.21 */
|
||||
#ifndef _X_RESTRICT_KYWD
|
||||
# if defined(restrict) /* assume autoconf set it correctly */ || \
|
||||
(defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L) /* C99 */ \
|
||||
&& !defined(__cplusplus)) /* Workaround g++ issue on Solaris */
|
||||
# define _X_RESTRICT_KYWD restrict
|
||||
# elif defined(__GNUC__) && !defined(__STRICT_ANSI__) /* gcc w/C89+extensions */
|
||||
# define _X_RESTRICT_KYWD __restrict__
|
||||
# else
|
||||
# define _X_RESTRICT_KYWD
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* requires xproto >= 7.0.30 */
|
||||
#if __has_attribute(no_sanitize_thread)
|
||||
# define _X_NOTSAN __attribute__((no_sanitize_thread))
|
||||
#else
|
||||
# define _X_NOTSAN
|
||||
#endif
|
||||
|
||||
/* Mark a char array/pointer as not containing a NUL-terminated string */
|
||||
/* requires xproto >= 7.0.33 */
|
||||
#if __has_attribute(nonstring)
|
||||
# define _X_NONSTRING __attribute__((nonstring))
|
||||
#else
|
||||
# define _X_NONSTRING
|
||||
#endif
|
||||
|
||||
#endif /* _XFUNCPROTO_H_ */
|
69
includes/X11/Xfuncs.h
Normal file
69
includes/X11/Xfuncs.h
Normal file
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
*
|
||||
Copyright 1990, 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _XFUNCS_H_
|
||||
# define _XFUNCS_H_
|
||||
|
||||
# include "Xosdefs.h"
|
||||
|
||||
/* the old Xfuncs.h, for pre-R6 */
|
||||
# if !(defined(XFree86LOADER) && defined(IN_MODULE))
|
||||
|
||||
# ifdef X_USEBFUNCS
|
||||
void bcopy();
|
||||
void bzero();
|
||||
int bcmp();
|
||||
# else
|
||||
# if defined(SYSV) && !defined(__SCO__) && !defined(__sun) && !defined(__UNIXWARE__) && !defined(_AIX)
|
||||
# include <memory.h>
|
||||
void bcopy();
|
||||
# define bzero(b,len) memset(b, 0, len)
|
||||
# define bcmp(b1,b2,len) memcmp(b1, b2, len)
|
||||
# else
|
||||
# include <string.h>
|
||||
# if defined(__SCO__) || defined(__sun) || defined(__UNIXWARE__) || defined(__CYGWIN__) || defined(_AIX) || defined(__APPLE__)
|
||||
# include <strings.h>
|
||||
# endif
|
||||
# define _XFUNCS_H_INCLUDED_STRING_H
|
||||
# endif
|
||||
# endif /* X_USEBFUNCS */
|
||||
|
||||
/* the new Xfuncs.h */
|
||||
|
||||
/* the ANSI C way */
|
||||
# ifndef _XFUNCS_H_INCLUDED_STRING_H
|
||||
# include <string.h>
|
||||
# endif
|
||||
# undef bzero
|
||||
# define bzero(b,len) memset(b,0,len)
|
||||
|
||||
# if defined WIN32 && defined __MINGW32__
|
||||
# define bcopy(b1,b2,len) memmove(b2, b1, (size_t)(len))
|
||||
# endif
|
||||
|
||||
# endif /* !(defined(XFree86LOADER) && defined(IN_MODULE)) */
|
||||
|
||||
#endif /* _XFUNCS_H_ */
|
4025
includes/X11/Xlib.h
Normal file
4025
includes/X11/Xlib.h
Normal file
File diff suppressed because it is too large
Load diff
38
includes/X11/XlibConf.h
Normal file
38
includes/X11/XlibConf.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
/* include/X11/XlibConf.h. Generated from XlibConf.h.in by configure. */
|
||||
/*
|
||||
* Copyright © 2005 Keith Packard
|
||||
*
|
||||
* 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 Keith Packard not be used in
|
||||
* advertising or publicity pertaining to distribution of the software without
|
||||
* specific, written prior permission. Keith Packard makes no
|
||||
* representations about the suitability of this software for any purpose. It
|
||||
* is provided "as is" without express or implied warranty.
|
||||
*
|
||||
* KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
* EVENT SHALL KEITH PACKARD 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 _XLIBCONF_H_
|
||||
#define _XLIBCONF_H_
|
||||
/*
|
||||
* This header file exports defines necessary to correctly
|
||||
* use Xlibint.h both inside Xlib and by external libraries
|
||||
* such as extensions.
|
||||
*/
|
||||
|
||||
/* Threading support? */
|
||||
#define XTHREADS 1
|
||||
|
||||
/* Use multi-threaded libc functions? */
|
||||
#define XUSE_MTSAFE_API 1
|
||||
|
||||
#endif /* _XLIBCONF_H_ */
|
1444
includes/X11/Xlibint.h
Normal file
1444
includes/X11/Xlibint.h
Normal file
File diff suppressed because it is too large
Load diff
37
includes/X11/Xlocale.h
Normal file
37
includes/X11/Xlocale.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
/*
|
||||
|
||||
Copyright 1991, 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.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef _X11_XLOCALE_H_
|
||||
#define _X11_XLOCALE_H_
|
||||
|
||||
#include "Xfuncproto.h"
|
||||
#include "Xosdefs.h"
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
#endif /* _X11_XLOCALE_H_ */
|
146
includes/X11/Xmd.h
Normal file
146
includes/X11/Xmd.h
Normal file
|
@ -0,0 +1,146 @@
|
|||
/***********************************************************
|
||||
|
||||
Copyright 1987, 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.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
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 Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL 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 XMD_H
|
||||
# define XMD_H 1
|
||||
/*
|
||||
* Xmd.h: MACHINE DEPENDENT DECLARATIONS.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Special per-machine configuration flags.
|
||||
*/
|
||||
# if defined(__sun) && defined(__SVR4)
|
||||
# include <sys/isa_defs.h> /* Solaris: defines _LP64 if necessary */
|
||||
# endif
|
||||
|
||||
#if defined(__SIZEOF_LONG__)
|
||||
# if __SIZEOF_LONG__ == 8
|
||||
# define LONG64 /* 32/64-bit architecture */
|
||||
# endif
|
||||
# elif defined (_LP64) || defined(__LP64__) || \
|
||||
defined(__alpha) || defined(__alpha__) || \
|
||||
defined(__ia64__) || defined(ia64) || \
|
||||
defined(__sparc64__) || \
|
||||
defined(__s390x__) || \
|
||||
defined(__amd64__) || defined(amd64) || \
|
||||
defined(__powerpc64__)
|
||||
# if !defined(__ILP32__) /* amd64-x32 is 32bit */
|
||||
# define LONG64 /* 32/64-bit architecture */
|
||||
# endif /* !__ILP32__ */
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Definition of macro used to set constants for size of network structures;
|
||||
* machines with preprocessors that can't handle all of the sz_ symbols
|
||||
* can define this macro to be sizeof(x) if and only if their compiler doesn't
|
||||
* pad out structures (esp. the xTextElt structure which contains only two
|
||||
* one-byte fields). Network structures should always define sz_symbols.
|
||||
*
|
||||
* The sz_ prefix is used instead of something more descriptive so that the
|
||||
* symbols are no more than 32 characters long (which causes problems for some
|
||||
* compilers and preprocessors).
|
||||
*
|
||||
* The extra indirection is to get macro arguments to expand correctly before
|
||||
* the concatenation, rather than afterward.
|
||||
*/
|
||||
# define _SIZEOF(x) sz_##x
|
||||
# define SIZEOF(x) _SIZEOF(x)
|
||||
|
||||
/*
|
||||
* Bitfield suffixes for the protocol structure elements, if you
|
||||
* need them. Note that bitfields are not guaranteed to be signed
|
||||
* (or even unsigned) according to ANSI C.
|
||||
*/
|
||||
# define B32 /* bitfield not needed on architectures with native 32-bit type */
|
||||
# define B16 /* bitfield not needed on architectures with native 16-bit type */
|
||||
# ifdef LONG64
|
||||
typedef long INT64;
|
||||
typedef int INT32;
|
||||
# else
|
||||
typedef long INT32;
|
||||
# endif
|
||||
typedef short INT16;
|
||||
|
||||
typedef signed char INT8;
|
||||
|
||||
# ifdef LONG64
|
||||
typedef unsigned long CARD64;
|
||||
typedef unsigned int CARD32;
|
||||
# else
|
||||
typedef unsigned long long CARD64;
|
||||
typedef unsigned long CARD32;
|
||||
# endif
|
||||
typedef unsigned short CARD16;
|
||||
typedef unsigned char CARD8;
|
||||
|
||||
typedef CARD32 BITS32;
|
||||
typedef CARD16 BITS16;
|
||||
|
||||
typedef CARD8 BYTE;
|
||||
typedef CARD8 BOOL;
|
||||
|
||||
/*
|
||||
* was definitions for sign-extending bitfields on architectures without
|
||||
* native types smaller than 64-bit, now just backwards compatibility
|
||||
*/
|
||||
# define cvtINT8toInt(val) (val)
|
||||
# define cvtINT16toInt(val) (val)
|
||||
# define cvtINT32toInt(val) (val)
|
||||
# define cvtINT8toShort(val) (val)
|
||||
# define cvtINT16toShort(val) (val)
|
||||
# define cvtINT32toShort(val) (val)
|
||||
# define cvtINT8toLong(val) (val)
|
||||
# define cvtINT16toLong(val) (val)
|
||||
# define cvtINT32toLong(val) (val)
|
||||
|
||||
/*
|
||||
* this version should leave result of type (t *), but that should only be
|
||||
* used when not in MUSTCOPY
|
||||
*/
|
||||
# define NEXTPTR(p,t) (((t *)(p)) + 1)
|
||||
|
||||
#endif /* XMD_H */
|
148
includes/X11/Xos.h
Normal file
148
includes/X11/Xos.h
Normal file
|
@ -0,0 +1,148 @@
|
|||
/*
|
||||
*
|
||||
Copyright 1987, 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.
|
||||
*
|
||||
* The X Window System is a Trademark of The Open Group.
|
||||
*
|
||||
*/
|
||||
|
||||
/* This is a collection of things to try and minimize system dependencies
|
||||
* in a "significant" number of source files.
|
||||
*/
|
||||
|
||||
#ifndef _XOS_H_
|
||||
# define _XOS_H_
|
||||
|
||||
# include "Xosdefs.h"
|
||||
|
||||
/*
|
||||
* Get major data types (esp. caddr_t)
|
||||
*/
|
||||
|
||||
# include <sys/types.h>
|
||||
|
||||
# if defined(__SCO__) || defined(__UNIXWARE__)
|
||||
# include <stdint.h>
|
||||
# endif
|
||||
|
||||
|
||||
/*
|
||||
* Just about everyone needs the strings routines. We provide both forms here,
|
||||
* index/rindex and strchr/strrchr, so any systems that don't provide them all
|
||||
* need to have #defines here.
|
||||
*
|
||||
* These macros are defined this way, rather than, e.g.:
|
||||
* #defined index(s,c) strchr(s,c)
|
||||
* because someone might be using them as function pointers, and such
|
||||
* a change would break compatibility for anyone who's relying on them
|
||||
* being the way they currently are. So we're stuck with them this way,
|
||||
* which can be really inconvenient. :-(
|
||||
*/
|
||||
|
||||
# include <string.h>
|
||||
# if defined(__SCO__) || defined(__UNIXWARE__) || defined(__sun) || defined(__CYGWIN__) || defined(_AIX) || defined(__APPLE__)
|
||||
# include <strings.h>
|
||||
# else
|
||||
# ifndef index
|
||||
# define index(s,c) (strchr((s),(c)))
|
||||
# endif
|
||||
# ifndef rindex
|
||||
# define rindex(s,c) (strrchr((s),(c)))
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Get open(2) constants
|
||||
*/
|
||||
# if defined(X_NOT_POSIX)
|
||||
# include <fcntl.h>
|
||||
# if defined(USL) || defined(__i386__) && (defined(SYSV) || defined(SVR4))
|
||||
# include <unistd.h>
|
||||
# endif
|
||||
# ifdef WIN32
|
||||
# include "Xw32defs.h"
|
||||
# else
|
||||
# include <sys/file.h>
|
||||
# endif
|
||||
# else /* X_NOT_POSIX */
|
||||
# include <fcntl.h>
|
||||
# include <unistd.h>
|
||||
# endif /* X_NOT_POSIX else */
|
||||
|
||||
/*
|
||||
* Get struct timeval and struct tm
|
||||
*/
|
||||
|
||||
# if defined(_POSIX_SOURCE) && defined(SVR4)
|
||||
/* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */
|
||||
# undef _POSIX_SOURCE
|
||||
# include <sys/time.h>
|
||||
# define _POSIX_SOURCE
|
||||
# elif defined(WIN32)
|
||||
# include <time.h>
|
||||
# if !defined(_WINSOCKAPI_) && !defined(_WILLWINSOCK_) && !defined(_TIMEVAL_DEFINED) && !defined(_STRUCT_TIMEVAL)
|
||||
struct timeval {
|
||||
long tv_sec; /* seconds */
|
||||
long tv_usec; /* and microseconds */
|
||||
};
|
||||
# define _TIMEVAL_DEFINED
|
||||
# endif
|
||||
# include <sys/timeb.h>
|
||||
# define gettimeofday(t) \
|
||||
{ \
|
||||
struct _timeb _gtodtmp; \
|
||||
_ftime (&_gtodtmp); \
|
||||
(t)->tv_sec = _gtodtmp.time; \
|
||||
(t)->tv_usec = _gtodtmp.millitm * 1000; \
|
||||
}
|
||||
# else
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
# endif /* defined(_POSIX_SOURCE) && defined(SVR4) */
|
||||
|
||||
/* define X_GETTIMEOFDAY macro, a portable gettimeofday() */
|
||||
# if defined(_XOPEN_XPG4) || defined(_XOPEN_UNIX) /* _XOPEN_UNIX is XPG4.2 */
|
||||
# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
|
||||
# else
|
||||
# if defined(SVR4) || defined(__SVR4) || defined(WIN32)
|
||||
# define X_GETTIMEOFDAY(t) gettimeofday(t)
|
||||
# else
|
||||
# define X_GETTIMEOFDAY(t) gettimeofday(t, (struct timezone*)0)
|
||||
# endif
|
||||
# endif /* XPG4 else */
|
||||
|
||||
|
||||
# ifdef __GNU__
|
||||
# define PATH_MAX 4096
|
||||
# define MAXPATHLEN 4096
|
||||
# define OPEN_MAX 256 /* We define a reasonable limit. */
|
||||
# endif
|
||||
|
||||
/* use POSIX name for signal */
|
||||
# if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD)
|
||||
# define SIGCHLD SIGCLD
|
||||
# endif
|
||||
|
||||
# include "Xarch.h"
|
||||
|
||||
#endif /* _XOS_H_ */
|
1095
includes/X11/Xos_r.h
Normal file
1095
includes/X11/Xos_r.h
Normal file
File diff suppressed because it is too large
Load diff
116
includes/X11/Xosdefs.h
Normal file
116
includes/X11/Xosdefs.h
Normal file
|
@ -0,0 +1,116 @@
|
|||
/*
|
||||
* O/S-dependent (mis)feature macro definitions
|
||||
*
|
||||
Copyright 1991, 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.
|
||||
*/
|
||||
|
||||
#ifndef _XOSDEFS_H_
|
||||
# define _XOSDEFS_H_
|
||||
|
||||
/*
|
||||
* X_NOT_POSIX means does not have POSIX header files. Lack of this
|
||||
* symbol does NOT mean that the POSIX environment is the default.
|
||||
* You may still have to define _POSIX_SOURCE to get it.
|
||||
*/
|
||||
|
||||
|
||||
# ifdef _SCO_DS
|
||||
# ifndef __SCO__
|
||||
# define __SCO__
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# ifdef __i386__
|
||||
# ifdef SYSV
|
||||
# if !defined(__SCO__) && \
|
||||
!defined(__UNIXWARE__) && !defined(__sun)
|
||||
# if !defined(_POSIX_SOURCE)
|
||||
# define X_NOT_POSIX
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# ifdef __sun
|
||||
/* Imake configs define SVR4 on Solaris, but cc & gcc only define __SVR4
|
||||
* This check allows non-Imake configured programs to build correctly.
|
||||
*/
|
||||
# if defined(__SVR4) && !defined(SVR4)
|
||||
# define SVR4 1
|
||||
# endif
|
||||
# ifdef SVR4
|
||||
/* define this to whatever it needs to be */
|
||||
# define X_POSIX_C_SOURCE 199300L
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# ifdef WIN32
|
||||
# ifndef _POSIX_
|
||||
# define X_NOT_POSIX
|
||||
# endif
|
||||
# endif
|
||||
|
||||
|
||||
# ifdef __APPLE__
|
||||
# define NULL_NOT_ZERO
|
||||
|
||||
/* Defining any of these will sanitize the namespace to JUST want is defined by
|
||||
* that particular standard. If that happens, we don't get some expected
|
||||
* prototypes, typedefs, etc (like fd_mask). We can define _DARWIN_C_SOURCE to
|
||||
* loosen our belts a tad.
|
||||
*/
|
||||
# if defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE)
|
||||
# ifndef _DARWIN_C_SOURCE
|
||||
# define _DARWIN_C_SOURCE
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
# ifdef __GNU__
|
||||
# ifndef PATH_MAX
|
||||
# define PATH_MAX 4096
|
||||
# endif
|
||||
# ifndef MAXPATHLEN
|
||||
# define MAXPATHLEN 4096
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# if defined(__SCO__) || defined(__UNIXWARE__)
|
||||
# ifndef PATH_MAX
|
||||
# define PATH_MAX 1024
|
||||
# endif
|
||||
# ifndef MAXPATHLEN
|
||||
# define MAXPATHLEN 1024
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) \
|
||||
|| defined(__APPLE__) || defined(__DragonFly__)
|
||||
# ifndef CSRG_BASED
|
||||
# define CSRG_BASED
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#endif /* _XOSDEFS_H_ */
|
||||
|
230
includes/X11/Xpoll.h
Normal file
230
includes/X11/Xpoll.h
Normal file
|
@ -0,0 +1,230 @@
|
|||
/*
|
||||
|
||||
Copyright 1994, 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.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright © 2005 Daniel Stone
|
||||
*
|
||||
* 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 Daniel Stone not be used in advertising
|
||||
* or publicity pertaining to distribution of the software without specific,
|
||||
* written prior permission. Daniel Stone makes no representations about the
|
||||
* suitability of this software for any purpose. It is provided "as is"
|
||||
* without express or implied warranty.
|
||||
*
|
||||
* DANIEL STONE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
* DANIEL STONE 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 _XPOLL_H_
|
||||
#define _XPOLL_H_
|
||||
|
||||
#if !defined(WIN32) || defined(__CYGWIN__)
|
||||
|
||||
#ifndef USE_POLL
|
||||
|
||||
#include "Xos.h"
|
||||
|
||||
#include <sys/select.h> /* Get the FD_* macros. */
|
||||
|
||||
#include "Xmd.h"
|
||||
|
||||
#ifdef CSRG_BASED
|
||||
#include <sys/param.h>
|
||||
# if BSD < 199103
|
||||
typedef long fd_mask;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(FD_SETSIZE) && FD_SETSIZE < 512
|
||||
# define XFD_SETSIZE FD_SETSIZE
|
||||
#else
|
||||
# define XFD_SETSIZE 512
|
||||
# ifndef FD_SETSIZE
|
||||
# define FD_SETSIZE XFD_SETSIZE
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef NBBY
|
||||
#define NBBY 8 /* number of bits in a byte */
|
||||
#endif
|
||||
|
||||
#ifndef NFDBITS
|
||||
#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */
|
||||
#endif
|
||||
|
||||
#ifndef howmany
|
||||
#define howmany(x,y) (((x)+((y)-1))/(y))
|
||||
#endif
|
||||
|
||||
#if defined(BSD) && BSD < 198911
|
||||
typedef struct fd_set {
|
||||
fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];
|
||||
} fd_set;
|
||||
#endif
|
||||
|
||||
# define Select(n,r,w,e,t) select(n,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
|
||||
|
||||
#define __X_FDS_BITS __fds_bits
|
||||
|
||||
#ifndef __FDS_BITS
|
||||
# define __FDS_BITS(p) ((p)->__X_FDS_BITS)
|
||||
#endif
|
||||
|
||||
#define __XFDS_BITS(p, n) (__FDS_BITS(p))[n]
|
||||
|
||||
#ifndef FD_SET
|
||||
#define FD_SET(n, p) (__XFDS_BITS(p, ((n)/NFDBITS)) |= ((fd_mask)1 << ((n) % NFDBITS)))
|
||||
#endif
|
||||
#ifndef FD_CLR
|
||||
#define FD_CLR(n, p) (__XFDS_BITS((p), ((n)/NFDBITS)) &= ~((fd_mask)1 << ((n) % NFDBITS)))
|
||||
#endif
|
||||
#ifndef FD_ISSET
|
||||
#define FD_ISSET(n, p) ((__XFDS_BITS((p), ((n)/NFDBITS))) & ((fd_mask)1 << ((n) % NFDBITS)))
|
||||
#endif
|
||||
#ifndef FD_ZERO
|
||||
#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p)))
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The howmany(FD_SETSIZE, NFDBITS) computes the number of elements in the
|
||||
* array. before accessing an element in the array we check it exists.
|
||||
* If it does not exist then the compiler discards the code to access it.
|
||||
*/
|
||||
#define XFD_ANYSET(p) \
|
||||
((howmany(FD_SETSIZE, NFDBITS) > 0 && (__XFDS_BITS(p, 0))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 1 && (__XFDS_BITS(p, 1))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 2 && (__XFDS_BITS(p, 2))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 3 && (__XFDS_BITS(p, 3))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 4 && (__XFDS_BITS(p, 4))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 5 && (__XFDS_BITS(p, 5))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 6 && (__XFDS_BITS(p, 6))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 7 && (__XFDS_BITS(p, 7))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 8 && (__XFDS_BITS(p, 8))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 9 && (__XFDS_BITS(p, 9))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 10 && (__XFDS_BITS(p, 10))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 11 && (__XFDS_BITS(p, 11))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 12 && (__XFDS_BITS(p, 12))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 13 && (__XFDS_BITS(p, 13))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 14 && (__XFDS_BITS(p, 14))) || \
|
||||
(howmany(FD_SETSIZE, NFDBITS) > 15 && (__XFDS_BITS(p, 15))))
|
||||
|
||||
|
||||
#define XFD_COPYSET(src,dst) { \
|
||||
int __i__; \
|
||||
for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
|
||||
__XFDS_BITS((dst), __i__) = __XFDS_BITS((src), __i__); \
|
||||
}
|
||||
#define XFD_ANDSET(dst,b1,b2) { \
|
||||
int __i__; \
|
||||
for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
|
||||
__XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) & (__XFDS_BITS((b2), __i__))); \
|
||||
}
|
||||
#define XFD_ORSET(dst,b1,b2) { \
|
||||
int __i__; \
|
||||
for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
|
||||
__XFDS_BITS((dst), __i__) = ((__XFDS_BITS((b1), __i__)) | (__XFDS_BITS((b2), __i__))); \
|
||||
}
|
||||
#define XFD_UNSET(dst,b1) { \
|
||||
int __i__; \
|
||||
for (__i__ = 0; __i__ < howmany(FD_SETSIZE, NFDBITS); __i__++) \
|
||||
__XFDS_BITS((dst), __i__) &= ~(__XFDS_BITS((b1), __i__)); \
|
||||
}
|
||||
|
||||
#else /* USE_POLL */
|
||||
#include <sys/poll.h>
|
||||
#endif /* USE_POLL */
|
||||
|
||||
#else /* WIN32 */
|
||||
|
||||
#define XFD_SETSIZE 512
|
||||
#ifndef FD_SETSIZE
|
||||
#define FD_SETSIZE XFD_SETSIZE
|
||||
#endif
|
||||
#include "Xwinsock.h"
|
||||
|
||||
#define Select(n,r,w,e,t) select(0,(fd_set*)r,(fd_set*)w,(fd_set*)e,(struct timeval*)t)
|
||||
|
||||
#define XFD_SETCOUNT(p) (((fd_set FAR *)(p))->fd_count)
|
||||
#define XFD_FD(p,i) (((fd_set FAR *)(p))->fd_array[i])
|
||||
#define XFD_ANYSET(p) XFD_SETCOUNT(p)
|
||||
|
||||
#define XFD_COPYSET(src,dst) { \
|
||||
u_int __i; \
|
||||
FD_ZERO(dst); \
|
||||
for (__i = 0; __i < XFD_SETCOUNT(src) ; __i++) { \
|
||||
XFD_FD(dst,__i) = XFD_FD(src,__i); \
|
||||
} \
|
||||
XFD_SETCOUNT(dst) = XFD_SETCOUNT(src); \
|
||||
}
|
||||
|
||||
#define XFD_ANDSET(dst,b1,b2) { \
|
||||
u_int __i; \
|
||||
FD_ZERO(dst); \
|
||||
for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \
|
||||
if (FD_ISSET(XFD_FD(b1,__i), b2)) \
|
||||
FD_SET(XFD_FD(b1,__i), dst); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define XFD_ORSET(dst,b1,b2) { \
|
||||
u_int __i; \
|
||||
if (dst != b1) XFD_COPYSET(b1,dst); \
|
||||
for (__i = 0; __i < XFD_SETCOUNT(b2) ; __i++) { \
|
||||
if (!FD_ISSET(XFD_FD(b2,__i), dst)) \
|
||||
FD_SET(XFD_FD(b2,__i), dst); \
|
||||
} \
|
||||
}
|
||||
|
||||
/* this one is really sub-optimal */
|
||||
#define XFD_UNSET(dst,b1) { \
|
||||
u_int __i; \
|
||||
for (__i = 0; __i < XFD_SETCOUNT(b1) ; __i++) { \
|
||||
FD_CLR(XFD_FD(b1,__i), dst); \
|
||||
} \
|
||||
}
|
||||
|
||||
/* we have to pay the price of having an array here, unlike with bitmasks
|
||||
calling twice FD_SET with the same fd is not transparent, so be careful */
|
||||
#undef FD_SET
|
||||
#define FD_SET(fd,set) do { \
|
||||
if (XFD_SETCOUNT(set) < FD_SETSIZE && !FD_ISSET(fd,set)) \
|
||||
XFD_FD(set,XFD_SETCOUNT(set)++)=(fd); \
|
||||
} while(0)
|
||||
|
||||
#define getdtablesize() FD_SETSIZE
|
||||
|
||||
#endif /* WIN32 */
|
||||
|
||||
#endif /* _XPOLL_H_ */
|
2157
includes/X11/Xproto.h
Normal file
2157
includes/X11/Xproto.h
Normal file
File diff suppressed because it is too large
Load diff
77
includes/X11/Xprotostr.h
Normal file
77
includes/X11/Xprotostr.h
Normal file
|
@ -0,0 +1,77 @@
|
|||
#ifndef XPROTOSTRUCTS_H
|
||||
#define XPROTOSTRUCTS_H
|
||||
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 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.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
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 Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL 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.
|
||||
|
||||
******************************************************************/
|
||||
#include "Xmd.h"
|
||||
|
||||
/* Used by PolySegment */
|
||||
|
||||
typedef struct _xSegment {
|
||||
INT16 x1, y1, x2, y2;
|
||||
} xSegment;
|
||||
|
||||
/* POINT */
|
||||
|
||||
typedef struct _xPoint {
|
||||
INT16 x, y;
|
||||
} xPoint;
|
||||
|
||||
typedef struct _xRectangle {
|
||||
INT16 x, y;
|
||||
CARD16 width, height;
|
||||
} xRectangle;
|
||||
|
||||
/* ARC */
|
||||
|
||||
typedef struct _xArc {
|
||||
INT16 x, y;
|
||||
CARD16 width, height;
|
||||
INT16 angle1, angle2;
|
||||
} xArc;
|
||||
|
||||
#endif /* XPROTOSTRUCTS_H */
|
190
includes/X11/Xregion.h
Normal file
190
includes/X11/Xregion.h
Normal file
|
@ -0,0 +1,190 @@
|
|||
/************************************************************************
|
||||
|
||||
Copyright 1987, 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.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
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 Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL 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 _X11_XREGION_H_
|
||||
#define _X11_XREGION_H_
|
||||
|
||||
typedef struct {
|
||||
short x1, x2, y1, y2;
|
||||
} Box, BOX, BoxRec, *BoxPtr;
|
||||
|
||||
typedef struct {
|
||||
short x, y, width, height;
|
||||
}RECTANGLE, RectangleRec, *RectanglePtr;
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
#define MAXSHORT 32767
|
||||
#define MINSHORT -MAXSHORT
|
||||
#ifndef MAX
|
||||
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
|
||||
#endif
|
||||
#ifndef MIN
|
||||
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* clip region
|
||||
*/
|
||||
|
||||
typedef struct _XRegion {
|
||||
long size;
|
||||
long numRects;
|
||||
BOX *rects;
|
||||
BOX extents;
|
||||
} REGION;
|
||||
|
||||
/* Xutil.h contains the declaration:
|
||||
* typedef struct _XRegion *Region;
|
||||
*/
|
||||
|
||||
/* 1 if two BOXs overlap.
|
||||
* 0 if two BOXs do not overlap.
|
||||
* Remember, x2 and y2 are not in the region
|
||||
*/
|
||||
#define EXTENTCHECK(r1, r2) \
|
||||
((r1)->x2 > (r2)->x1 && \
|
||||
(r1)->x1 < (r2)->x2 && \
|
||||
(r1)->y2 > (r2)->y1 && \
|
||||
(r1)->y1 < (r2)->y2)
|
||||
|
||||
/*
|
||||
* update region extents
|
||||
*/
|
||||
#define EXTENTS(r,idRect){\
|
||||
if((r)->x1 < (idRect)->extents.x1)\
|
||||
(idRect)->extents.x1 = (r)->x1;\
|
||||
if((r)->y1 < (idRect)->extents.y1)\
|
||||
(idRect)->extents.y1 = (r)->y1;\
|
||||
if((r)->x2 > (idRect)->extents.x2)\
|
||||
(idRect)->extents.x2 = (r)->x2;\
|
||||
if((r)->y2 > (idRect)->extents.y2)\
|
||||
(idRect)->extents.y2 = (r)->y2;\
|
||||
}
|
||||
|
||||
/*
|
||||
* Check to see if there is enough memory in the present region.
|
||||
*/
|
||||
#define MEMCHECK(reg, rect, firstrect){\
|
||||
if ((reg)->numRects >= ((reg)->size - 1)){\
|
||||
BoxPtr tmpRect = Xrealloc ((firstrect), \
|
||||
(2 * (sizeof(BOX)) * ((reg)->size))); \
|
||||
if (tmpRect == NULL) \
|
||||
return(0);\
|
||||
(firstrect) = tmpRect; \
|
||||
(reg)->size *= 2;\
|
||||
(rect) = &(firstrect)[(reg)->numRects];\
|
||||
}\
|
||||
}
|
||||
|
||||
/* this routine checks to see if the previous rectangle is the same
|
||||
* or subsumes the new rectangle to add.
|
||||
*/
|
||||
|
||||
#define CHECK_PREVIOUS(Reg, R, Rx1, Ry1, Rx2, Ry2)\
|
||||
(!(((Reg)->numRects > 0)&&\
|
||||
((R-1)->y1 == (Ry1)) &&\
|
||||
((R-1)->y2 == (Ry2)) &&\
|
||||
((R-1)->x1 <= (Rx1)) &&\
|
||||
((R-1)->x2 >= (Rx2))))
|
||||
|
||||
/* add a rectangle to the given Region */
|
||||
#define ADDRECT(reg, r, rx1, ry1, rx2, ry2){\
|
||||
if (((rx1) < (rx2)) && ((ry1) < (ry2)) &&\
|
||||
CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
|
||||
(r)->x1 = (rx1);\
|
||||
(r)->y1 = (ry1);\
|
||||
(r)->x2 = (rx2);\
|
||||
(r)->y2 = (ry2);\
|
||||
EXTENTS((r), (reg));\
|
||||
(reg)->numRects++;\
|
||||
(r)++;\
|
||||
}\
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* add a rectangle to the given Region */
|
||||
#define ADDRECTNOX(reg, r, rx1, ry1, rx2, ry2){\
|
||||
if ((rx1 < rx2) && (ry1 < ry2) &&\
|
||||
CHECK_PREVIOUS((reg), (r), (rx1), (ry1), (rx2), (ry2))){\
|
||||
(r)->x1 = (rx1);\
|
||||
(r)->y1 = (ry1);\
|
||||
(r)->x2 = (rx2);\
|
||||
(r)->y2 = (ry2);\
|
||||
(reg)->numRects++;\
|
||||
(r)++;\
|
||||
}\
|
||||
}
|
||||
|
||||
#define EMPTY_REGION(pReg) pReg->numRects = 0
|
||||
|
||||
#define REGION_NOT_EMPTY(pReg) pReg->numRects
|
||||
|
||||
#define INBOX(r, x, y) \
|
||||
( ( ((r).x2 > x)) && \
|
||||
( ((r).x1 <= x)) && \
|
||||
( ((r).y2 > y)) && \
|
||||
( ((r).y1 <= y)) )
|
||||
|
||||
/*
|
||||
* number of points to buffer before sending them off
|
||||
* to scanlines() : Must be an even number
|
||||
*/
|
||||
#define NUMPTSTOBUFFER 200
|
||||
|
||||
/*
|
||||
* used to allocate buffers for points and link
|
||||
* the buffers together
|
||||
*/
|
||||
typedef struct _POINTBLOCK {
|
||||
XPoint pts[NUMPTSTOBUFFER];
|
||||
struct _POINTBLOCK *next;
|
||||
} POINTBLOCK;
|
||||
|
||||
#endif /* _X11_XREGION_H_ */
|
358
includes/X11/Xresource.h
Normal file
358
includes/X11/Xresource.h
Normal file
|
@ -0,0 +1,358 @@
|
|||
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 1988, 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.
|
||||
|
||||
|
||||
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
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 Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL 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 _X11_XRESOURCE_H_
|
||||
#define _X11_XRESOURCE_H_
|
||||
|
||||
#ifndef _XP_PRINT_SERVER_
|
||||
#include "Xlib.h"
|
||||
#endif
|
||||
|
||||
/****************************************************************
|
||||
****************************************************************
|
||||
*** ***
|
||||
*** ***
|
||||
*** X Resource Manager Intrinsics ***
|
||||
*** ***
|
||||
*** ***
|
||||
****************************************************************
|
||||
****************************************************************/
|
||||
|
||||
_XFUNCPROTOBEGIN
|
||||
|
||||
/****************************************************************
|
||||
*
|
||||
* Memory Management
|
||||
*
|
||||
****************************************************************/
|
||||
|
||||
extern char *Xpermalloc(
|
||||
unsigned int /* size */
|
||||
);
|
||||
|
||||
/****************************************************************
|
||||
*
|
||||
* Quark Management
|
||||
*
|
||||
****************************************************************/
|
||||
|
||||
typedef int XrmQuark, *XrmQuarkList;
|
||||
#define NULLQUARK ((XrmQuark) 0)
|
||||
|
||||
typedef char *XrmString;
|
||||
#define NULLSTRING ((XrmString) 0)
|
||||
|
||||
/* find quark for string, create new quark if none already exists */
|
||||
extern XrmQuark XrmStringToQuark(
|
||||
_Xconst char* /* string */
|
||||
);
|
||||
|
||||
extern XrmQuark XrmPermStringToQuark(
|
||||
_Xconst char* /* string */
|
||||
);
|
||||
|
||||
/* find string for quark */
|
||||
extern XrmString XrmQuarkToString(
|
||||
XrmQuark /* quark */
|
||||
);
|
||||
|
||||
extern XrmQuark XrmUniqueQuark(
|
||||
void
|
||||
);
|
||||
|
||||
#define XrmStringsEqual(a1, a2) (strcmp(a1, a2) == 0)
|
||||
|
||||
|
||||
/****************************************************************
|
||||
*
|
||||
* Conversion of Strings to Lists
|
||||
*
|
||||
****************************************************************/
|
||||
|
||||
typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;
|
||||
|
||||
extern void XrmStringToQuarkList(
|
||||
_Xconst char* /* string */,
|
||||
XrmQuarkList /* quarks_return */
|
||||
);
|
||||
|
||||
extern void XrmStringToBindingQuarkList(
|
||||
_Xconst char* /* string */,
|
||||
XrmBindingList /* bindings_return */,
|
||||
XrmQuarkList /* quarks_return */
|
||||
);
|
||||
|
||||
/****************************************************************
|
||||
*
|
||||
* Name and Class lists.
|
||||
*
|
||||
****************************************************************/
|
||||
|
||||
typedef XrmQuark XrmName;
|
||||
typedef XrmQuarkList XrmNameList;
|
||||
#define XrmNameToString(name) XrmQuarkToString(name)
|
||||
#define XrmStringToName(string) XrmStringToQuark(string)
|
||||
#define XrmStringToNameList(str, name) XrmStringToQuarkList(str, name)
|
||||
|
||||
typedef XrmQuark XrmClass;
|
||||
typedef XrmQuarkList XrmClassList;
|
||||
#define XrmClassToString(c_class) XrmQuarkToString(c_class)
|
||||
#define XrmStringToClass(c_class) XrmStringToQuark(c_class)
|
||||
#define XrmStringToClassList(str,c_class) XrmStringToQuarkList(str, c_class)
|
||||
|
||||
|
||||
|
||||
/****************************************************************
|
||||
*
|
||||
* Resource Representation Types and Values
|
||||
*
|
||||
****************************************************************/
|
||||
|
||||
typedef XrmQuark XrmRepresentation;
|
||||
#define XrmStringToRepresentation(string) XrmStringToQuark(string)
|
||||
#define XrmRepresentationToString(type) XrmQuarkToString(type)
|
||||
|
||||
typedef struct {
|
||||
unsigned int size;
|
||||
XPointer addr;
|
||||
} XrmValue, *XrmValuePtr;
|
||||
|
||||
|
||||
/****************************************************************
|
||||
*
|
||||
* Resource Manager Functions
|
||||
*
|
||||
****************************************************************/
|
||||
|
||||
typedef struct _XrmHashBucketRec *XrmHashBucket;
|
||||
typedef XrmHashBucket *XrmHashTable;
|
||||
typedef XrmHashTable XrmSearchList[];
|
||||
typedef struct _XrmHashBucketRec *XrmDatabase;
|
||||
|
||||
|
||||
extern void XrmDestroyDatabase(
|
||||
XrmDatabase /* database */
|
||||
);
|
||||
|
||||
extern void XrmQPutResource(
|
||||
XrmDatabase* /* database */,
|
||||
XrmBindingList /* bindings */,
|
||||
XrmQuarkList /* quarks */,
|
||||
XrmRepresentation /* type */,
|
||||
XrmValue* /* value */
|
||||
);
|
||||
|
||||
extern void XrmPutResource(
|
||||
XrmDatabase* /* database */,
|
||||
_Xconst char* /* specifier */,
|
||||
_Xconst char* /* type */,
|
||||
XrmValue* /* value */
|
||||
);
|
||||
|
||||
extern void XrmQPutStringResource(
|
||||
XrmDatabase* /* database */,
|
||||
XrmBindingList /* bindings */,
|
||||
XrmQuarkList /* quarks */,
|
||||
_Xconst char* /* value */
|
||||
);
|
||||
|
||||
extern void XrmPutStringResource(
|
||||
XrmDatabase* /* database */,
|
||||
_Xconst char* /* specifier */,
|
||||
_Xconst char* /* value */
|
||||
);
|
||||
|
||||
extern void XrmPutLineResource(
|
||||
XrmDatabase* /* database */,
|
||||
_Xconst char* /* line */
|
||||
);
|
||||
|
||||
extern Bool XrmQGetResource(
|
||||
XrmDatabase /* database */,
|
||||
XrmNameList /* quark_name */,
|
||||
XrmClassList /* quark_class */,
|
||||
XrmRepresentation* /* quark_type_return */,
|
||||
XrmValue* /* value_return */
|
||||
);
|
||||
|
||||
extern Bool XrmGetResource(
|
||||
XrmDatabase /* database */,
|
||||
_Xconst char* /* str_name */,
|
||||
_Xconst char* /* str_class */,
|
||||
char** /* str_type_return */,
|
||||
XrmValue* /* value_return */
|
||||
);
|
||||
|
||||
extern Bool XrmQGetSearchList(
|
||||
XrmDatabase /* database */,
|
||||
XrmNameList /* names */,
|
||||
XrmClassList /* classes */,
|
||||
XrmSearchList /* list_return */,
|
||||
int /* list_length */
|
||||
);
|
||||
|
||||
extern Bool XrmQGetSearchResource(
|
||||
XrmSearchList /* list */,
|
||||
XrmName /* name */,
|
||||
XrmClass /* class */,
|
||||
XrmRepresentation* /* type_return */,
|
||||
XrmValue* /* value_return */
|
||||
);
|
||||
|
||||
/****************************************************************
|
||||
*
|
||||
* Resource Database Management
|
||||
*
|
||||
****************************************************************/
|
||||
|
||||
#ifndef _XP_PRINT_SERVER_
|
||||
|
||||
extern void XrmSetDatabase(
|
||||
Display* /* display */,
|
||||
XrmDatabase /* database */
|
||||
);
|
||||
|
||||
extern XrmDatabase XrmGetDatabase(
|
||||
Display* /* display */
|
||||
);
|
||||
|
||||
#endif /* !_XP_PRINT_SERVER_ */
|
||||
|
||||
extern XrmDatabase XrmGetFileDatabase(
|
||||
_Xconst char* /* filename */
|
||||
);
|
||||
|
||||
extern Status XrmCombineFileDatabase(
|
||||
_Xconst char* /* filename */,
|
||||
XrmDatabase* /* target */,
|
||||
Bool /* override */
|
||||
);
|
||||
|
||||
extern XrmDatabase XrmGetStringDatabase(
|
||||
_Xconst char* /* data */ /* null terminated string */
|
||||
);
|
||||
|
||||
extern void XrmPutFileDatabase(
|
||||
XrmDatabase /* database */,
|
||||
_Xconst char* /* filename */
|
||||
);
|
||||
|
||||
extern void XrmMergeDatabases(
|
||||
XrmDatabase /* source_db */,
|
||||
XrmDatabase* /* target_db */
|
||||
);
|
||||
|
||||
extern void XrmCombineDatabase(
|
||||
XrmDatabase /* source_db */,
|
||||
XrmDatabase* /* target_db */,
|
||||
Bool /* override */
|
||||
);
|
||||
|
||||
#define XrmEnumAllLevels 0
|
||||
#define XrmEnumOneLevel 1
|
||||
|
||||
extern Bool XrmEnumerateDatabase(
|
||||
XrmDatabase /* db */,
|
||||
XrmNameList /* name_prefix */,
|
||||
XrmClassList /* class_prefix */,
|
||||
int /* mode */,
|
||||
Bool (*)(
|
||||
XrmDatabase* /* db */,
|
||||
XrmBindingList /* bindings */,
|
||||
XrmQuarkList /* quarks */,
|
||||
XrmRepresentation* /* type */,
|
||||
XrmValue* /* value */,
|
||||
XPointer /* closure */
|
||||
) /* proc */,
|
||||
XPointer /* closure */
|
||||
);
|
||||
|
||||
extern const char *XrmLocaleOfDatabase(
|
||||
XrmDatabase /* database */
|
||||
);
|
||||
|
||||
|
||||
/****************************************************************
|
||||
*
|
||||
* Command line option mapping to resource entries
|
||||
*
|
||||
****************************************************************/
|
||||
|
||||
typedef enum {
|
||||
XrmoptionNoArg, /* Value is specified in OptionDescRec.value */
|
||||
XrmoptionIsArg, /* Value is the option string itself */
|
||||
XrmoptionStickyArg, /* Value is characters immediately following option */
|
||||
XrmoptionSepArg, /* Value is next argument in argv */
|
||||
XrmoptionResArg, /* Resource and value in next argument in argv */
|
||||
XrmoptionSkipArg, /* Ignore this option and the next argument in argv */
|
||||
XrmoptionSkipLine, /* Ignore this option and the rest of argv */
|
||||
XrmoptionSkipNArgs /* Ignore this option and the next
|
||||
OptionDescRes.value arguments in argv */
|
||||
} XrmOptionKind;
|
||||
|
||||
typedef struct {
|
||||
char *option; /* Option abbreviation in argv */
|
||||
char *specifier; /* Resource specifier */
|
||||
XrmOptionKind argKind; /* Which style of option it is */
|
||||
XPointer value; /* Value to provide if XrmoptionNoArg */
|
||||
} XrmOptionDescRec, *XrmOptionDescList;
|
||||
|
||||
|
||||
extern void XrmParseCommand(
|
||||
XrmDatabase* /* database */,
|
||||
XrmOptionDescList /* table */,
|
||||
int /* table_count */,
|
||||
_Xconst char* /* name */,
|
||||
int* /* argc_in_out */,
|
||||
char** /* argv_in_out */
|
||||
);
|
||||
|
||||
_XFUNCPROTOEND
|
||||
|
||||
#endif /* _X11_XRESOURCE_H_ */
|
||||
/* DON'T ADD STUFF AFTER THIS #endif */
|
314
includes/X11/Xthreads.h
Normal file
314
includes/X11/Xthreads.h
Normal file
|
@ -0,0 +1,314 @@
|
|||
/*
|
||||
*
|
||||
Copyright 1993, 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.
|
||||
* *
|
||||
*/
|
||||
|
||||
#ifndef _XTHREADS_H_
|
||||
# define _XTHREADS_H_
|
||||
|
||||
/* Redefine these to XtMalloc/XtFree or whatever you want before including
|
||||
* this header file.
|
||||
*/
|
||||
# ifndef xmalloc
|
||||
# define xmalloc malloc
|
||||
# endif
|
||||
# ifndef xfree
|
||||
# define xfree free
|
||||
# endif
|
||||
|
||||
# ifdef CTHREADS
|
||||
# include <cthreads.h>
|
||||
typedef cthread_t xthread_t;
|
||||
typedef struct condition xcondition_rec;
|
||||
typedef struct mutex xmutex_rec;
|
||||
# define xthread_init() cthread_init()
|
||||
# define xthread_self cthread_self
|
||||
# define xthread_fork(func,closure) cthread_fork(func,closure)
|
||||
# define xthread_yield() cthread_yield()
|
||||
# define xthread_exit(v) cthread_exit(v)
|
||||
# define xthread_set_name(t,str) cthread_set_name(t,str)
|
||||
# define xmutex_init(m) mutex_init(m)
|
||||
# define xmutex_clear(m) mutex_clear(m)
|
||||
# define xmutex_lock(m) mutex_lock(m)
|
||||
# define xmutex_unlock(m) mutex_unlock(m)
|
||||
# define xmutex_set_name(m,str) mutex_set_name(m,str)
|
||||
# define xcondition_init(cv) condition_init(cv)
|
||||
# define xcondition_clear(cv) condition_clear(cv)
|
||||
# define xcondition_wait(cv,m) condition_wait(cv,m)
|
||||
# define xcondition_signal(cv) condition_signal(cv)
|
||||
# define xcondition_broadcast(cv) condition_broadcast(cv)
|
||||
# define xcondition_set_name(cv,str) condition_set_name(cv,str)
|
||||
# else /* !CTHREADS */
|
||||
# if defined(SVR4)
|
||||
# include <thread.h>
|
||||
# include <synch.h>
|
||||
typedef thread_t xthread_t;
|
||||
typedef thread_key_t xthread_key_t;
|
||||
typedef cond_t xcondition_rec;
|
||||
typedef mutex_t xmutex_rec;
|
||||
# if defined(__UNIXWARE__)
|
||||
extern xthread_t (*_x11_thr_self)();
|
||||
# define xthread_self (_x11_thr_self)
|
||||
# else
|
||||
# define xthread_self thr_self
|
||||
# endif
|
||||
# define xthread_fork(func,closure) thr_create(NULL,0,func,closure,THR_NEW_LWP|THR_DETACHED,NULL)
|
||||
# define xthread_yield() thr_yield()
|
||||
# define xthread_exit(v) thr_exit(v)
|
||||
# define xthread_key_create(kp,d) thr_keycreate(kp,d)
|
||||
# ifdef __sun
|
||||
# define xthread_key_delete(k) 0
|
||||
# else
|
||||
# define xthread_key_delete(k) thr_keydelete(k)
|
||||
# endif
|
||||
# define xthread_set_specific(k,v) thr_setspecific(k,v)
|
||||
# define xthread_get_specific(k,vp) thr_getspecific(k,vp)
|
||||
# define xmutex_init(m) mutex_init(m,USYNC_THREAD,0)
|
||||
# define xmutex_clear(m) mutex_destroy(m)
|
||||
# define xmutex_lock(m) mutex_lock(m)
|
||||
# define xmutex_unlock(m) mutex_unlock(m)
|
||||
# define xcondition_init(cv) cond_init(cv,USYNC_THREAD,0)
|
||||
# define xcondition_clear(cv) cond_destroy(cv)
|
||||
# define xcondition_wait(cv,m) cond_wait(cv,m)
|
||||
# define xcondition_signal(cv) cond_signal(cv)
|
||||
# define xcondition_broadcast(cv) cond_broadcast(cv)
|
||||
# else /* !SVR4 */
|
||||
# ifdef WIN32
|
||||
# include "Xwindows.h"
|
||||
typedef DWORD xthread_t;
|
||||
typedef DWORD xthread_key_t;
|
||||
struct _xthread_waiter {
|
||||
HANDLE sem;
|
||||
struct _xthread_waiter *next;
|
||||
};
|
||||
typedef struct {
|
||||
CRITICAL_SECTION cs;
|
||||
struct _xthread_waiter *waiters;
|
||||
} xcondition_rec;
|
||||
typedef CRITICAL_SECTION xmutex_rec;
|
||||
extern void _Xthread_init(void);
|
||||
# define xthread_init() _Xthread_init()
|
||||
# define xthread_self GetCurrentThreadId
|
||||
# define xthread_fork(func,closure) { \
|
||||
DWORD _tmptid; \
|
||||
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)func, (LPVOID)closure, 0, \
|
||||
&_tmptid); \
|
||||
}
|
||||
# define xthread_yield() Sleep(0)
|
||||
# define xthread_exit(v) ExitThread((DWORD)(v))
|
||||
# define xthread_key_create(kp,d) *(kp) = TlsAlloc()
|
||||
# define xthread_key_delete(k) TlsFree(k)
|
||||
# define xthread_set_specific(k,v) TlsSetValue(k,v)
|
||||
# define xthread_get_specific(k,vp) TlsGetValue(k)
|
||||
# define xmutex_init(m) InitializeCriticalSection(m)
|
||||
# define xmutex_clear(m) DeleteCriticalSection(m)
|
||||
# define _XMUTEX_NESTS
|
||||
# define xmutex_lock(m) EnterCriticalSection(m)
|
||||
# define xmutex_unlock(m) LeaveCriticalSection(m)
|
||||
# define xcondition_init(cv) { \
|
||||
InitializeCriticalSection(&(cv)->cs); \
|
||||
(cv)->waiters = NULL; \
|
||||
}
|
||||
# define xcondition_clear(cv) DeleteCriticalSection(&(cv)->cs)
|
||||
extern struct _xthread_waiter *_Xthread_waiter();
|
||||
# define xcondition_wait(cv,m) { \
|
||||
struct _xthread_waiter *_tmpthr = _Xthread_waiter(); \
|
||||
EnterCriticalSection(&(cv)->cs); \
|
||||
_tmpthr->next = (cv)->waiters; \
|
||||
(cv)->waiters = _tmpthr; \
|
||||
LeaveCriticalSection(&(cv)->cs); \
|
||||
LeaveCriticalSection(m); \
|
||||
WaitForSingleObject(_tmpthr->sem, INFINITE); \
|
||||
EnterCriticalSection(m); \
|
||||
}
|
||||
# define xcondition_signal(cv) { \
|
||||
EnterCriticalSection(&(cv)->cs); \
|
||||
if ((cv)->waiters) { \
|
||||
ReleaseSemaphore((cv)->waiters->sem, 1, NULL); \
|
||||
(cv)->waiters = (cv)->waiters->next; \
|
||||
} \
|
||||
LeaveCriticalSection(&(cv)->cs); \
|
||||
}
|
||||
# define xcondition_broadcast(cv) { \
|
||||
struct _xthread_waiter *_tmpthr; \
|
||||
EnterCriticalSection(&(cv)->cs); \
|
||||
for (_tmpthr = (cv)->waiters; _tmpthr; _tmpthr = _tmpthr->next) \
|
||||
ReleaseSemaphore(_tmpthr->sem, 1, NULL); \
|
||||
(cv)->waiters = NULL; \
|
||||
LeaveCriticalSection(&(cv)->cs); \
|
||||
}
|
||||
# else /* !WIN32 */
|
||||
# ifdef USE_TIS_SUPPORT
|
||||
/*
|
||||
* TIS support is intended for thread safe libraries.
|
||||
* This should not be used for general client programming.
|
||||
*/
|
||||
# include <tis.h>
|
||||
typedef pthread_t xthread_t;
|
||||
typedef pthread_key_t xthread_key_t;
|
||||
typedef pthread_cond_t xcondition_rec;
|
||||
typedef pthread_mutex_t xmutex_rec;
|
||||
# define xthread_self tis_self
|
||||
# define xthread_fork(func,closure) { pthread_t _tmpxthr; \
|
||||
pthread_create(&_tmpxthr,NULL,func,closure); }
|
||||
# define xthread_yield() pthread_yield_np()
|
||||
# define xthread_exit(v) pthread_exit(v)
|
||||
# define xthread_key_create(kp,d) tis_key_create(kp,d)
|
||||
# define xthread_key_delete(k) tis_key_delete(k)
|
||||
# define xthread_set_specific(k,v) tis_setspecific(k,v)
|
||||
# define xthread_get_specific(k,vp) *(vp) = tis_getspecific(k)
|
||||
# define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
|
||||
# define xmutex_init(m) tis_mutex_init(m)
|
||||
# define xmutex_clear(m) tis_mutex_destroy(m)
|
||||
# define xmutex_lock(m) tis_mutex_lock(m)
|
||||
# define xmutex_unlock(m) tis_mutex_unlock(m)
|
||||
# define xcondition_init(c) tis_cond_init(c)
|
||||
# define xcondition_clear(c) tis_cond_destroy(c)
|
||||
# define xcondition_wait(c,m) tis_cond_wait(c,m)
|
||||
# define xcondition_signal(c) tis_cond_signal(c)
|
||||
# define xcondition_broadcast(c) tis_cond_broadcast(c)
|
||||
# else
|
||||
# ifdef USE_NBSD_THREADLIB
|
||||
/*
|
||||
* NetBSD threadlib support is intended for thread safe libraries.
|
||||
* This should not be used for general client programming.
|
||||
*/
|
||||
# include <threadlib.h>
|
||||
typedef thr_t xthread_t;
|
||||
typedef thread_key_t xthread_key_t;
|
||||
typedef cond_t xcondition_rec;
|
||||
typedef mutex_t xmutex_rec;
|
||||
# define xthread_self thr_self
|
||||
# define xthread_fork(func,closure) { thr_t _tmpxthr; \
|
||||
/* XXX Create it detached? --thorpej */ \
|
||||
thr_create(&_tmpxthr,NULL,func,closure); }
|
||||
# define xthread_yield() thr_yield()
|
||||
# define xthread_exit(v) thr_exit(v)
|
||||
# define xthread_key_create(kp,d) thr_keycreate(kp,d)
|
||||
# define xthread_key_delete(k) thr_keydelete(k)
|
||||
# define xthread_set_specific(k,v) thr_setspecific(k,v)
|
||||
# define xthread_get_specific(k,vp) *(vp) = thr_getspecific(k)
|
||||
# define XMUTEX_INITIALIZER MUTEX_INITIALIZER
|
||||
# define xmutex_init(m) mutex_init(m, 0)
|
||||
# define xmutex_clear(m) mutex_destroy(m)
|
||||
# define xmutex_lock(m) mutex_lock(m)
|
||||
# define xmutex_unlock(m) mutex_unlock(m)
|
||||
# define xcondition_init(c) cond_init(c, 0, 0)
|
||||
# define xcondition_clear(c) cond_destroy(c)
|
||||
# define xcondition_wait(c,m) cond_wait(c,m)
|
||||
# define xcondition_signal(c) cond_signal(c)
|
||||
# define xcondition_broadcast(c) cond_broadcast(c)
|
||||
# else
|
||||
# include <pthread.h>
|
||||
typedef pthread_t xthread_t;
|
||||
typedef pthread_key_t xthread_key_t;
|
||||
typedef pthread_cond_t xcondition_rec;
|
||||
typedef pthread_mutex_t xmutex_rec;
|
||||
# define xthread_self pthread_self
|
||||
# define xthread_yield() pthread_yield()
|
||||
# define xthread_exit(v) pthread_exit(v)
|
||||
# define xthread_set_specific(k,v) pthread_setspecific(k,v)
|
||||
# define xmutex_clear(m) pthread_mutex_destroy(m)
|
||||
# define xmutex_lock(m) pthread_mutex_lock(m)
|
||||
# define xmutex_unlock(m) pthread_mutex_unlock(m)
|
||||
# ifndef XPRE_STANDARD_API
|
||||
# define xthread_key_create(kp,d) pthread_key_create(kp,d)
|
||||
# define xthread_key_delete(k) pthread_key_delete(k)
|
||||
# define xthread_get_specific(k,vp) *(vp) = pthread_getspecific(k)
|
||||
# define xthread_fork(func,closure) { pthread_t _tmpxthr; \
|
||||
pthread_create(&_tmpxthr,NULL,func,closure); }
|
||||
# define XMUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
|
||||
# define xmutex_init(m) pthread_mutex_init(m, NULL)
|
||||
# define xcondition_init(c) pthread_cond_init(c, NULL)
|
||||
# else /* XPRE_STANDARD_API */
|
||||
# define xthread_key_create(kp,d) pthread_keycreate(kp,d)
|
||||
# define xthread_key_delete(k) 0
|
||||
# define xthread_get_specific(k,vp) pthread_getspecific(k,vp)
|
||||
# define xthread_fork(func,closure) { pthread_t _tmpxthr; \
|
||||
pthread_create(&_tmpxthr,pthread_attr_default,func,closure); }
|
||||
# define xmutex_init(m) pthread_mutex_init(m, pthread_mutexattr_default)
|
||||
# define xcondition_init(c) pthread_cond_init(c, pthread_condattr_default)
|
||||
# endif /* XPRE_STANDARD_API */
|
||||
# define xcondition_clear(c) pthread_cond_destroy(c)
|
||||
# define xcondition_wait(c,m) pthread_cond_wait(c,m)
|
||||
# define xcondition_signal(c) pthread_cond_signal(c)
|
||||
# define xcondition_broadcast(c) pthread_cond_broadcast(c)
|
||||
# if defined(_DECTHREADS_)
|
||||
static xthread_t _X_no_thread_id;
|
||||
# define xthread_have_id(id) !pthread_equal(id, _X_no_thread_id)
|
||||
# define xthread_clear_id(id) id = _X_no_thread_id
|
||||
# define xthread_equal(id1,id2) pthread_equal(id1, id2)
|
||||
# endif /* _DECTHREADS_ */
|
||||
# if defined(__linux__)
|
||||
# define xthread_have_id(id) !pthread_equal(id, 0)
|
||||
# define xthread_clear_id(id) id = 0
|
||||
# define xthread_equal(id1,id2) pthread_equal(id1, id2)
|
||||
# endif /* linux */
|
||||
# if defined(_CMA_VENDOR_) && defined(_CMA__IBM) && (_CMA_VENDOR_ == _CMA__IBM)
|
||||
# ifdef DEBUG /* too much of a hack to enable normally */
|
||||
/* see also cma__obj_set_name() */
|
||||
# define xmutex_set_name(m,str) ((char**)(m)->field1)[5] = (str)
|
||||
# define xcondition_set_name(cv,str) ((char**)(cv)->field1)[5] = (str)
|
||||
# endif /* DEBUG */
|
||||
# endif /* _CMA_VENDOR_ == _CMA__IBM */
|
||||
# endif /* USE_NBSD_THREADLIB */
|
||||
# endif /* USE_TIS_SUPPORT */
|
||||
# endif /* WIN32 */
|
||||
# endif /* SVR4 */
|
||||
# endif /* CTHREADS */
|
||||
typedef xcondition_rec *xcondition_t;
|
||||
typedef xmutex_rec *xmutex_t;
|
||||
# ifndef xcondition_malloc
|
||||
# define xcondition_malloc() (xcondition_t)xmalloc(sizeof(xcondition_rec))
|
||||
# endif
|
||||
# ifndef xcondition_free
|
||||
# define xcondition_free(c) xfree((char *)c)
|
||||
# endif
|
||||
# ifndef xmutex_malloc
|
||||
# define xmutex_malloc() (xmutex_t)xmalloc(sizeof(xmutex_rec))
|
||||
# endif
|
||||
# ifndef xmutex_free
|
||||
# define xmutex_free(m) xfree((char *)m)
|
||||
# endif
|
||||
# ifndef xthread_have_id
|
||||
# define xthread_have_id(id) id
|
||||
# endif
|
||||
# ifndef xthread_clear_id
|
||||
# define xthread_clear_id(id) id = 0
|
||||
# endif
|
||||
# ifndef xthread_equal
|
||||
# define xthread_equal(id1,id2) ((id1) == (id2))
|
||||
# endif
|
||||
/* aids understood by some debuggers */
|
||||
# ifndef xthread_set_name
|
||||
# define xthread_set_name(t,str)
|
||||
# endif
|
||||
# ifndef xmutex_set_name
|
||||
# define xmutex_set_name(m,str)
|
||||
# endif
|
||||
# ifndef xcondition_set_name
|
||||
# define xcondition_set_name(cv,str)
|
||||
# endif
|
||||
|
||||
#endif /* _XTHREADS_H_ */
|
838
includes/X11/Xutil.h
Normal file
838
includes/X11/Xutil.h
Normal file
|
@ -0,0 +1,838 @@
|
|||
|
||||
/***********************************************************
|
||||
|
||||
Copyright 1987, 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.
|
||||
|
||||
|
||||
Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
|
||||
|
||||
All Rights Reserved
|
||||
|
||||
Permission to use, copy, modify, and distribute this software and its
|
||||
documentation for any purpose and without fee is hereby granted,
|
||||
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 Digital not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission.
|
||||
|
||||
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
|
||||
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
DIGITAL 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 _X11_XUTIL_H_
|
||||
#define _X11_XUTIL_H_
|
||||
|
||||
/* You must include "Xlib.h> before including this file *"
|
||||
#include "Xlib.h"
|
||||
#include "keysym.h"
|
||||
|
||||
/* The Xlib structs are full of implicit padding to properly align members.
|
||||
We can't clean that up without breaking ABI, so tell clang not to bother
|
||||
complaining about it. */
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wpadded"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Bitmask returned by XParseGeometry(). Each bit tells if the corresponding
|
||||
* value (x, y, width, height) was found in the parsed string.
|
||||
*/
|
||||
#define NoValue 0x0000
|
||||
#define XValue 0x0001
|
||||
#define YValue 0x0002
|
||||
#define WidthValue 0x0004
|
||||
#define HeightValue 0x0008
|
||||
#define AllValues 0x000F
|
||||
#define XNegative 0x0010
|
||||
#define YNegative 0x0020
|
||||
|
||||
/*
|
||||
* new version containing base_width, base_height, and win_gravity fields;
|
||||
* used with WM_NORMAL_HINTS.
|
||||
*/
|
||||
typedef struct {
|
||||
long flags; /* marks which fields in this structure are defined */
|
||||
int x, y; /* obsolete for new window mgrs, but clients */
|
||||
int width, height; /* should set so old wm's don't mess up */
|
||||
int min_width, min_height;
|
||||
int max_width, max_height;
|
||||
int width_inc, height_inc;
|
||||
struct {
|
||||
int x; /* numerator */
|
||||
int y; /* denominator */
|
||||
} min_aspect, max_aspect;
|
||||
int base_width, base_height; /* added by ICCCM version 1 */
|
||||
int win_gravity; /* added by ICCCM version 1 */
|
||||
} XSizeHints;
|
||||
|
||||
/*
|
||||
* The next block of definitions are for window manager properties that
|
||||
* clients and applications use for communication.
|
||||
*/
|
||||
|
||||
/* flags argument in size hints */
|
||||
#define USPosition (1L << 0) /* user specified x, y */
|
||||
#define USSize (1L << 1) /* user specified width, height */
|
||||
|
||||
#define PPosition (1L << 2) /* program specified position */
|
||||
#define PSize (1L << 3) /* program specified size */
|
||||
#define PMinSize (1L << 4) /* program specified minimum size */
|
||||
#define PMaxSize (1L << 5) /* program specified maximum size */
|
||||
#define PResizeInc (1L << 6) /* program specified resize increments */
|
||||
#define PAspect (1L << 7) /* program specified min and max aspect ratios */
|
||||
#define PBaseSize (1L << 8) /* program specified base for incrementing */
|
||||
#define PWinGravity (1L << 9) /* program specified window gravity */
|
||||
|
||||
/* obsolete */
|
||||
#define PAllHints (PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
|
||||
|
||||
|
||||
|
||||
typedef struct {
|
||||
long flags; /* marks which fields in this structure are defined */
|
||||
Bool input; /* does this application rely on the window manager to
|
||||
get keyboard input? */
|
||||
int initial_state; /* see below */
|
||||
Pixmap icon_pixmap; /* pixmap to be used as icon */
|
||||
Window icon_window; /* window to be used as icon */
|
||||
int icon_x, icon_y; /* initial position of icon */
|
||||
Pixmap icon_mask; /* icon mask bitmap */
|
||||
XID window_group; /* id of related window group */
|
||||
/* this structure may be extended in the future */
|
||||
} XWMHints;
|
||||
|
||||
/* definition for flags of XWMHints */
|
||||
|
||||
#define InputHint (1L << 0)
|
||||
#define StateHint (1L << 1)
|
||||
#define IconPixmapHint (1L << 2)
|
||||
#define IconWindowHint (1L << 3)
|
||||
#define IconPositionHint (1L << 4)
|
||||
#define IconMaskHint (1L << 5)
|
||||
#define WindowGroupHint (1L << 6)
|
||||
#define AllHints (InputHint|StateHint|IconPixmapHint|IconWindowHint| \
|
||||
IconPositionHint|IconMaskHint|WindowGroupHint)
|
||||
#define XUrgencyHint (1L << 8)
|
||||
|
||||
/* definitions for initial window state */
|
||||
#define WithdrawnState 0 /* for windows that are not mapped */
|
||||
#define NormalState 1 /* most applications want to start this way */
|
||||
#define IconicState 3 /* application wants to start as an icon */
|
||||
|
||||
/*
|
||||
* Obsolete states no longer defined by ICCCM
|
||||
*/
|
||||
#define DontCareState 0 /* don't know or care */
|
||||
#define ZoomState 2 /* application wants to start zoomed */
|
||||
#define InactiveState 4 /* application believes it is seldom used; */
|
||||
/* some wm's may put it on inactive menu */
|
||||
|
||||
|
||||
/*
|
||||
* new structure for manipulating TEXT properties; used with WM_NAME,
|
||||
* WM_ICON_NAME, WM_CLIENT_MACHINE, and WM_COMMAND.
|
||||
*/
|
||||
typedef struct {
|
||||
unsigned char *value; /* same as Property routines */
|
||||
Atom encoding; /* prop type */
|
||||
int format; /* prop data format: 8, 16, or 32 */
|
||||
unsigned long nitems; /* number of data items in value */
|
||||
} XTextProperty;
|
||||
|
||||
#define XNoMemory -1
|
||||
#define XLocaleNotSupported -2
|
||||
#define XConverterNotFound -3
|
||||
|
||||
typedef enum {
|
||||
XStringStyle, /* STRING */
|
||||
XCompoundTextStyle, /* COMPOUND_TEXT */
|
||||
XTextStyle, /* text in owner's encoding (current locale)*/
|
||||
XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */
|
||||
/* The following is an XFree86 extension, introduced in November 2000 */
|
||||
XUTF8StringStyle /* UTF8_STRING */
|
||||
} XICCEncodingStyle;
|
||||
|
||||
typedef struct {
|
||||
int min_width, min_height;
|
||||
int max_width, max_height;
|
||||
int width_inc, height_inc;
|
||||
} XIconSize;
|
||||
|
||||
typedef struct {
|
||||
char *res_name;
|
||||
char *res_class;
|
||||
} XClassHint;
|
||||
|
||||
#ifdef XUTIL_DEFINE_FUNCTIONS
|
||||
extern int XDestroyImage(
|
||||
XImage *ximage);
|
||||
extern unsigned long XGetPixel(
|
||||
XImage *ximage,
|
||||
int x, int y);
|
||||
extern int XPutPixel(
|
||||
XImage *ximage,
|
||||
int x, int y,
|
||||
unsigned long pixel);
|
||||
extern XImage *XSubImage(
|
||||
XImage *ximage,
|
||||
int x, int y,
|
||||
unsigned int width, unsigned int height);
|
||||
extern int XAddPixel(
|
||||
XImage *ximage,
|
||||
long value);
|
||||
#else
|
||||
/*
|
||||
* These macros are used to give some sugar to the image routines so that
|
||||
* naive people are more comfortable with them.
|
||||
*/
|
||||
#define XDestroyImage(ximage) \
|
||||
((*((ximage)->f.destroy_image))((ximage)))
|
||||
#define XGetPixel(ximage, x, y) \
|
||||
((*((ximage)->f.get_pixel))((ximage), (x), (y)))
|
||||
#define XPutPixel(ximage, x, y, pixel) \
|
||||
((*((ximage)->f.put_pixel))((ximage), (x), (y), (pixel)))
|
||||
#define XSubImage(ximage, x, y, width, height) \
|
||||
((*((ximage)->f.sub_image))((ximage), (x), (y), (width), (height)))
|
||||
#define XAddPixel(ximage, value) \
|
||||
((*((ximage)->f.add_pixel))((ximage), (value)))
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Compose sequence status structure, used in calling XLookupString.
|
||||
*/
|
||||
typedef struct _XComposeStatus {
|
||||
XPointer compose_ptr; /* state table pointer */
|
||||
int chars_matched; /* match state */
|
||||
} XComposeStatus;
|
||||
|
||||
/*
|
||||
* Keysym macros, used on Keysyms to test for classes of symbols
|
||||
*/
|
||||
#define IsKeypadKey(keysym) \
|
||||
(((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
|
||||
|
||||
#define IsPrivateKeypadKey(keysym) \
|
||||
(((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
|
||||
|
||||
#define IsCursorKey(keysym) \
|
||||
(((KeySym)(keysym) >= XK_Home) && ((KeySym)(keysym) < XK_Select))
|
||||
|
||||
#define IsPFKey(keysym) \
|
||||
(((KeySym)(keysym) >= XK_KP_F1) && ((KeySym)(keysym) <= XK_KP_F4))
|
||||
|
||||
#define IsFunctionKey(keysym) \
|
||||
(((KeySym)(keysym) >= XK_F1) && ((KeySym)(keysym) <= XK_F35))
|
||||
|
||||
#define IsMiscFunctionKey(keysym) \
|
||||
(((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
|
||||
|
||||
#ifdef XK_XKB_KEYS
|
||||
#define IsModifierKey(keysym) \
|
||||
((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
|
||||
|| (((KeySym)(keysym) >= XK_ISO_Lock) && \
|
||||
((KeySym)(keysym) <= XK_ISO_Level5_Lock)) \
|
||||
|| ((KeySym)(keysym) == XK_Mode_switch) \
|
||||
|| ((KeySym)(keysym) == XK_Num_Lock))
|
||||
#else
|
||||
#define IsModifierKey(keysym) \
|
||||
((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) \
|
||||
|| ((KeySym)(keysym) == XK_Mode_switch) \
|
||||
|| ((KeySym)(keysym) == XK_Num_Lock))
|
||||
#endif
|
||||
/*
|
||||
* opaque reference to Region data type
|
||||
*/
|
||||
typedef struct _XRegion *Region;
|
||||
|
||||
/* Return values from XRectInRegion() */
|
||||
|
||||
#define RectangleOut 0
|
||||
#define RectangleIn 1
|
||||
#define RectanglePart 2
|
||||
|
||||
|
||||
/*
|
||||
* Information used by the visual utility routines to find desired visual
|
||||
* type from the many visuals a display may support.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
Visual *visual;
|
||||
VisualID visualid;
|
||||
int screen;
|
||||
int depth;
|
||||
#if defined(__cplusplus) || defined(c_plusplus)
|
||||
int c_class; /* C++ */
|
||||
#else
|
||||
int class;
|
||||
#endif
|
||||
unsigned long red_mask;
|
||||
unsigned long green_mask;
|
||||
unsigned long blue_mask;
|
||||
int colormap_size;
|
||||
int bits_per_rgb;
|
||||
} XVisualInfo;
|
||||
|
||||
#define VisualNoMask 0x0
|
||||
#define VisualIDMask 0x1
|
||||
#define VisualScreenMask 0x2
|
||||
#define VisualDepthMask 0x4
|
||||
#define VisualClassMask 0x8
|
||||
#define VisualRedMaskMask 0x10
|
||||
#define VisualGreenMaskMask 0x20
|
||||
#define VisualBlueMaskMask 0x40
|
||||
#define VisualColormapSizeMask 0x80
|
||||
#define VisualBitsPerRGBMask 0x100
|
||||
#define VisualAllMask 0x1FF
|
||||
|
||||
/*
|
||||
* This defines a window manager property that clients may use to
|
||||
* share standard color maps of type RGB_COLOR_MAP:
|
||||
*/
|
||||
typedef struct {
|
||||
Colormap colormap;
|
||||
unsigned long red_max;
|
||||
unsigned long red_mult;
|
||||
unsigned long green_max;
|
||||
unsigned long green_mult;
|
||||
unsigned long blue_max;
|
||||
unsigned long blue_mult;
|
||||
unsigned long base_pixel;
|
||||
VisualID visualid; /* added by ICCCM version 1 */
|
||||
XID killid; /* added by ICCCM version 1 */
|
||||
} XStandardColormap;
|
||||
|
||||
#define ReleaseByFreeingColormap ((XID) 1L) /* for killid field above */
|
||||
|
||||
|
||||
/*
|
||||
* return codes for XReadBitmapFile and XWriteBitmapFile
|
||||
*/
|
||||
#define BitmapSuccess 0
|
||||
#define BitmapOpenFailed 1
|
||||
#define BitmapFileInvalid 2
|
||||
#define BitmapNoMemory 3
|
||||
|
||||
/****************************************************************
|
||||
*
|
||||
* Context Management
|
||||
*
|
||||
****************************************************************/
|
||||
|
||||
|
||||
/* Associative lookup table return codes */
|
||||
|
||||
#define XCSUCCESS 0 /* No error. */
|
||||
#define XCNOMEM 1 /* Out of memory */
|
||||
#define XCNOENT 2 /* No entry in table */
|
||||
|
||||
typedef int XContext;
|
||||
|
||||
#define XUniqueContext() ((XContext) XrmUniqueQuark())
|
||||
#define XStringToContext(string) ((XContext) XrmStringToQuark(string))
|
||||
|
||||
_XFUNCPROTOBEGIN
|
||||
|
||||
/* The following declarations are alphabetized. */
|
||||
|
||||
extern XClassHint *XAllocClassHint (
|
||||
void
|
||||
);
|
||||
|
||||
extern XIconSize *XAllocIconSize (
|
||||
void
|
||||
);
|
||||
|
||||
extern XSizeHints *XAllocSizeHints (
|
||||
void
|
||||
);
|
||||
|
||||
extern XStandardColormap *XAllocStandardColormap (
|
||||
void
|
||||
);
|
||||
|
||||
extern XWMHints *XAllocWMHints (
|
||||
void
|
||||
);
|
||||
|
||||
extern int XClipBox(
|
||||
Region /* r */,
|
||||
XRectangle* /* rect_return */
|
||||
);
|
||||
|
||||
extern Region XCreateRegion(
|
||||
void
|
||||
);
|
||||
|
||||
extern const char *XDefaultString (void);
|
||||
|
||||
extern int XDeleteContext(
|
||||
Display* /* display */,
|
||||
XID /* rid */,
|
||||
XContext /* context */
|
||||
);
|
||||
|
||||
extern int XDestroyRegion(
|
||||
Region /* r */
|
||||
);
|
||||
|
||||
extern int XEmptyRegion(
|
||||
Region /* r */
|
||||
);
|
||||
|
||||
extern int XEqualRegion(
|
||||
Region /* r1 */,
|
||||
Region /* r2 */
|
||||
);
|
||||
|
||||
extern int XFindContext(
|
||||
Display* /* display */,
|
||||
XID /* rid */,
|
||||
XContext /* context */,
|
||||
XPointer* /* data_return */
|
||||
);
|
||||
|
||||
extern Status XGetClassHint(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XClassHint* /* class_hints_return */
|
||||
);
|
||||
|
||||
extern Status XGetIconSizes(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XIconSize** /* size_list_return */,
|
||||
int* /* count_return */
|
||||
);
|
||||
|
||||
extern Status XGetNormalHints(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints_return */
|
||||
);
|
||||
|
||||
extern Status XGetRGBColormaps(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XStandardColormap** /* stdcmap_return */,
|
||||
int* /* count_return */,
|
||||
Atom /* property */
|
||||
);
|
||||
|
||||
extern Status XGetSizeHints(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints_return */,
|
||||
Atom /* property */
|
||||
);
|
||||
|
||||
extern Status XGetStandardColormap(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XStandardColormap* /* colormap_return */,
|
||||
Atom /* property */
|
||||
);
|
||||
|
||||
extern Status XGetTextProperty(
|
||||
Display* /* display */,
|
||||
Window /* window */,
|
||||
XTextProperty* /* text_prop_return */,
|
||||
Atom /* property */
|
||||
);
|
||||
|
||||
extern XVisualInfo *XGetVisualInfo(
|
||||
Display* /* display */,
|
||||
long /* vinfo_mask */,
|
||||
XVisualInfo* /* vinfo_template */,
|
||||
int* /* nitems_return */
|
||||
);
|
||||
|
||||
extern Status XGetWMClientMachine(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop_return */
|
||||
);
|
||||
|
||||
extern XWMHints *XGetWMHints(
|
||||
Display* /* display */,
|
||||
Window /* w */
|
||||
);
|
||||
|
||||
extern Status XGetWMIconName(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop_return */
|
||||
);
|
||||
|
||||
extern Status XGetWMName(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop_return */
|
||||
);
|
||||
|
||||
extern Status XGetWMNormalHints(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints_return */,
|
||||
long* /* supplied_return */
|
||||
);
|
||||
|
||||
extern Status XGetWMSizeHints(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints_return */,
|
||||
long* /* supplied_return */,
|
||||
Atom /* property */
|
||||
);
|
||||
|
||||
extern Status XGetZoomHints(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* zhints_return */
|
||||
);
|
||||
|
||||
extern int XIntersectRegion(
|
||||
Region /* sra */,
|
||||
Region /* srb */,
|
||||
Region /* dr_return */
|
||||
);
|
||||
|
||||
extern void XConvertCase(
|
||||
KeySym /* sym */,
|
||||
KeySym* /* lower */,
|
||||
KeySym* /* upper */
|
||||
);
|
||||
|
||||
extern int XLookupString(
|
||||
XKeyEvent* /* event_struct */,
|
||||
char* /* buffer_return */,
|
||||
int /* bytes_buffer */,
|
||||
KeySym* /* keysym_return */,
|
||||
XComposeStatus* /* status_in_out */
|
||||
);
|
||||
|
||||
extern Status XMatchVisualInfo(
|
||||
Display* /* display */,
|
||||
int /* screen */,
|
||||
int /* depth */,
|
||||
int /* class */,
|
||||
XVisualInfo* /* vinfo_return */
|
||||
);
|
||||
|
||||
extern int XOffsetRegion(
|
||||
Region /* r */,
|
||||
int /* dx */,
|
||||
int /* dy */
|
||||
);
|
||||
|
||||
extern Bool XPointInRegion(
|
||||
Region /* r */,
|
||||
int /* x */,
|
||||
int /* y */
|
||||
);
|
||||
|
||||
extern Region XPolygonRegion(
|
||||
XPoint* /* points */,
|
||||
int /* n */,
|
||||
int /* fill_rule */
|
||||
);
|
||||
|
||||
extern int XRectInRegion(
|
||||
Region /* r */,
|
||||
int /* x */,
|
||||
int /* y */,
|
||||
unsigned int /* width */,
|
||||
unsigned int /* height */
|
||||
);
|
||||
|
||||
extern int XSaveContext(
|
||||
Display* /* display */,
|
||||
XID /* rid */,
|
||||
XContext /* context */,
|
||||
_Xconst char* /* data */
|
||||
);
|
||||
|
||||
extern int XSetClassHint(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XClassHint* /* class_hints */
|
||||
);
|
||||
|
||||
extern int XSetIconSizes(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XIconSize* /* size_list */,
|
||||
int /* count */
|
||||
);
|
||||
|
||||
extern int XSetNormalHints(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints */
|
||||
);
|
||||
|
||||
extern void XSetRGBColormaps(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XStandardColormap* /* stdcmaps */,
|
||||
int /* count */,
|
||||
Atom /* property */
|
||||
);
|
||||
|
||||
extern int XSetSizeHints(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints */,
|
||||
Atom /* property */
|
||||
);
|
||||
|
||||
extern int XSetStandardProperties(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
_Xconst char* /* window_name */,
|
||||
_Xconst char* /* icon_name */,
|
||||
Pixmap /* icon_pixmap */,
|
||||
char** /* argv */,
|
||||
int /* argc */,
|
||||
XSizeHints* /* hints */
|
||||
);
|
||||
|
||||
extern void XSetTextProperty(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop */,
|
||||
Atom /* property */
|
||||
);
|
||||
|
||||
extern void XSetWMClientMachine(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop */
|
||||
);
|
||||
|
||||
extern int XSetWMHints(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XWMHints* /* wm_hints */
|
||||
);
|
||||
|
||||
extern void XSetWMIconName(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop */
|
||||
);
|
||||
|
||||
extern void XSetWMName(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* text_prop */
|
||||
);
|
||||
|
||||
extern void XSetWMNormalHints(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints */
|
||||
);
|
||||
|
||||
extern void XSetWMProperties(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XTextProperty* /* window_name */,
|
||||
XTextProperty* /* icon_name */,
|
||||
char** /* argv */,
|
||||
int /* argc */,
|
||||
XSizeHints* /* normal_hints */,
|
||||
XWMHints* /* wm_hints */,
|
||||
XClassHint* /* class_hints */
|
||||
);
|
||||
|
||||
extern void XmbSetWMProperties(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
_Xconst char* /* window_name */,
|
||||
_Xconst char* /* icon_name */,
|
||||
char** /* argv */,
|
||||
int /* argc */,
|
||||
XSizeHints* /* normal_hints */,
|
||||
XWMHints* /* wm_hints */,
|
||||
XClassHint* /* class_hints */
|
||||
);
|
||||
|
||||
extern void Xutf8SetWMProperties(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
_Xconst char* /* window_name */,
|
||||
_Xconst char* /* icon_name */,
|
||||
char** /* argv */,
|
||||
int /* argc */,
|
||||
XSizeHints* /* normal_hints */,
|
||||
XWMHints* /* wm_hints */,
|
||||
XClassHint* /* class_hints */
|
||||
);
|
||||
|
||||
extern void XSetWMSizeHints(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* hints */,
|
||||
Atom /* property */
|
||||
);
|
||||
|
||||
extern int XSetRegion(
|
||||
Display* /* display */,
|
||||
GC /* gc */,
|
||||
Region /* r */
|
||||
);
|
||||
|
||||
extern void XSetStandardColormap(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XStandardColormap* /* colormap */,
|
||||
Atom /* property */
|
||||
);
|
||||
|
||||
extern int XSetZoomHints(
|
||||
Display* /* display */,
|
||||
Window /* w */,
|
||||
XSizeHints* /* zhints */
|
||||
);
|
||||
|
||||
extern int XShrinkRegion(
|
||||
Region /* r */,
|
||||
int /* dx */,
|
||||
int /* dy */
|
||||
);
|
||||
|
||||
extern Status XStringListToTextProperty(
|
||||
char** /* list */,
|
||||
int /* count */,
|
||||
XTextProperty* /* text_prop_return */
|
||||
);
|
||||
|
||||
extern int XSubtractRegion(
|
||||
Region /* sra */,
|
||||
Region /* srb */,
|
||||
Region /* dr_return */
|
||||
);
|
||||
|
||||
extern int XmbTextListToTextProperty(
|
||||
Display* display,
|
||||
char** list,
|
||||
int count,
|
||||
XICCEncodingStyle style,
|
||||
XTextProperty* text_prop_return
|
||||
);
|
||||
|
||||
extern int XwcTextListToTextProperty(
|
||||
Display* display,
|
||||
wchar_t** list,
|
||||
int count,
|
||||
XICCEncodingStyle style,
|
||||
XTextProperty* text_prop_return
|
||||
);
|
||||
|
||||
extern int Xutf8TextListToTextProperty(
|
||||
Display* display,
|
||||
char** list,
|
||||
int count,
|
||||
XICCEncodingStyle style,
|
||||
XTextProperty* text_prop_return
|
||||
);
|
||||
|
||||
extern void XwcFreeStringList(
|
||||
wchar_t** list
|
||||
);
|
||||
|
||||
extern Status XTextPropertyToStringList(
|
||||
XTextProperty* /* text_prop */,
|
||||
char*** /* list_return */,
|
||||
int* /* count_return */
|
||||
);
|
||||
|
||||
extern int XmbTextPropertyToTextList(
|
||||
Display* display,
|
||||
const XTextProperty* text_prop,
|
||||
char*** list_return,
|
||||
int* count_return
|
||||
);
|
||||
|
||||
extern int XwcTextPropertyToTextList(
|
||||
Display* display,
|
||||
const XTextProperty* text_prop,
|
||||
wchar_t*** list_return,
|
||||
int* count_return
|
||||
);
|
||||
|
||||
extern int Xutf8TextPropertyToTextList(
|
||||
Display* display,
|
||||
const XTextProperty* text_prop,
|
||||
char*** list_return,
|
||||
int* count_return
|
||||
);
|
||||
|
||||
extern int XUnionRectWithRegion(
|
||||
XRectangle* /* rectangle */,
|
||||
Region /* src_region */,
|
||||
Region /* dest_region_return */
|
||||
);
|
||||
|
||||
extern int XUnionRegion(
|
||||
Region /* sra */,
|
||||
Region /* srb */,
|
||||
Region /* dr_return */
|
||||
);
|
||||
|
||||
extern int XWMGeometry(
|
||||
Display* /* display */,
|
||||
int /* screen_number */,
|
||||
_Xconst char* /* user_geometry */,
|
||||
_Xconst char* /* default_geometry */,
|
||||
unsigned int /* border_width */,
|
||||
XSizeHints* /* hints */,
|
||||
int* /* x_return */,
|
||||
int* /* y_return */,
|
||||
int* /* width_return */,
|
||||
int* /* height_return */,
|
||||
int* /* gravity_return */
|
||||
);
|
||||
|
||||
extern int XXorRegion(
|
||||
Region /* sra */,
|
||||
Region /* srb */,
|
||||
Region /* dr_return */
|
||||
);
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic pop
|
||||
#endif
|
||||
|
||||
_XFUNCPROTOEND
|
||||
|
||||
#endif /* _X11_XUTIL_H_ */
|
79
includes/X11/Xw32defs.h
Normal file
79
includes/X11/Xw32defs.h
Normal file
|
@ -0,0 +1,79 @@
|
|||
#ifndef _XW32DEFS_H
|
||||
# define _XW32DEFS_H
|
||||
|
||||
# ifdef __GNUC__ /* mingw is more close to unix than msvc */
|
||||
# if !defined(__daddr_t_defined)
|
||||
typedef char *caddr_t;
|
||||
# endif
|
||||
# define lstat stat
|
||||
|
||||
# else
|
||||
typedef char *caddr_t;
|
||||
|
||||
# define access _access
|
||||
# define alloca _alloca
|
||||
# define chdir _chdir
|
||||
# define chmod _chmod
|
||||
# define close _close
|
||||
# define creat _creat
|
||||
# define dup _dup
|
||||
# define dup2 _dup2
|
||||
# define environ _environ
|
||||
# define execl _execl
|
||||
# define execle _execle
|
||||
# define execlp _execlp
|
||||
# define execlpe _execlpe
|
||||
# define execv _execv
|
||||
# define execve _execve
|
||||
# define execvp _execvp
|
||||
# define execvpe _execvpe
|
||||
# define fdopen _fdopen
|
||||
# define fileno _fileno
|
||||
# define fstat _fstat
|
||||
# define getcwd _getcwd
|
||||
# define getpid _getpid
|
||||
# define hypot _hypot
|
||||
# define isascii __isascii
|
||||
# define isatty _isatty
|
||||
# define lseek _lseek
|
||||
# define mkdir _mkdir
|
||||
# define mktemp _mktemp
|
||||
# define open _open
|
||||
# define putenv _putenv
|
||||
# define read _read
|
||||
# define rmdir _rmdir
|
||||
# define sleep(x) Sleep((x) * 1000)
|
||||
# define stat _stat
|
||||
# define sys_errlist _sys_errlist
|
||||
# define sys_nerr _sys_nerr
|
||||
# define umask _umask
|
||||
# define unlink _unlink
|
||||
# define write _write
|
||||
# define random rand
|
||||
# define srandom srand
|
||||
|
||||
# define O_RDONLY _O_RDONLY
|
||||
# define O_WRONLY _O_WRONLY
|
||||
# define O_RDWR _O_RDWR
|
||||
# define O_APPEND _O_APPEND
|
||||
# define O_CREAT _O_CREAT
|
||||
# define O_TRUNC _O_TRUNC
|
||||
# define O_EXCL _O_EXCL
|
||||
# define O_TEXT _O_TEXT
|
||||
# define O_BINARY _O_BINARY
|
||||
# define O_RAW _O_BINARY
|
||||
|
||||
# define S_IFMT _S_IFMT
|
||||
# define S_IFDIR _S_IFDIR
|
||||
# define S_IFCHR _S_IFCHR
|
||||
# define S_IFREG _S_IFREG
|
||||
# define S_IREAD _S_IREAD
|
||||
# define S_IWRITE _S_IWRITE
|
||||
# define S_IEXEC _S_IEXEC
|
||||
|
||||
# define F_OK 0
|
||||
# define X_OK 1
|
||||
# define W_OK 2
|
||||
# define R_OK 4
|
||||
# endif /* __GNUC__ */
|
||||
#endif
|
114
includes/X11/Xwindows.h
Normal file
114
includes/X11/Xwindows.h
Normal file
|
@ -0,0 +1,114 @@
|
|||
/*
|
||||
|
||||
Copyright 1996, 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 MERCHANTABIL-
|
||||
ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
||||
SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
|
||||
ITY, 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.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
* This header file has the sole purpose of allowing the inclusion of
|
||||
* windows.h without getting any name conflicts with X headers code, by
|
||||
* renaming or disabling the conflicting definitions from windows.h
|
||||
*/
|
||||
|
||||
/*
|
||||
* Mingw.org versions of the Windows API headers actually avoid
|
||||
* making the conflicting definitions if XFree86Server is defined, so we
|
||||
* need to remember if that was defined and undefine it during including
|
||||
* windows.h (so the conflicting definitions get wrapped correctly), and
|
||||
* then redefine it afterwards. (This was never the correct thing to
|
||||
* do as it's no help at all to X11 clients which also need to use the
|
||||
* Win32 API)
|
||||
*/
|
||||
#undef _XFree86Server
|
||||
#ifdef XFree86Server
|
||||
# define _XFree86Server
|
||||
# undef XFree86Server
|
||||
#endif
|
||||
|
||||
/*
|
||||
* There doesn't seem to be a good way to wrap the min/max macros from
|
||||
* windows.h, so we simply avoid defining them completely, allowing any
|
||||
* pre-existing definition to stand.
|
||||
*
|
||||
*/
|
||||
#define NOMINMAX
|
||||
|
||||
/*
|
||||
* mingw-w64 headers define BOOL as a typedef, protecting against macros
|
||||
* mingw.org headers define BOOL in terms of WINBOOL
|
||||
* ... so try to come up with something which works with both :-)
|
||||
*/
|
||||
#define _NO_BOOL_TYPEDEF
|
||||
#define BOOL WINBOOL
|
||||
#define INT32 wINT32
|
||||
#ifdef __x86_64__
|
||||
#define INT64 wINT64
|
||||
#define LONG64 wLONG64
|
||||
#endif
|
||||
#undef Status
|
||||
#define Status wStatus
|
||||
#define ATOM wATOM
|
||||
#define BYTE wBYTE
|
||||
#define FreeResource wFreeResource
|
||||
#include <windows.h>
|
||||
#undef NOMINMAX
|
||||
#undef Status
|
||||
#define Status int
|
||||
#undef BYTE
|
||||
#undef BOOL
|
||||
#undef INT32
|
||||
#undef INT64
|
||||
#undef LONG64
|
||||
#undef ATOM
|
||||
#undef FreeResource
|
||||
#undef CreateWindowA
|
||||
|
||||
/*
|
||||
* Older version of this header used to name the windows API bool type wBOOL,
|
||||
* rather than more standard name WINBOOL
|
||||
*/
|
||||
#define wBOOL WINBOOL
|
||||
|
||||
#ifdef RESOURCE_H
|
||||
# undef RT_FONT
|
||||
# undef RT_CURSOR
|
||||
# define RT_FONT ((RESTYPE)4)
|
||||
# define RT_CURSOR ((RESTYPE)5)
|
||||
#endif
|
||||
|
||||
#ifndef __CYGWIN__
|
||||
#define sleep(x) Sleep((x) * 1000)
|
||||
#endif
|
||||
|
||||
#if defined(WIN32) && (!defined(PATH_MAX) || PATH_MAX < 1024)
|
||||
# undef PATH_MAX
|
||||
# define PATH_MAX 1024
|
||||
#endif
|
||||
|
||||
#ifdef _XFree86Server
|
||||
# define XFree86Server
|
||||
# undef _XFree86Server
|
||||
#endif
|
||||
|
77
includes/X11/Xwinsock.h
Normal file
77
includes/X11/Xwinsock.h
Normal file
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
|
||||
Copyright 1996, 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 MERCHANTABIL-
|
||||
ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
||||
SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
|
||||
ITY, 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.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
* This header file has for sole purpose to allow to include winsock.h
|
||||
* without getting any name conflicts with our code.
|
||||
* Conflicts come from the fact that including winsock.h actually pulls
|
||||
* in the whole Windows API...
|
||||
*/
|
||||
|
||||
#undef _XFree86Server
|
||||
#ifdef XFree86Server
|
||||
# define _XFree86Server
|
||||
# undef XFree86Server
|
||||
#endif
|
||||
|
||||
/*
|
||||
* mingw-w64 headers define BOOL as a typedef, protecting against macros
|
||||
* mingw.org headers define BOOL in terms of WINBOOL
|
||||
* ... so try to come up with something which works with both :-)
|
||||
*/
|
||||
#define _NO_BOOL_TYPEDEF
|
||||
#define BOOL WINBOOL
|
||||
#define INT32 wINT32
|
||||
#undef Status
|
||||
#define Status wStatus
|
||||
#define ATOM wATOM
|
||||
#define BYTE wBYTE
|
||||
#define FreeResource wFreeResource
|
||||
#include <winsock2.h>
|
||||
#undef Status
|
||||
#define Status int
|
||||
#undef BYTE
|
||||
#undef BOOL
|
||||
#undef INT32
|
||||
#undef ATOM
|
||||
#undef FreeResource
|
||||
#undef CreateWindowA
|
||||
#undef RT_FONT
|
||||
#undef RT_CURSOR
|
||||
|
||||
/*
|
||||
* Older version of this header used to name the windows API bool type wBOOL,
|
||||
* rather than more standard name WINBOOL
|
||||
*/
|
||||
#define wBOOL WINBOOL
|
||||
|
||||
#ifdef _XFree86Server
|
||||
# define XFree86Server
|
||||
# undef _XFree86Server
|
||||
#endif
|
||||
|
2502
includes/X11/keysym.h
Normal file
2502
includes/X11/keysym.h
Normal file
File diff suppressed because it is too large
Load diff
|
@ -6,7 +6,7 @@
|
|||
/* By: mcolonna <marvin@42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/04/02 13:53:41 by mcolonna #+# #+# */
|
||||
/* Updated: 2024/04/20 13:32:27 by mcolonna ### ########.fr */
|
||||
/* Updated: 2024/04/23 19:42:25 by mcolonna ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
@ -21,8 +21,8 @@
|
|||
# include <stdlib.h>
|
||||
# include <stddef.h>
|
||||
# include <stdint.h>
|
||||
# include <X11/keysym.h>
|
||||
# include <X11/Xlib.h>
|
||||
# include "X11/keysym.h"
|
||||
# include "X11/Xlib.h"
|
||||
# include <errno.h>
|
||||
# include "libtf.h"
|
||||
# include "mlx.h"
|
||||
|
|
Loading…
Add table
Reference in a new issue