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
65 void
66 ErrorF(const char *f, ...)  _X_ATTRIBUTE_PRINTF(1,2);
67 #endif
68 
69 FontPtr
70 find_old_font(FSID id);
71 
72 unsigned long
73 GetTimeInMillis (void);
74 
75 int
76 register_fpe_funcs(const xfont2_fpe_funcs_rec *funcs);
77 
78 void *
79 __GetServerClient(void);
80 
81 int
82 set_font_authorizations(char **authorizations, int *authlen, ClientPtr client);
83 
84 unsigned long
85 __GetServerGeneration (void);
86 
87 int add_fs_fd(int fd, FontFdHandlerProcPtr handler, void *data);
88 
89 void remove_fs_fd(int fd);
90 
91 void adjust_fs_wait_for_delay(void *wt, unsigned long newdelay);
92 
93 int
94 init_fs_handlers2(FontPathElementPtr fpe,
95 		  FontBlockHandlerProcPtr block_handler);
96 
97 void
98 remove_fs_handlers2(FontPathElementPtr fpe,
99 		    FontBlockHandlerProcPtr blockHandler,
100 		    Bool all);
101 
102 Atom
103 __libxfont_internal__MakeAtom(const char *string, unsigned len, int makeit);
104 
105 int
106 __libxfont_internal__ValidAtom(Atom atom);
107 
108 const char *
109 __libxfont_internal__NameForAtom(Atom atom);
110 
111 int
112 CheckFSFormat(fsBitmapFormat format,
113 	      fsBitmapFormatMask fmask,
114 	      int *bit_order,
115 	      int *byte_order,
116 	      int *scan,
117 	      int *glyph,
118 	      int *image);
119 
120 int
121 FontCouldBeTerminal(FontInfoPtr);
122 
123 void
124 FontComputeInfoAccelerators(FontInfoPtr);
125 
126 int
127 add_range (fsRange *newrange, int *nranges, fsRange **range,
128 	   Bool charset_subset);
129 
130 #endif /* _LIBXFONTINT_H_ */
131