]> git.sesse.net Git - rdpsrv/blob - Xserver/lib/font/fc/fsio.h
0336c7f84c61dd43948fcaeb47897472516db469
[rdpsrv] / Xserver / lib / font / fc / fsio.h
1 /* $XConsortium: fsio.h,v 1.12 94/01/31 12:02:17 mor 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 #ifndef _FSIO_H_
28 #define _FSIO_H_
29
30 #define REQUEST_LOG_SIZE        100
31
32 typedef struct _fs_fpe_alternate {
33     char       *name;
34     Bool        subset;
35 }           FSFpeAltRec, *FSFpeAltPtr;
36
37
38 /* Per client access contexts */
39 typedef struct _fs_client_data {
40     pointer                 client;
41     struct _fs_client_data  *next;
42     XID                     acid;
43     int                     auth_generation;
44 } FSClientRec, *FSClientPtr;
45
46 #define FS_RECONNECT_WAIT       5
47 #define FS_MAX_RECONNECT_WAIT   80
48
49 /* FS specific font FontPathElement data */
50 typedef struct _fs_fpe_data {
51     int         fs_fd;
52     int         current_seq;
53     char       *servername;
54     char       *requestedname;  /* client's name for this connection */
55
56     int         generation;
57     int         numAlts;
58     int         fsMajorVersion; /* font server major version number */
59     FSFpeAltPtr alts;
60
61     FSClientPtr clients;
62     XID         curacid;
63 #ifdef DEBUG
64     int         reqindex;
65     int         reqbuffer[REQUEST_LOG_SIZE];
66 #endif
67
68     int         attemptReconnect;
69
70 /* XXX massive crock to get around stupid #include interferences */
71     pointer     blocked_requests;
72 /* Data for reconnect - put it here to avoid allocate failure nightmare */
73     long        time_to_try;
74     long        reconnect_delay;
75     struct _fs_fpe_data *next_reconnect;
76     struct _XtransConnInfo *trans_conn; /* transport connection object */
77 }           FSFpeRec, *FSFpePtr;
78
79 FSFpePtr    _fs_open_server();
80 void        _fs_bit_clear();
81
82 #endif                          /* _FSIO_H_ */