xf86bigfproto.h revision 17ca54c3
1/*
2 * Declarations of request structures for the BIGFONT extension.
3 *
4 * Copyright (c) 1999-2000  Bruno Haible
5 * Copyright (c) 1999-2000  The XFree86 Project, Inc.
6 */
7
8/* THIS IS NOT AN X CONSORTIUM STANDARD */
9
10#ifndef _XF86BIGFPROTO_H_
11#define _XF86BIGFPROTO_H_
12
13#include <X11/extensions/xf86bigfont.h>
14
15#define XF86BIGFONTNAME			"XFree86-Bigfont"
16
17#define XF86BIGFONT_MAJOR_VERSION	1	/* current version numbers */
18#define XF86BIGFONT_MINOR_VERSION	1
19
20typedef struct _XF86BigfontQueryVersion {
21    CARD8	reqType;		/* always XF86BigfontReqCode */
22    CARD8	xf86bigfontReqType;	/* always X_XF86BigfontQueryVersion */
23    CARD16	length B16;
24} xXF86BigfontQueryVersionReq;
25#define sz_xXF86BigfontQueryVersionReq	4
26
27typedef struct {
28    BYTE	type;			/* X_Reply */
29    CARD8	capabilities;
30    CARD16	sequenceNumber B16;
31    CARD32	length B32;
32    CARD16	majorVersion B16;	/* major version of XFree86-Bigfont */
33    CARD16	minorVersion B16;	/* minor version of XFree86-Bigfont */
34    CARD32	uid B32;
35    CARD32	gid B32;
36    CARD32	signature B32;
37    CARD32	pad1 B32;
38    CARD32	pad2 B32;
39} xXF86BigfontQueryVersionReply;
40#define sz_xXF86BigfontQueryVersionReply 32
41
42/* Bit masks that can be set in the capabilities */
43#define XF86Bigfont_CAP_LocalShm 1
44
45typedef struct _XF86BigfontQueryFont {
46    CARD8	reqType;		/* always XF86BigfontReqCode */
47    CARD8	xf86bigfontReqType;	/* always X_XF86BigfontQueryFont */
48    CARD16	length B16;
49    CARD32	id B32;
50    CARD32	flags B32;
51} xXF86BigfontQueryFontReq;
52#define sz_xXF86BigfontQueryFontReq	12
53
54typedef struct {
55    BYTE	type;			/* X_Reply */
56    CARD8	pad1;
57    CARD16	sequenceNumber B16;
58    CARD32	length B32;
59    xCharInfo	minBounds;
60#ifndef WORD64
61    CARD32	walign1 B32;
62#endif
63    xCharInfo	maxBounds;
64#ifndef WORD64
65    CARD32	walign2 B32;
66#endif
67    CARD16	minCharOrByte2 B16;
68    CARD16	maxCharOrByte2 B16;
69    CARD16	defaultChar B16;
70    CARD16	nFontProps B16;
71    CARD8	drawDirection;
72    CARD8	minByte1;
73    CARD8	maxByte1;
74    BOOL	allCharsExist;
75    INT16	fontAscent B16;
76    INT16	fontDescent B16;
77    CARD32	nCharInfos B32;
78    CARD32	nUniqCharInfos B32;
79    CARD32	shmid B32;
80    CARD32	shmsegoffset B32;
81    /* followed by nFontProps xFontProp structures */
82    /* and if nCharInfos > 0 && shmid == -1,
83       followed by nUniqCharInfos xCharInfo structures
84       and then by nCharInfos CARD16 indices (each >= 0, < nUniqCharInfos)
85       and then, if nCharInfos is odd, one more CARD16 for padding. */
86} xXF86BigfontQueryFontReply;
87#define sz_xXF86BigfontQueryFontReply	72
88
89/* Bit masks that can be set in the flags */
90#define XF86Bigfont_FLAGS_Shm 1
91
92#endif /* _XF86BIGFPROTO_H_ */
93