1 #include <stdio.h>
2 #include <X11/fonts/fntfilst.h>
3 #include <X11/fonts/font.h>
4 
5 #ifndef True
6 #define True (-1)
7 #endif
8 #ifndef False
9 #define False (0)
10 #endif
11 
12 /* this probably works for Mach-O too, but probably not for PE */
13 #if defined(__ELF__) && defined(__GNUC__) && (__GNUC__ >= 3)
14 #define weak __attribute__((weak))
15 #else
16 #define weak
17 #ifndef __SUNPRO_C /* Sun compilers use #pragma weak in .c files instead */
18 #define NO_WEAK_SYMBOLS
19 #endif
20 #endif
21 
22 #if defined(NO_WEAK_SYMBOLS) && defined(PIC)
23 #include <stdarg.h>
24 extern int _font_init_stubs(void);
25 #define OVERRIDE_DATA(sym) \
26     _font_init_stubs(); \
27     if (__ptr_##sym && __ptr_##sym != &sym) \
28       sym = *__ptr_##sym
29 #define OVERRIDE_SYMBOL(sym,...) \
30     _font_init_stubs(); \
31     if (__##sym && __##sym != sym) \
32       return (*__##sym)(__VA_ARGS__)
33 #define OVERRIDE_VA_SYMBOL(sym,f) \
34     va_list _args; \
35     _font_init_stubs(); \
36     va_start(_args, f); \
37     if (__##sym) \
38       (*__##sym)(f, _args); \
39     va_end(_args)
40 
41 extern int (*__client_auth_generation)(ClientPtr);
42 extern Bool (*__ClientSignal)(ClientPtr);
43 extern void (*__DeleteFontClientID)(Font);
44 extern void (*__VErrorF)(const char *, va_list);
45 extern FontPtr (*__find_old_font)(FSID);
46 extern FontResolutionPtr (*__GetClientResolutions)(int *);
47 extern int (*__GetDefaultPointSize)(void);
48 extern Font (*__GetNewFontClientID)(void);
49 extern unsigned long (*__GetTimeInMillis)(void);
50 extern int (*__init_fs_handlers)(FontPathElementPtr, BlockHandlerProcPtr);
51 extern int (*__RegisterFPEFunctions)(NameCheckFunc, InitFpeFunc, FreeFpeFunc,
52             ResetFpeFunc, OpenFontFunc, CloseFontFunc, ListFontsFunc,
53             StartLfwiFunc, NextLfwiFunc, WakeupFpeFunc, ClientDiedFunc,
54             LoadGlyphsFunc, StartLaFunc, NextLaFunc, SetPathFunc);
55 extern void (*__remove_fs_handlers)(FontPathElementPtr, BlockHandlerProcPtr, Bool);
56 extern void **__ptr_serverClient;
57 extern int (*__set_font_authorizations)(char **, int *, ClientPtr);
58 extern int (*__StoreFontClientFont)(FontPtr, Font);
59 extern Atom (*__MakeAtom)(const char *, unsigned, int);
60 extern int (*__ValidAtom)(Atom);
61 extern char *(*__NameForAtom)(Atom);
62 extern unsigned long *__ptr_serverGeneration;
63 extern void (*__register_fpe_functions)(void);
64 #else /* NO_WEAK_SYMBOLS && PIC */
65 #define OVERRIDE_DATA(sym)
66 #define OVERRIDE_SYMBOL(sym,...)
67 #define OVERRIDE_VA_SYMBOL(sym,f)
68 #endif
69 
70 extern FontPtr find_old_font ( FSID id );
71 extern int set_font_authorizations ( char **authorizations,
72 				     int *authlen,
73 				     ClientPtr client );
74 
75 extern unsigned long GetTimeInMillis (void);
76 
77 extern void ErrorF(const char *format, ...);
78 
79 /* end of file */
80