fserve.h revision 23a0898a
1/* $Xorg: fserve.h,v 1.3 2000/08/17 19:46:36 cpqbld Exp $ */
2/*
3 * Copyright 1990 Network Computing Devices
4 *
5 * Permission to use, copy, modify, distribute, and sell this software and its
6 * documentation for any purpose is hereby granted without fee, provided that
7 * the above copyright notice appear in all copies and that both that
8 * copyright notice and this permission notice appear in supporting
9 * documentation, and that the name of Network Computing Devices not be
10 * used in advertising or publicity pertaining to distribution of the
11 * software without specific, written prior permission.  Network Computing
12 * Devices makes no representations about the suitability of this software
13 * for any purpose.  It is provided "as is" without express or implied
14 * warranty.
15 *
16 * NETWORK COMPUTING DEVICES DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
17 * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
18 * IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE FOR ANY SPECIAL,
19 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
20 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
21 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
22 * OR PERFORMANCE OF THIS SOFTWARE.
23 *
24 * Author:  	Dave Lemke, Network Computing Devices, Inc
25 *
26 */
27/* $XFree86: xc/lib/font/fc/fserve.h,v 1.4 2001/01/17 19:43:29 dawes Exp $ */
28
29#ifndef _FSERVE_H_
30#define _FSERVE_H_
31/*
32 * font server data structures
33 */
34
35/* types of block records */
36#define	FS_OPEN_FONT		1
37#define	FS_LOAD_GLYPHS		2
38#define	FS_LIST_FONTS		3
39#define	FS_LIST_WITH_INFO	4
40
41/* states of OpenFont */
42#define	FS_OPEN_REPLY		0
43#define	FS_INFO_REPLY		1
44#define	FS_EXTENT_REPLY		2
45#define	FS_GLYPHS_REPLY		3
46#define	FS_DONE_REPLY		4
47#define FS_DEPENDING		5
48
49/* status of ListFontsWithInfo */
50#define	FS_LFWI_WAITING		0
51#define	FS_LFWI_REPLY		1
52#define	FS_LFWI_FINISHED	2
53
54/* states of connection */
55#define FS_CONN_CLOSED		0
56#define FS_CONN_CONNECTING	1
57#define FS_CONN_READ_HEADER	2
58#define FS_CONN_READ_DATA	3
59
60#define	AccessDone	0x400
61
62typedef struct _fs_font_data *FSFontDataPtr;
63typedef struct _fs_blocked_font *FSBlockedFontPtr;
64typedef struct _fs_blocked_glyphs *FSBlockedGlyphPtr;
65typedef struct _fs_blocked_list *FSBlockedListPtr;
66typedef struct _fs_blocked_list_info *FSBlockedListInfoPtr;
67typedef struct _fs_block_data *FSBlockDataPtr;
68typedef struct _fs_font_table *FSFontTablePtr;
69typedef struct _fs_fpe_data *FSFpePtr;
70
71typedef struct _fs_blocked_bitmaps *FSBlockedBitmapPtr;
72typedef struct _fs_blocked_extents *FSBlockedExtentPtr;
73
74extern void _fs_convert_char_info ( fsXCharInfo *src, xCharInfo *dst );
75extern void _fs_free_props (FontInfoPtr pfi);
76extern FontPtr fs_create_font (FontPathElementPtr   fpe,
77			       char		    *name,
78			       int		    namelen,
79			       fsBitmapFormat	    format,
80			       fsBitmapFormatMask   fmask);
81
82extern int fs_load_all_glyphs ( FontPtr pfont );
83
84/*
85 * These should be declared elsewhere, but I'm concerned that moving them
86 * would cause problems building other pieces
87 */
88extern FontPtr find_old_font (Font id);
89extern int  set_font_authorizations (char **a, int *len, pointer client);
90extern long   GetTimeInMillis (void);
91
92
93#endif				/* _FSERVE_H_ */
94