1/*
2 * Copyright © 2015 Keith Packard
3 *
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that copyright
7 * notice and this permission notice appear in supporting documentation, and
8 * that the name of the copyright holders not be used in advertising or
9 * publicity pertaining to distribution of the software without specific,
10 * written prior permission.  The copyright holders make no representations
11 * about the suitability of this software for any purpose.  It is provided "as
12 * is" without express or implied warranty.
13 *
14 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
20 * OF THIS SOFTWARE.
21 */
22
23#ifndef _LIBXFONTINT_H_
24#define _LIBXFONTINT_H_
25
26#include <X11/fonts/FSproto.h>
27
28#define client_auth_generation __libxfont__client_auth_generation
29#define ClientSignal __libxfont__ClientSignal
30#define DeleteFontClientID __libxfont__DeleteFontClientID
31#define ErrorF __libxfont__ErrorF
32#define find_old_font __libxfont__find_old_font
33#define GetClientResolutions __libxfont__GetClientResolutions
34#define GetDefaultPointSize __libxfont__GetDefaultPointSize
35#define GetNewFontClientID __libxfont__GetNewFontClientID
36#define GetTimeInMillis  __libxfont__GetTimeInMillis
37#define init_fs_handlers __libxfont__init_fs_handlers
38#define remove_fs_handlers __libxfont__remove_fs_handlers
39#define __GetServerClient __libxfont____GetServerClient
40#define set_font_authorizations __libxfont__set_font_authorizations
41#define StoreFontClientFont __libxfont__StoreFontClientFont
42#define MakeAtom __libxfont__MakeAtom
43#define ValidAtom __libxfont__ValidAtom
44#define NameForAtom __libxfont__NameForAtom
45
46#define add_fs_fd __libxfont_add_fs_fd
47#define remove_fs_fd __libxfont_remove_fs_fd
48#define adjust_fs_wait_for_delay __libxfont_adjust_fs_wait_for_delay
49
50#include	<X11/fonts/FS.h>
51#include	<X11/fonts/FSproto.h>
52#include	<X11/X.h>
53#include	<X11/Xos.h>
54#include	<X11/fonts/fontmisc.h>
55#include	<X11/fonts/fontstruct.h>
56#include	<X11/fonts/fontutil.h>
57#include	<X11/fonts/fontproto.h>
58#include	<errno.h>
59#include	<limits.h>
60#include	<stdint.h>
61
62#include <X11/fonts/libxfont2.h>
63
64#ifndef LIBXFONT_SKIP_ERRORF
65void
66ErrorF(const char *f, ...)  _X_ATTRIBUTE_PRINTF(1,2);
67#endif
68
69FontPtr
70find_old_font(FSID id);
71
72unsigned long
73GetTimeInMillis (void);
74
75int
76register_fpe_funcs(const xfont2_fpe_funcs_rec *funcs);
77
78void *
79__GetServerClient(void);
80
81int
82set_font_authorizations(char **authorizations, int *authlen, ClientPtr client);
83
84unsigned long
85__GetServerGeneration (void);
86
87int add_fs_fd(int fd, FontFdHandlerProcPtr handler, void *data);
88
89void remove_fs_fd(int fd);
90
91void adjust_fs_wait_for_delay(void *wt, unsigned long newdelay);
92
93int
94init_fs_handlers2(FontPathElementPtr fpe,
95		  FontBlockHandlerProcPtr block_handler);
96
97void
98remove_fs_handlers2(FontPathElementPtr fpe,
99		    FontBlockHandlerProcPtr blockHandler,
100		    Bool all);
101
102Atom
103__libxfont_internal__MakeAtom(const char *string, unsigned len, int makeit);
104
105int
106__libxfont_internal__ValidAtom(Atom atom);
107
108const char *
109__libxfont_internal__NameForAtom(Atom atom);
110
111int
112CheckFSFormat(fsBitmapFormat format,
113	      fsBitmapFormatMask fmask,
114	      int *bit_order,
115	      int *byte_order,
116	      int *scan,
117	      int *glyph,
118	      int *image);
119
120int
121FontCouldBeTerminal(FontInfoPtr);
122
123void
124FontComputeInfoAccelerators(FontInfoPtr);
125
126int
127add_range (fsRange *newrange, int *nranges, fsRange **range,
128	   Bool charset_subset);
129
130#endif /* _LIBXFONTINT_H_ */
131