]> andersk Git - moira.git/blame - gdb/gdb_debug.c
added copyright message
[moira.git] / gdb / gdb_debug.c
CommitLineData
5580185e 1/*
2 * $Source$
3 * $Header$
4 */
5
6#ifndef lint
7static char *rcsid_gdb_debug_c = "$Header$";
8#endif lint
9
10/************************************************************************/
11/*
12/* gdb_debug.c
13/*
14/* Debugging interfaces for gdb. Some of these are
15/* designed to be called from dbx.
16/*
17/* routines included are:
18/*
19/* gdb_debug set the debugging status flags
20/*
21/* gd_types_print prints all the available types currently in
22/* the type table
23/*
24/* gd_con_status prints all the status codes for connections
25/*
26/* gd_sum_cons summarizes all current connections detailing
27/* for each flags, half connections with their
28/* respective operation queues.
29/*
30/* gd_op_q (halfcon) prints the queue associated with a
31/* specified half connection (not directly callable)
32/*
33/* gd_op_status a listing of the available states of an
34/* operation
35/*
36/* Copyright 1986 MIT Project Athena
0a5ff702 37/* For copying and distribution information, please see
38/* the file <mit-copyright.h>.
5580185e 39/*
40/************************************************************************/
41
0a5ff702 42#include <mit-copyright.h>
5580185e 43#include <stdio.h>
44#include "gdb.h"
45
46/************************************************************************/
47/*
48/* gdb_debug
49/*
50/* Toggle a debugging flag. Warning: the interface to this routine
51/* may change over time.
52/*
53/************************************************************************/
54
55int
56gdb_debug(flag)
57{
58 gdb_Debug ^= flag; /* toggle the flag */
59}
60
61/************************************************************************/
62/*
63/* print_relation
64/*
65/************************************************************************/
66
67int
68print_relation(name, relation)
69char *name;
70RELATION relation;
71{
72 FCN_PROPERTY(RELATION_T,FORMAT_PROPERTY)(name, (char *)&(relation));
73}
74/************************************************************************/
75/*
76/* print_tuple
77/*
78/************************************************************************/
79
80int
81print_tuple(name, tuple)
82char *name;
83TUPLE tuple;
84{
85 FCN_PROPERTY(TUPLE_T,FORMAT_PROPERTY)(name, (char *)&(tuple));
86}
87
88/************************************************************************/
89/*
90/* print_tuple_descriptor
91/*
92/************************************************************************/
93
94int
95print_tuple_descriptor(name, tuple_descriptor)
96char *name;
97TUPLE_DESCRIPTOR tuple_descriptor;
98{
99 FCN_PROPERTY(TUPLE_DESCRIPTOR_T,FORMAT_PROPERTY)(name,
100 (char *)&(tuple_descriptor));
101}
102
103/************************************************************************/
104/*
105/* gd_types_print
106/*
107/* This is a routine for printing all the available types and
108/* their typecodes.
109/*
110/************************************************************************/
111
112int
113gd_types_print ()
114{
115 register int i;
116
117 printf ("\n\nTHE AVAILABLE TYPES WITH THEIR TYPE CODES ARE: \n\n");
118
119 printf ("typecode name\n");
120
121 for (i = 0; i < gdb_n_types; i++) {
122 printf ("%2d %s \n", i, STR_PROPERTY(i,NAME_PROPERTY));
123 }
124}
125\f
126/************************************************************************/
127/*
128/* con_status
129/*
130/* This routine will print all the status codes for operations
131/* This is just a listing of the status numbers located in gdb.h
132/*
133/************************************************************************/
134
135int
136gd_con_status ()
137{
138 /*----------------------------------------------------------*/
139 /*
140 /* REMEMBER... these need to be fixed when the connection
141 /* status coded in gdb.h are redefined.
142 /*
143 /*----------------------------------------------------------*/
144
145 printf ("THE STATUS CODES ARE: \n\n");
146 printf (" CODE STATUS\n");
147 printf (" 1 CON_STOPPED\n");
148 printf (" 2 CON_UP\n");
149 printf (" 3 CON_STARTING\n");
150 printf (" 4 CON_STOPPING\n");
151
152}
153
154\f
155/************************************************************************/
156/*
157/* summarize connections (gd_sum_con)
158/*
159/************************************************************************/
160
161gd_sum_con (index)
162int index;
163{
164 if ((index > gdb_mcons) || (gdb_cons[index].status<1)) {
165 printf ("gdb_cons[%d] is not a valid connection \n",index);
166 return;
167 }
168
169 if (gdb_cons[index].status == CON_STOPPED) {
170 printf ("connection gdb_cons[%d] is stopped\n",index);
171 return;
172 }
173
174 /*----------------------------------------------------------*/
175 /*
176 /* REMEMBER this also must be changed when the def'n
177 /* of status fields in gdb.h is changed
178 /*
179 /*----------------------------------------------------------*/
180
181
182 printf ("status of connection number %d is %2d \n",index,gdb_cons[index].status);
183 printf ("The information for each half-connexn: \n\n");
184
185 printf (" the inbound half-connection\n");
186 printf (" status: %2d \n",gdb_cons[index].in.status);
187 printf (" flags : %2d \n",gdb_cons[index].in.status);
188 printf (" file descr: %2d \n",gdb_cons[index].in.fd);
189 printf (" The operation queue is:\n");
190 gd_op_q (&(gdb_cons[index].in));
191
192 printf (" the outbound half-connection\n");
193 printf (" status: %2d \n",gdb_cons[index].out.status);
194 printf (" flags : %2d \n",gdb_cons[index].out.status);
195 printf (" file descr: %2d \n",gdb_cons[index].out.fd);
196 printf (" The operation queue is:\n");
197 gd_op_q (&(gdb_cons[index].out));
198 }
199
200\f
201/************************************************************************/
202/*
203/* op_q (gd_op_q)
204/*
205/************************************************************************/
206
207
208int
209gd_op_q (half_con)
210HALF_CONNECTION half_con;
211
212{
213 int i; /*counter for the ith
214 queued op */
215 OPERATION current;
216
217 current = half_con->op_q_first;
218
219 i = 0;
220
221 if (current == NULL) {
222 printf ("no operations in queue yet\n");
223 return ;
224 }
225
226
227 printf ("OPERATION STATUS\n\n");
228
229 while (current != (OPERATION)half_con) {
230 printf ("%2d %2d \n", i++ , current->status);
231 current = current ->next;
232 }
233}
234\f
235/************************************************************************/
236/*
237/* op status
238/* this is a routine in which all the status codes and their
239/* translations are printed.
240/*
241/************************************************************************/
242
243int
244gd_op_status ()
245{
246 /*----------------------------------------------------------*/
247 /*
248 /* REMEMBER these also need to be changed when
249 /* states of an operation in gdb.h is redefined
250 /*
251 /*----------------------------------------------------------*/
252
253 printf ("CODE OPERATION STATE\n\n");
254 printf (" 1 OP_NOT_STARTED\n");
255 printf (" 2 OP_QUEUED\n");
256 printf (" 3 OP_RUNNING\n");
257 printf (" 4 OP_COMPLETE\n");
258 printf (" 5 OP_CANCELLING\n");
259 printf (" 6 OP_CANCELLED\n");
260 printf (" 7 OP_MARKED\n");
261}
This page took 0.187394 seconds and 5 git commands to generate.