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