117ca54c3Smrg/*-
217ca54c3Smrg * Copyright (c) 1998-1999 Shunsuke Akiyama <akiyama@jp.FreeBSD.org>.
317ca54c3Smrg * All rights reserved.
417ca54c3Smrg * Copyright (c) 1998-1999 X-TrueType Server Project, All rights
517ca54c3Smrg * reserved.
617ca54c3Smrg *
717ca54c3Smrg * Redistribution and use in source and binary forms, with or without
817ca54c3Smrg * modification, are permitted provided that the following conditions
917ca54c3Smrg * are met:
1017ca54c3Smrg * 1. Redistributions of source code must retain the above copyright
1117ca54c3Smrg *    notice, this list of conditions and the following disclaimer.
1217ca54c3Smrg * 2. Redistributions in binary form must reproduce the above copyright
1317ca54c3Smrg *    notice, this list of conditions and the following disclaimer in the
1417ca54c3Smrg *    documentation and/or other materials provided with the distribution.
1517ca54c3Smrg *
1617ca54c3Smrg * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1717ca54c3Smrg * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1817ca54c3Smrg * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1917ca54c3Smrg * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
2017ca54c3Smrg * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2117ca54c3Smrg * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2217ca54c3Smrg * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2317ca54c3Smrg * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2417ca54c3Smrg * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2517ca54c3Smrg * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2617ca54c3Smrg * SUCH DAMAGE.
2717ca54c3Smrg *
2817ca54c3Smrg *	Id: fontcachstr.h,v 1.7 1999/01/31 14:58:40 akiyama Exp $
2917ca54c3Smrg */
3017ca54c3Smrg/* $XFree86$ */
3117ca54c3Smrg
3217ca54c3Smrg/* THIS IS NOT AN X CONSORTIUM STANDARD */
3317ca54c3Smrg
3417ca54c3Smrg#ifndef _FONTCACHESTR_H_
3517ca54c3Smrg#define _FONTCACHESTR_H_
3617ca54c3Smrg
3717ca54c3Smrg#include <X11/extensions/fontcache.h>
3817ca54c3Smrg
3917ca54c3Smrg#define FONTCACHENAME		"FontCache"
4017ca54c3Smrg
4117ca54c3Smrg#define FONTCACHE_MAJOR_VERSION	0	/* current version numbers */
4217ca54c3Smrg#define FONTCACHE_MINOR_VERSION	1
4317ca54c3Smrg
4417ca54c3Smrgtypedef struct _FontCacheQueryVersion {
4517ca54c3Smrg    CARD8	reqType;		/* always FontCacheReqCode */
4617ca54c3Smrg    CARD8	fontcacheReqType;	/* always X_FontCacheQueryVersion */
47ea1d6981Smrg    CARD16	length;
4817ca54c3Smrg} xFontCacheQueryVersionReq;
4917ca54c3Smrg#define sz_xFontCacheQueryVersionReq	4
5017ca54c3Smrg
5117ca54c3Smrgtypedef struct {
5217ca54c3Smrg    BYTE	type;			/* X_Reply */
5317ca54c3Smrg    BOOL	pad1;
54ea1d6981Smrg    CARD16	sequenceNumber;
55ea1d6981Smrg    CARD32	length;
56ea1d6981Smrg    CARD16	majorVersion;		/* major version of Font-Cache */
57ea1d6981Smrg    CARD16	minorVersion;		/* minor version of Font-Cache */
58ea1d6981Smrg    CARD32	pad2;
59ea1d6981Smrg    CARD32	pad3;
60ea1d6981Smrg    CARD32	pad4;
61ea1d6981Smrg    CARD32	pad5;
62ea1d6981Smrg    CARD32	pad6;
6317ca54c3Smrg} xFontCacheQueryVersionReply;
6417ca54c3Smrg#define sz_xFontCacheQueryVersionReply	32
6517ca54c3Smrg
6617ca54c3Smrgtypedef struct _FontCacheGetCacheSettings {
6717ca54c3Smrg    CARD8	reqType;		/* always FontCacheReqCode */
6817ca54c3Smrg    CARD8	fontcacheReqType;	/* always X_FontCacheGetCacheSettings */
69ea1d6981Smrg    CARD16	length;
7017ca54c3Smrg} xFontCacheGetCacheSettingsReq;
7117ca54c3Smrg#define sz_xFontCacheGetCacheSettingsReq	4
7217ca54c3Smrg
7317ca54c3Smrgtypedef struct {
7417ca54c3Smrg    BYTE	type;			/* X_Reply */
7517ca54c3Smrg    BOOL	pad1;
76ea1d6981Smrg    CARD16	sequenceNumber;
77ea1d6981Smrg    CARD32	length;
78ea1d6981Smrg    CARD32	himark;
79ea1d6981Smrg    CARD32	lowmark;
80ea1d6981Smrg    CARD32	balance;
81ea1d6981Smrg    CARD32	reserve0;
82ea1d6981Smrg    CARD32	reserve1;
83ea1d6981Smrg    CARD32	reserve2;
8417ca54c3Smrg} xFontCacheGetCacheSettingsReply;
8517ca54c3Smrg#define sz_xFontCacheGetCacheSettingsReply	32
8617ca54c3Smrg
8717ca54c3Smrgtypedef struct _FontCacheChangeCacheSettings {
8817ca54c3Smrg    CARD8	reqType;		/* always FontCacheReqCode */
8917ca54c3Smrg    CARD8	fontcacheReqType;	/* always X_FontCacheChangeCacheSettings */
90ea1d6981Smrg    CARD16	length;
91ea1d6981Smrg    CARD32	himark;
92ea1d6981Smrg    CARD32	lowmark;
93ea1d6981Smrg    CARD32	balance;
94ea1d6981Smrg    CARD32	reserve0;
95ea1d6981Smrg    CARD32	reserve1;
96ea1d6981Smrg    CARD32	reserve2;
97ea1d6981Smrg    CARD32	reserve3;
9817ca54c3Smrg} xFontCacheChangeCacheSettingsReq;
9917ca54c3Smrg#define sz_xFontCacheChangeCacheSettingsReq	32
10017ca54c3Smrg
10117ca54c3Smrgtypedef struct _FontCacheGetCacheStatistics {
10217ca54c3Smrg    CARD8	reqType;		/* always FontCacheReqCode */
10317ca54c3Smrg    CARD8	fontcacheReqType;	/* always X_FontCacheGetCacheStatistics */
104ea1d6981Smrg    CARD16	length;
10517ca54c3Smrg} xFontCacheGetCacheStatisticsReq;
10617ca54c3Smrg#define sz_xFontCacheGetCacheStatisticsReq	4
10717ca54c3Smrg
10817ca54c3Smrgtypedef struct {
10917ca54c3Smrg    BYTE	type;			/* X_Reply */
11017ca54c3Smrg    BOOL	pad1;
111ea1d6981Smrg    CARD16	sequenceNumber;
112ea1d6981Smrg    CARD32	length;
113ea1d6981Smrg    CARD32	purge_runs;
114ea1d6981Smrg    CARD32	purge_stat;
115ea1d6981Smrg    CARD32	balance;
116ea1d6981Smrg    CARD32	reserve0;
117ea1d6981Smrg    CARD32	f_hits;
118ea1d6981Smrg    CARD32	f_misshits;
119ea1d6981Smrg    CARD32	f_purged;
120ea1d6981Smrg    CARD32	f_usage;
121ea1d6981Smrg    CARD32	f_reserve0;
122ea1d6981Smrg    CARD32	v_hits;
123ea1d6981Smrg    CARD32	v_misshits;
124ea1d6981Smrg    CARD32	v_purged;
125ea1d6981Smrg    CARD32	v_usage;
126ea1d6981Smrg    CARD32	v_reserve0;
12717ca54c3Smrg} xFontCacheGetCacheStatisticsReply;
12817ca54c3Smrg#define sz_xFontCacheGetCacheStatisticsReply	64
12917ca54c3Smrg
13017ca54c3Smrg#endif /* _FONTCACHESTR_H_ */
131