]> andersk Git - moira.git/blob - gdb/gdb_lib.h
fix RCS Id strings
[moira.git] / gdb / gdb_lib.h
1 /*
2  *      $Source$
3  *      $Header$
4  */
5
6 /************************************************************************/
7 /*      
8 /*                      gdb_lib.h
9 /*      
10 /*      Includes used within the Global Database Facilities library.
11 /*      Should NOT be included by typical users of gdb.
12 /*      
13 /*      Author: Noah Mendelsohn
14 /*      Copyright: 1986 MIT Project Athena
15 /*      
16 /************************************************************************/
17
18 /************************************************************************/
19 /*      
20 /*                          USER IDENTIFICATION
21 /*      
22 /*      gdb_init puts the user's i.d. and hostname as strings here.
23 /*      
24 /************************************************************************/
25
26 char *gdb_uname;                                /* user's string name */
27 char *gdb_host;                                 /* name of local host */
28                                                 /* goes here */
29
30
31 /************************************************************************/
32 /*      
33 /*                          MEMORY MANAGEMENT
34 /*      
35 /*      These vectors point to the memory allocation and free routines.
36 /*      The standard routines supplied with the system are gdb_am and
37 /*      gdb_fm, but users may supply their own by clobbering the vectors.
38 /*      
39 /************************************************************************/
40
41 char *((*gdb_amv)()) = gdb_am;
42 int  (*gdb_fmv)() = gdb_fm;
43
44
45
46 /************************************************************************/
47 /*      
48 /*      
49 /*                        SYSTEM TYPE DEFINITIONS
50 /*      
51 /*      Declarations used to control the definition and use of 'types'
52 /*      as supported by the global database system.
53 /*      
54 /*      
55 /************************************************************************/
56
57 int     gdb_Options=0;                          /* GDB options are set here */
58
59 int     gdb_Debug=0;                            /* debugging flags are */
60                                                 /* stored here */
61 FILE *gdb_log = stderr;                         /* all debugging */
62                                                 /* output goes on stderr*/
63
64 char g_errstr[150];                             /* build emsgs here */
65
66 /*
67  *                      g_type_table
68  * 
69  * This is the table where the actual definitions for the types are
70  * kept.
71  */
72
73 gdb_type_def g_type_table[GDB_MAX_TYPES];
74 int gdb_n_types;                                /* number of entries in */
75                                                 /* table */
76 /*
77  *                      connection failure indicator
78  * 
79  * This variable is used to communicate between gdb_move_data and
80  * g_con_progress without passing an extra parameter through lots
81  * of procedure calls.  When set to FALSE, it indicates that the 
82  * connection currently being processed has encountered a fatal error
83  * and should be severed.
84  */
85 int gdb_conok;                                  
86 \f
87 /************************************************************************/
88 /*      
89 /*           CONNECTION AND DATA TRANSMISSION SERVICES
90 /*      
91 /*      These are the global data structures used by the routines
92 /*      which maintain connections and do asynchronous data transfer
93 /*      on them.
94 /*      
95 /************************************************************************/
96
97         /*----------------------------------------------------------*/
98         /*      
99         /*                      gdb_cons
100         /*      
101         /*      This is the array of connection control data 
102         /*      structures for gdb.  Every connection has its 
103         /*      structure stored here, but they are in no 
104         /*      particular order.  Because the connection data
105         /*      itself cannot be moved (due to possible dangling
106         /*      pointers), there may be some unused connections 
107         /*      in the middle of this array.  gdb_mcons is the
108         /*      1 based number of the highest connection which is
109         /*      actually in use at this time.  This is a considerable
110         /*      optimization for the typical case where very few
111         /*      are in use, and turnover is low.
112         /*      
113         /*----------------------------------------------------------*/
114
115 int     gdb_mcons;                              /* 0 based index of */
116                                                 /* last connection */
117                                                 /* currently in use */
118
119 int  gdb_mfd;                                   /* number of the highest */
120                                                 /* file descriptor in use */
121                                                 /* for a connection */
122 struct con_data gdb_cons[GDB_MAX_CONNECTIONS];  /* actual connection data */
123                                                 /* is stored here */
124
125         /*----------------------------------------------------------*/
126         /*      
127         /*      Bit maps of the file descriptors involved in connections.
128         /*      Technically, this is redundant with the information in
129         /*      the connection descriptors above, but it makes select
130         /*      preparation much faster.
131         /*      
132         /*----------------------------------------------------------*/
133
134 fd_set gdb_crfds, gdb_cwfds, gdb_cefds;         /* connection related file */
135                                                 /* descriptor maps to be */
136                                                 /* used in select */
137 fd_set last_crfds, last_cwfds, last_cefds;      /* these file desc. bit */
138                                                 /* masks are set up */
139                                                 /* for each select call */
140                                                 /* to include the user */
141                                                 /* supplied and the */
142                                                 /* connection related */
143                                                 /* fd's */
144
145         /*----------------------------------------------------------*/
146         /*      
147         /*                      gdb_notime
148         /*      
149         /*      Pass this to select when doing a poll.
150         /*      
151         /*----------------------------------------------------------*/
152
153 struct timeval gdb_notime = {0,0};
154 \f
155 /************************************************************************/
156 /*      
157 /*                     SERVER/CLIENT MANAGEMENT
158 /*      
159 /*      Definitions used in starting and maintaining communication 
160 /*      between servers and clients (as opposed to peers.)
161 /*      
162 /************************************************************************/
163
164 TUPLE_DESCRIPTOR gdb_tosrv;                     /* descriptor for request */
165                                                 /* tuples sent to the */
166                                                 /* server during negotiation*/
167
168 TUPLE_DESCRIPTOR gdb_fmsrv;                     /* descriptor for request */
169                                                 /* tuples sent from the */
170                                                 /* server during negotiation*/
171
172         /*----------------------------------------------------------*/
173         /*      
174         /*      Global variables inherited by a child from a server
175         /*      parent.
176         /*      
177         /*----------------------------------------------------------*/
178
179 TUPLE gdb_client_tuple;                         /* request tuple sent from */
180                                                 /* the client */
181
182 char gdb_sockaddr_of_client[100];               /* this should really be */
183                                                 /* sockaddr_in, but I don't */
184                                                 /* want everyone to have */
185                                                 /* to include all those */
186                                                 /* big .h files */
187 int gdb_socklen;                                /* length of above */
188
This page took 0.237492 seconds and 5 git commands to generate.