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;
24} xXF86BigfontQueryVersionReq;
25#define sz_xXF86BigfontQueryVersionReq	4
26
27typedef struct {
28    BYTE	type;			/* X_Reply */
29    CARD8	capabilities;
30    CARD16	sequenceNumber;
31    CARD32	length;
32    CARD16	majorVersion;		/* major version of XFree86-Bigfont */
33    CARD16	minorVersion;		/* minor version of XFree86-Bigfont */
34    CARD32	uid;
35    CARD32	gid;
36    CARD32	signature;
37    CARD32	pad1;
38    CARD32	pad2;
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;
49    CARD32	id;
50    CARD32	flags;
51} xXF86BigfontQueryFontReq;
52#define sz_xXF86BigfontQueryFontReq	12
53
54typedef struct {
55    BYTE	type;			/* X_Reply */
56    CARD8	pad1;
57    CARD16	sequenceNumber;
58    CARD32	length;
59    xCharInfo	minBounds;
60#ifndef WORD64
61    CARD32	walign1;
62#endif
63    xCharInfo	maxBounds;
64#ifndef WORD64
65    CARD32	walign2;
66#endif
67    CARD16	minCharOrByte2;
68    CARD16	maxCharOrByte2;
69    CARD16	defaultChar;
70    CARD16	nFontProps;
71    CARD8	drawDirection;
72    CARD8	minByte1;
73    CARD8	maxByte1;
74    BOOL	allCharsExist;
75    INT16	fontAscent;
76    INT16	fontDescent;
77    CARD32	nCharInfos;
78    CARD32	nUniqCharInfos;
79    CARD32	shmid;
80    CARD32	shmsegoffset;
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