74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* $XFree86: xc/include/extensions/xf86bigfstr.h,v 1.3 2001/08/01 00:44:35 tsi Exp $ */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/*
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Declarations of request structures for the BIGFONT extension.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync *
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Copyright (c) 1999-2000 Bruno Haible
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync * Copyright (c) 1999-2000 The XFree86 Project, Inc.
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* THIS IS NOT AN X CONSORTIUM STANDARD */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef _XF86BIGFSTR_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define _XF86BIGFSTR_H_
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#include <X11/extensions/xf86bigfont.h>
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XF86BIGFONTNAME "XFree86-Bigfont"
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XF86BIGFONT_MAJOR_VERSION 1 /* current version numbers */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XF86BIGFONT_MINOR_VERSION 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct _XF86BigfontQueryVersion {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 reqType; /* always XF86BigfontReqCode */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 xf86bigfontReqType; /* always X_XF86BigfontQueryVersion */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 length B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xXF86BigfontQueryVersionReq;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xXF86BigfontQueryVersionReq 4
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE type; /* X_Reply */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 capabilities;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 sequenceNumber B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 length B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 majorVersion B16; /* major version of XFree86-Bigfont */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 minorVersion B16; /* minor version of XFree86-Bigfont */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 uid B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 gid B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 signature B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 pad1 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 pad2 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xXF86BigfontQueryVersionReply;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xXF86BigfontQueryVersionReply 32
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* Bit masks that can be set in the capabilities */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XF86Bigfont_CAP_LocalShm 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct _XF86BigfontQueryFont {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 reqType; /* always XF86BigfontReqCode */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 xf86bigfontReqType; /* always X_XF86BigfontQueryFont */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 length B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 id B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 flags B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xXF86BigfontQueryFontReq;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xXF86BigfontQueryFontReq 12
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsynctypedef struct {
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BYTE type; /* X_Reply */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 pad1;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 sequenceNumber B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 length B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xCharInfo minBounds;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef WORD64
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 walign1 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync xCharInfo maxBounds;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#ifndef WORD64
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 walign2 B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 minCharOrByte2 B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 maxCharOrByte2 B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 defaultChar B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD16 nFontProps B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 drawDirection;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 minByte1;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD8 maxByte1;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync BOOL allCharsExist;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync INT16 fontAscent B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync INT16 fontDescent B16;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 nCharInfos B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 nUniqCharInfos B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 shmid B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync CARD32 shmsegoffset B32;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync /* followed by nFontProps xFontProp structures */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync /* and if nCharInfos > 0 && shmid == -1,
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync followed by nUniqCharInfos xCharInfo structures
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync and then by nCharInfos CARD16 indices (each >= 0, < nUniqCharInfos)
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync and then, if nCharInfos is odd, one more CARD16 for padding. */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync} xXF86BigfontQueryFontReply;
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define sz_xXF86BigfontQueryFontReply 72
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync/* Bit masks that can be set in the flags */
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#define XF86Bigfont_FLAGS_Shm 1
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync
74fe172698ba936102e120dae998c9ebd09cfbdfvboxsync#endif /* _XF86BIGFSTR_H_ */