Subversion Repositories tendra.SVN

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 7
Line -... Line 1...
-
 
1
/*
-
 
2
 * Copyright (c) 2002-2005 The TenDRA Project <http://www.tendra.org/>.
-
 
3
 * All rights reserved.
-
 
4
 *
-
 
5
 * Redistribution and use in source and binary forms, with or without
-
 
6
 * modification, are permitted provided that the following conditions are met:
-
 
7
 *
-
 
8
 * 1. Redistributions of source code must retain the above copyright notice,
-
 
9
 *    this list of conditions and the following disclaimer.
-
 
10
 * 2. Redistributions in binary form must reproduce the above copyright notice,
-
 
11
 *    this list of conditions and the following disclaimer in the documentation
-
 
12
 *    and/or other materials provided with the distribution.
-
 
13
 * 3. Neither the name of The TenDRA Project nor the names of its contributors
-
 
14
 *    may be used to endorse or promote products derived from this software
-
 
15
 *    without specific, prior written permission.
-
 
16
 *
-
 
17
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
-
 
18
 * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-
 
19
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-
 
20
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
-
 
21
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-
 
22
 * EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-
 
23
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-
 
24
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-
 
25
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-
 
26
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-
 
27
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
 
28
 *
-
 
29
 * $Id$
-
 
30
 */
1
/*
31
/*
2
    		 Crown Copyright (c) 1997
32
    		 Crown Copyright (c) 1997
3
    
33
 
4
    This TenDRA(r) Computer Program is subject to Copyright
34
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
35
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
36
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
37
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
38
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
39
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
40
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
41
    shall be deemed to be acceptance of the following conditions:-
12
    
42
 
13
        (1) Its Recipients shall ensure that this Notice is
43
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
44
        reproduced upon any copies or amended versions of it;
15
    
45
 
16
        (2) Any amended version of it shall be clearly marked to
46
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
47
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
48
        for the relevant amendment or amendments;
19
    
49
 
20
        (3) Its onward transfer from a recipient to another
50
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
51
        party shall be deemed to be that party's acceptance of
22
        these conditions;
52
        these conditions;
23
    
53
 
24
        (4) DERA gives no warranty or assurance as to its
54
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
55
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
56
        no liability whatsoever in relation to any use to which
27
        it may be put.
57
        it may be put.
28
*/
58
*/
29
 
59
 
30
 
60
 
31
/*** c-out-info.c --- Output control ADT.
61
/*** c-out-info.c --- Output control ADT.
32
 *
62
 *
33
 ** Author: Steve Folkes <smf@hermes.mod.uk>
63
 ** Author: Steve Folkes <smf@hermes.mod.uk>
34
 *
64
 *
35
 *** Commentary:
65
 *** Commentary:
36
 *
66
 *
37
 * This file implements the SID output information routines.
67
 * This file implements the SID output information routines.
38
 *
68
 *
39
 *** Change Log:
69
 *** Change Log:
40
 * $Log: c-out-info.c,v $
70
 * $Log: c-out-info.c,v $
41
 * Revision 1.1.1.1  1998/01/17  15:57:43  release
71
 * Revision 1.1.1.1  1998/01/17  15:57:43  release
Line 55... Line 85...
55
 * Initial import of SID 1.8 non shared files.
85
 * Initial import of SID 1.8 non shared files.
56
 *
86
 *
57
**/
87
**/
58
 
88
 
59
/****************************************************************************/
89
/****************************************************************************/
60
 
90
 
61
#include "c-out-info.h"
91
#include "c-out-info.h"
62
#include "c-code.h"
92
#include "c-code.h"
63
 
93
 
64
/*--------------------------------------------------------------------------*/
94
/*--------------------------------------------------------------------------*/
65
 
95
 
66
void
96
void
67
c_out_info_init PROTO_N ((info, out_info))
97
c_out_info_init(COutputInfoP info, OutputInfoP out_info)
68
		PROTO_T (COutputInfoP info X
-
 
69
			 OutputInfoP  out_info)
-
 
70
{
98
{
71
    info->info        = out_info;
99
    info->info        = out_info;
72
    info->header1     = NIL (CCodeP);
100
    info->header1     = NIL(CCodeP);
73
    info->header2     = NIL (CCodeP);
101
    info->header2     = NIL(CCodeP);
74
    info->trailer1    = NIL (CCodeP);
102
    info->trailer1    = NIL(CCodeP);
75
    info->trailer2    = NIL (CCodeP);
103
    info->trailer2    = NIL(CCodeP);
76
    nstring_copy_cstring (c_out_info_type_prefix (info), "ZT");
104
    nstring_copy_cstring(c_out_info_type_prefix(info), "ZT");
77
    nstring_copy_cstring (c_out_info_fn_prefix (info), "ZR");
105
    nstring_copy_cstring(c_out_info_fn_prefix(info), "ZR");
78
    nstring_copy_cstring (c_out_info_in_prefix (info), "ZI");
106
    nstring_copy_cstring(c_out_info_in_prefix(info), "ZI");
79
    nstring_copy_cstring (c_out_info_out_prefix (info), "ZO");
107
    nstring_copy_cstring(c_out_info_out_prefix(info), "ZO");
80
    nstring_copy_cstring (c_out_info_label_prefix (info), "ZL");
108
    nstring_copy_cstring(c_out_info_label_prefix(info), "ZL");
81
    nstring_copy_cstring (c_out_info_terminal_prefix (info), "ZB");
109
    nstring_copy_cstring(c_out_info_terminal_prefix(info), "ZB");
82
    info->prototypes  = FALSE;
110
    info->prototypes  = FALSE;
83
    info->ossg        = FALSE;
-
 
84
    info->numeric_ids = FALSE;
111
    info->numeric_ids = FALSE;
85
    info->casts       = FALSE;
112
    info->casts       = FALSE;
86
    info->unreachable = FALSE;
113
    info->unreachable = FALSE;
87
    info->lines       = TRUE;
114
    info->lines       = TRUE;
88
    info->split       = 0;
115
    info->split       = 0;
89
}
116
}
90
 
117
 
91
#ifdef FS_FAST
118
#ifdef FS_FAST
92
#undef c_out_info_info
119
#undef c_out_info_info
93
#endif /* defined (FS_FAST) */
120
#endif /* defined (FS_FAST) */
94
OutputInfoP
121
OutputInfoP
95
c_out_info_info PROTO_N ((info))
-
 
96
		PROTO_T (COutputInfoP info)
122
c_out_info_info(COutputInfoP info)
97
{
123
{
98
    return (info->info);
124
    return(info->info);
99
}
125
}
100
#ifdef FS_FAST
126
#ifdef FS_FAST
101
#define c_out_info_info(o) ((o)->info)
127
#define c_out_info_info(o)	((o)->info)
102
#endif /* defined (FS_FAST) */
128
#endif /* defined (FS_FAST) */
103
 
129
 
104
#ifdef FS_FAST
130
#ifdef FS_FAST
105
#undef c_out_info_ostream
131
#undef c_out_info_ostream
106
#endif /* defined (FS_FAST) */
132
#endif /* defined (FS_FAST) */
107
OStreamP
133
OStreamP
108
c_out_info_ostream PROTO_N ((info))
134
c_out_info_ostream(COutputInfoP info)
-
 
135
{
-
 
136
    return(out_info_get_current_ostream(info->info));
-
 
137
}
-
 
138
#ifdef FS_FAST
-
 
139
#define c_out_info_ostream(o)	(out_info_get_current_ostream((o)->info))
-
 
140
#endif /* defined (FS_FAST) */
-
 
141
 
-
 
142
#ifdef FS_FAST
-
 
143
#undef c_out_info_program_name
-
 
144
#endif /* defined (FS_FAST) */
-
 
145
CStringP
109
		   PROTO_T (COutputInfoP info)
146
c_out_info_program_name(COutputInfoP info)
110
{
147
{
111
    return (out_info_get_current_ostream (info->info));
148
    return(out_info_get_prog_name(info->info));
112
}
149
}
113
#ifdef FS_FAST
150
#ifdef FS_FAST
114
#define c_out_info_ostream(o) (out_info_get_current_ostream ((o)->info))
-
 
115
#endif /* defined (FS_FAST) */
-
 
116
 
-
 
117
#ifdef FS_FAST
-
 
118
#undef c_out_info_program_name
-
 
119
#endif /* defined (FS_FAST) */
-
 
120
CStringP
-
 
121
c_out_info_program_name PROTO_N ((info))
-
 
122
			PROTO_T (COutputInfoP info)
-
 
123
{
-
 
124
    return (out_info_get_prog_name (info->info));
-
 
125
}
-
 
126
#ifdef FS_FAST
-
 
127
#define c_out_info_program_name(o) (out_info_get_prog_name ((o)->info))
151
#define c_out_info_program_name(o)	(out_info_get_prog_name((o)->info))
128
#endif /* defined (FS_FAST) */
152
#endif /* defined (FS_FAST) */
129
 
153
 
130
#ifdef FS_FAST
154
#ifdef FS_FAST
131
#undef c_out_info_source_name
155
#undef c_out_info_source_name
132
#endif /* defined (FS_FAST) */
156
#endif /* defined (FS_FAST) */
133
CStringP
157
CStringP
134
c_out_info_source_name PROTO_N ((info))
158
c_out_info_source_name(COutputInfoP info)
135
		       PROTO_T (COutputInfoP info)
-
 
136
{
159
{
137
    return (out_info_get_infile_name (info->info, (unsigned) 0));
160
    return(out_info_get_infile_name(info->info, (unsigned)0));
138
}
161
}
139
#ifdef FS_FAST
162
#ifdef FS_FAST
140
#define c_out_info_source_name(o) \
163
#define c_out_info_source_name(o)\
141
(out_info_get_infile_name ((o)->info, (unsigned) 0))
164
(out_info_get_infile_name((o)->info, (unsigned)0))
142
#endif /* defined (FS_FAST) */
165
#endif /* defined (FS_FAST) */
143
 
166
 
144
#ifdef FS_FAST
167
#ifdef FS_FAST
145
#undef c_out_info_c_source_name
168
#undef c_out_info_c_source_name
146
#endif /* defined (FS_FAST) */
169
#endif /* defined (FS_FAST) */
147
CStringP
170
CStringP
148
c_out_info_c_source_name PROTO_N ((info))
171
c_out_info_c_source_name(COutputInfoP info)
149
			 PROTO_T (COutputInfoP info)
-
 
150
{
172
{
151
    return (out_info_get_infile_name (info->info, (unsigned) 1));
173
    return(out_info_get_infile_name(info->info, (unsigned)1));
152
}
174
}
153
#ifdef FS_FAST
175
#ifdef FS_FAST
154
#define c_out_info_c_source_name(o) \
176
#define c_out_info_c_source_name(o)\
155
(out_info_get_infile_name ((o)->info, (unsigned) 1))
177
(out_info_get_infile_name((o)->info, (unsigned)1))
156
#endif /* defined (FS_FAST) */
178
#endif /* defined (FS_FAST) */
157
 
179
 
158
#ifdef FS_FAST
180
#ifdef FS_FAST
159
#undef c_out_info_get_header1
181
#undef c_out_info_get_header1
160
#endif /* defined (FS_FAST) */
182
#endif /* defined (FS_FAST) */
161
CCodeP
183
CCodeP
162
c_out_info_get_header1 PROTO_N ((info))
184
c_out_info_get_header1(COutputInfoP info)
163
		       PROTO_T (COutputInfoP info)
-
 
164
{
185
{
165
    return (info->header1);
186
    return(info->header1);
166
}
187
}
167
#ifdef FS_FAST
188
#ifdef FS_FAST
168
#define c_out_info_get_header1(o) ((o)->header1)
189
#define c_out_info_get_header1(o)	((o)->header1)
169
#endif /* defined (FS_FAST) */
190
#endif /* defined (FS_FAST) */
170
 
191
 
171
#ifdef FS_FAST
192
#ifdef FS_FAST
172
#undef c_out_info_set_header1
193
#undef c_out_info_set_header1
173
#endif /* defined (FS_FAST) */
194
#endif /* defined (FS_FAST) */
174
void
195
void
175
c_out_info_set_header1 PROTO_N ((info, code))
196
c_out_info_set_header1(COutputInfoP info, CCodeP code)
176
		       PROTO_T (COutputInfoP info X
-
 
177
				CCodeP       code)
-
 
178
{
197
{
179
    info->header1 = code;
198
    info->header1 = code;
180
}
199
}
181
#ifdef FS_FAST
200
#ifdef FS_FAST
182
#define c_out_info_set_header1(o, c) ((o)->header1 = (c))
201
#define c_out_info_set_header1(o, c) ((o)->header1 = (c))
183
#endif /* defined (FS_FAST) */
202
#endif /* defined (FS_FAST) */
184
 
203
 
185
#ifdef FS_FAST
204
#ifdef FS_FAST
186
#undef c_out_info_get_header2
205
#undef c_out_info_get_header2
187
#endif /* defined (FS_FAST) */
206
#endif /* defined (FS_FAST) */
188
CCodeP
207
CCodeP
189
c_out_info_get_header2 PROTO_N ((info))
208
c_out_info_get_header2(COutputInfoP info)
190
		       PROTO_T (COutputInfoP info)
-
 
191
{
209
{
192
    return (info->header2);
210
    return(info->header2);
193
}
211
}
194
#ifdef FS_FAST
212
#ifdef FS_FAST
195
#define c_out_info_get_header2(o) ((o)->header2)
213
#define c_out_info_get_header2(o) ((o)->header2)
196
#endif /* defined (FS_FAST) */
214
#endif /* defined (FS_FAST) */
197
 
215
 
198
#ifdef FS_FAST
216
#ifdef FS_FAST
199
#undef c_out_info_set_header2
217
#undef c_out_info_set_header2
200
#endif /* defined (FS_FAST) */
218
#endif /* defined (FS_FAST) */
201
void
219
void
202
c_out_info_set_header2 PROTO_N ((info, code))
220
c_out_info_set_header2(COutputInfoP info, CCodeP code)
203
		       PROTO_T (COutputInfoP info X
-
 
204
				CCodeP       code)
-
 
205
{
221
{
206
    info->header2 = code;
222
    info->header2 = code;
207
}
223
}
208
#ifdef FS_FAST
224
#ifdef FS_FAST
209
#define c_out_info_set_header2(o, c) ((o)->header2 = (c))
225
#define c_out_info_set_header2(o, c)	((o)->header2 = (c))
210
#endif /* defined (FS_FAST) */
226
#endif /* defined (FS_FAST) */
211
 
227
 
212
#ifdef FS_FAST
228
#ifdef FS_FAST
213
#undef c_out_info_get_trailer1
229
#undef c_out_info_get_trailer1
214
#endif /* defined (FS_FAST) */
230
#endif /* defined (FS_FAST) */
215
CCodeP
231
CCodeP
216
c_out_info_get_trailer1 PROTO_N ((info))
232
c_out_info_get_trailer1(COutputInfoP info)
217
			PROTO_T (COutputInfoP info)
-
 
218
{
233
{
219
    return (info->trailer1);
234
    return(info->trailer1);
220
}
235
}
221
#ifdef FS_FAST
236
#ifdef FS_FAST
222
#define c_out_info_get_trailer1(o) ((o)->trailer1)
237
#define c_out_info_get_trailer1(o)	((o)->trailer1)
223
#endif /* defined (FS_FAST) */
238
#endif /* defined (FS_FAST) */
224
 
239
 
225
#ifdef FS_FAST
240
#ifdef FS_FAST
226
#undef c_out_info_set_trailer1
241
#undef c_out_info_set_trailer1
227
#endif /* defined (FS_FAST) */
242
#endif /* defined (FS_FAST) */
228
void
243
void
229
c_out_info_set_trailer1 PROTO_N ((info, code))
244
c_out_info_set_trailer1(COutputInfoP info, CCodeP code)
230
			PROTO_T (COutputInfoP info X
-
 
231
				 CCodeP       code)
-
 
232
{
245
{
233
    info->trailer1 = code;
246
    info->trailer1 = code;
234
}
247
}
235
#ifdef FS_FAST
248
#ifdef FS_FAST
236
#define c_out_info_set_trailer1(o, c) ((o)->trailer1 = (c))
249
#define c_out_info_set_trailer1(o, c)	((o)->trailer1 = (c))
237
#endif /* defined (FS_FAST) */
250
#endif /* defined (FS_FAST) */
238
 
251
 
239
#ifdef FS_FAST
252
#ifdef FS_FAST
240
#undef c_out_info_get_trailer2
253
#undef c_out_info_get_trailer2
241
#endif /* defined (FS_FAST) */
254
#endif /* defined (FS_FAST) */
242
CCodeP
255
CCodeP
243
c_out_info_get_trailer2 PROTO_N ((info))
256
c_out_info_get_trailer2(COutputInfoP info)
244
			PROTO_T (COutputInfoP info)
-
 
245
{
257
{
246
    return (info->trailer2);
258
    return(info->trailer2);
247
}
259
}
248
#ifdef FS_FAST
260
#ifdef FS_FAST
249
#define c_out_info_get_trailer2(o) ((o)->trailer2)
261
#define c_out_info_get_trailer2(o)	((o)->trailer2)
250
#endif /* defined (FS_FAST) */
262
#endif /* defined (FS_FAST) */
251
 
263
 
252
#ifdef FS_FAST
264
#ifdef FS_FAST
253
#undef c_out_info_set_trailer2
265
#undef c_out_info_set_trailer2
254
#endif /* defined (FS_FAST) */
266
#endif /* defined (FS_FAST) */
255
void
267
void
256
c_out_info_set_trailer2 PROTO_N ((info, code))
268
c_out_info_set_trailer2(COutputInfoP info, CCodeP code)
257
			PROTO_T (COutputInfoP info X
-
 
258
				 CCodeP       code)
-
 
259
{
269
{
260
    info->trailer2 = code;
270
    info->trailer2 = code;
261
}
271
}
262
#ifdef FS_FAST
272
#ifdef FS_FAST
263
#define c_out_info_set_trailer2(o, c) ((o)->trailer2 = (c))
273
#define c_out_info_set_trailer2(o, c)	((o)->trailer2 = (c))
264
#endif /* defined (FS_FAST) */
274
#endif /* defined (FS_FAST) */
265
 
275
 
266
#ifdef FS_FAST
276
#ifdef FS_FAST
267
#undef c_out_info_type_prefix
277
#undef c_out_info_type_prefix
268
#endif /* defined (FS_FAST) */
278
#endif /* defined (FS_FAST) */
269
NStringP
279
NStringP
270
c_out_info_type_prefix PROTO_N ((info))
280
c_out_info_type_prefix(COutputInfoP info)
271
		       PROTO_T (COutputInfoP info)
-
 
272
{
281
{
273
    return (&(info->prefixes [CPFX_TYPE]));
282
    return(&(info->prefixes[CPFX_TYPE]));
274
}
283
}
275
#ifdef FS_FAST
284
#ifdef FS_FAST
276
#define c_out_info_type_prefix(o) (&((o)->prefixes [CPFX_TYPE]))
285
#define c_out_info_type_prefix(o)	(&((o)->prefixes[CPFX_TYPE]))
277
#endif /* defined (FS_FAST) */
286
#endif /* defined (FS_FAST) */
278
 
287
 
279
#ifdef FS_FAST
288
#ifdef FS_FAST
280
#undef c_out_info_fn_prefix
289
#undef c_out_info_fn_prefix
281
#endif /* defined (FS_FAST) */
290
#endif /* defined (FS_FAST) */
282
NStringP
291
NStringP
283
c_out_info_fn_prefix PROTO_N ((info))
292
c_out_info_fn_prefix(COutputInfoP info)
284
		     PROTO_T (COutputInfoP info)
-
 
285
{
293
{
286
    return (&(info->prefixes [CPFX_FN]));
294
    return(&(info->prefixes[CPFX_FN]));
287
}
295
}
288
#ifdef FS_FAST
296
#ifdef FS_FAST
289
#define c_out_info_fn_prefix(o) (&((o)->prefixes [CPFX_FN]))
297
#define c_out_info_fn_prefix(o)	(&((o)->prefixes[CPFX_FN]))
290
#endif /* defined (FS_FAST) */
-
 
291
 
-
 
292
#ifdef FS_FAST
-
 
293
#undef c_out_info_in_prefix
-
 
294
#endif /* defined (FS_FAST) */
-
 
295
NStringP
-
 
296
c_out_info_in_prefix PROTO_N ((info))
-
 
297
		     PROTO_T (COutputInfoP info)
-
 
298
{
-
 
299
    return (&(info->prefixes [CPFX_IN]));
-
 
300
}
-
 
301
#ifdef FS_FAST
-
 
302
#define c_out_info_in_prefix(o) (&((o)->prefixes [CPFX_IN]))
-
 
303
#endif /* defined (FS_FAST) */
298
#endif /* defined (FS_FAST) */
304
 
299
 
305
#ifdef FS_FAST
300
#ifdef FS_FAST
306
#undef c_out_info_out_prefix
301
#undef c_out_info_in_prefix
307
#endif /* defined (FS_FAST) */
302
#endif /* defined (FS_FAST) */
308
NStringP
303
NStringP
309
c_out_info_out_prefix PROTO_N ((info))
304
c_out_info_in_prefix(COutputInfoP info)
310
		      PROTO_T (COutputInfoP info)
-
 
311
{
305
{
312
    return (&(info->prefixes [CPFX_OUT]));
306
    return(&(info->prefixes[CPFX_IN]));
313
}
307
}
314
#ifdef FS_FAST
308
#ifdef FS_FAST
-
 
309
#define c_out_info_in_prefix(o)	(&((o)->prefixes[CPFX_IN]))
-
 
310
#endif /* defined (FS_FAST) */
-
 
311
 
-
 
312
#ifdef FS_FAST
-
 
313
#undef c_out_info_out_prefix
-
 
314
#endif /* defined (FS_FAST) */
-
 
315
NStringP
-
 
316
c_out_info_out_prefix(COutputInfoP info)
-
 
317
{
-
 
318
    return(&(info->prefixes[CPFX_OUT]));
-
 
319
}
-
 
320
#ifdef FS_FAST
315
#define c_out_info_out_prefix(o) (&((o)->prefixes [CPFX_OUT]))
321
#define c_out_info_out_prefix(o)	(&((o)->prefixes[CPFX_OUT]))
316
#endif /* defined (FS_FAST) */
322
#endif /* defined (FS_FAST) */
317
 
323
 
318
#ifdef FS_FAST
324
#ifdef FS_FAST
319
#undef c_out_info_label_prefix
325
#undef c_out_info_label_prefix
320
#endif /* defined (FS_FAST) */
326
#endif /* defined (FS_FAST) */
321
NStringP
327
NStringP
322
c_out_info_label_prefix PROTO_N ((info))
328
c_out_info_label_prefix(COutputInfoP info)
323
			PROTO_T (COutputInfoP info)
-
 
324
{
329
{
325
    return (&(info->prefixes [CPFX_LABEL]));
330
    return(&(info->prefixes[CPFX_LABEL]));
326
}
331
}
327
#ifdef FS_FAST
332
#ifdef FS_FAST
328
#define c_out_info_label_prefix(o) (&((o)->prefixes [CPFX_LABEL]))
333
#define c_out_info_label_prefix(o)	(&((o)->prefixes[CPFX_LABEL]))
329
#endif /* defined (FS_FAST) */
334
#endif /* defined (FS_FAST) */
330
 
335
 
331
#ifdef FS_FAST
336
#ifdef FS_FAST
332
#undef c_out_info_terminal_prefix
337
#undef c_out_info_terminal_prefix
333
#endif /* defined (FS_FAST) */
338
#endif /* defined (FS_FAST) */
334
NStringP
339
NStringP
335
c_out_info_terminal_prefix PROTO_N ((info))
340
c_out_info_terminal_prefix(COutputInfoP info)
336
			   PROTO_T (COutputInfoP info)
-
 
337
{
341
{
338
    return (&(info->prefixes [CPFX_TERMINAL]));
342
    return(&(info->prefixes[CPFX_TERMINAL]));
339
}
343
}
340
#ifdef FS_FAST
344
#ifdef FS_FAST
341
#define c_out_info_terminal_prefix(o) (&((o)->prefixes [CPFX_TERMINAL]))
345
#define c_out_info_terminal_prefix(o)	(&((o)->prefixes[CPFX_TERMINAL]))
342
#endif /* defined (FS_FAST) */
346
#endif /* defined (FS_FAST) */
343
 
347
 
344
#ifdef FS_FAST
348
#ifdef FS_FAST
345
#undef c_out_info_prefix
349
#undef c_out_info_prefix
346
#endif /* defined (FS_FAST) */
350
#endif /* defined (FS_FAST) */
347
NStringP
351
NStringP
348
c_out_info_prefix PROTO_N ((info, prefix))
352
c_out_info_prefix(COutputInfoP info, CPrefixT prefix)
349
		  PROTO_T (COutputInfoP info X
-
 
350
			   CPrefixT     prefix)
-
 
351
{
353
{
352
    return (&(info->prefixes [prefix]));
354
    return(&(info->prefixes[prefix]));
353
}
355
}
354
#ifdef FS_FAST
356
#ifdef FS_FAST
355
#define c_out_info_prefix(o, i) (&((o)->prefixes [i]))
357
#define c_out_info_prefix(o, i)	(&((o)->prefixes[i]))
356
#endif /* defined (FS_FAST) */
358
#endif /* defined (FS_FAST) */
357
 
359
 
358
#ifdef FS_FAST
360
#ifdef FS_FAST
359
#undef c_out_info_get_prototypes
361
#undef c_out_info_get_prototypes
360
#endif /* defined (FS_FAST) */
362
#endif /* defined (FS_FAST) */
361
BoolT
-
 
362
c_out_info_get_prototypes PROTO_N ((info))
-
 
363
			  PROTO_T (COutputInfoP info)
-
 
364
{
-
 
365
    return (info->prototypes);
-
 
366
}
-
 
367
#ifdef FS_FAST
-
 
368
#define c_out_info_get_prototypes(o) ((o)->prototypes)
-
 
369
#endif /* defined (FS_FAST) */
-
 
370
 
-
 
371
#ifdef FS_FAST
-
 
372
#undef c_out_info_set_prototypes
-
 
373
#endif /* defined (FS_FAST) */
-
 
374
void
-
 
375
c_out_info_set_prototypes PROTO_N ((info, prototypes))
-
 
376
			  PROTO_T (COutputInfoP info X
-
 
377
				   BoolT        prototypes)
-
 
378
{
-
 
379
    info->prototypes = prototypes;
-
 
380
}
-
 
381
#ifdef FS_FAST
-
 
382
#define c_out_info_set_prototypes(o, b) ((o)->prototypes = (b))
-
 
383
#endif /* defined (FS_FAST) */
-
 
384
 
-
 
385
#ifdef FS_FAST
-
 
386
#undef c_out_info_get_ossg
-
 
387
#endif /* defined (FS_FAST) */
-
 
388
BoolT
363
BoolT
389
c_out_info_get_ossg PROTO_N ((info))
364
c_out_info_get_prototypes(COutputInfoP info)
390
		    PROTO_T (COutputInfoP info)
-
 
391
{
365
{
392
    return (info->ossg);
366
    return(info->prototypes);
393
}
367
}
394
#ifdef FS_FAST
368
#ifdef FS_FAST
395
#define c_out_info_get_ossg(o) ((o)->ossg)
369
#define c_out_info_get_prototypes(o)	((o)->prototypes)
396
#endif /* defined (FS_FAST) */
370
#endif /* defined (FS_FAST) */
397
 
371
 
398
#ifdef FS_FAST
372
#ifdef FS_FAST
399
#undef c_out_info_set_ossg
373
#undef c_out_info_set_prototypes
400
#endif /* defined (FS_FAST) */
374
#endif /* defined (FS_FAST) */
401
void
375
void
402
c_out_info_set_ossg PROTO_N ((info, ossg))
376
c_out_info_set_prototypes(COutputInfoP info, BoolT prototypes)
403
		    PROTO_T (COutputInfoP info X
-
 
404
			     BoolT        ossg)
-
 
405
{
377
{
406
    info->ossg = ossg;
378
    info->prototypes = prototypes;
407
}
379
}
408
#ifdef FS_FAST
380
#ifdef FS_FAST
409
#define c_out_info_set_ossg(o, b) ((o)->ossg = (b))
381
#define c_out_info_set_prototypes(o, b)	((o)->prototypes = (b))
410
#endif /* defined (FS_FAST) */
382
#endif /* defined (FS_FAST) */
411
 
383
 
412
#ifdef FS_FAST
384
#ifdef FS_FAST
413
#undef c_out_info_get_numeric_ids
385
#undef c_out_info_get_numeric_ids
414
#endif /* defined (FS_FAST) */
386
#endif /* defined (FS_FAST) */
415
BoolT
387
BoolT
416
c_out_info_get_numeric_ids PROTO_N ((info))
388
c_out_info_get_numeric_ids(COutputInfoP info)
417
			   PROTO_T (COutputInfoP info)
-
 
418
{
389
{
419
    return (info->numeric_ids);
390
    return(info->numeric_ids);
420
}
391
}
421
#ifdef FS_FAST
392
#ifdef FS_FAST
422
#define c_out_info_get_numeric_ids(o) ((o)->numeric_ids)
393
#define c_out_info_get_numeric_ids(o)	((o)->numeric_ids)
423
#endif /* defined (FS_FAST) */
394
#endif /* defined (FS_FAST) */
424
 
395
 
425
#ifdef FS_FAST
396
#ifdef FS_FAST
426
#undef c_out_info_set_numeric_ids
397
#undef c_out_info_set_numeric_ids
427
#endif /* defined (FS_FAST) */
398
#endif /* defined (FS_FAST) */
428
void
399
void
429
c_out_info_set_numeric_ids PROTO_N ((info, numeric_ids))
400
c_out_info_set_numeric_ids(COutputInfoP info, BoolT numeric_ids)
430
			   PROTO_T (COutputInfoP info X
-
 
431
				    BoolT        numeric_ids)
-
 
432
{
401
{
433
    info->numeric_ids = numeric_ids;
402
    info->numeric_ids = numeric_ids;
434
}
403
}
435
#ifdef FS_FAST
404
#ifdef FS_FAST
436
#define c_out_info_set_numeric_ids(o, b) ((o)->numeric_ids = (b))
405
#define c_out_info_set_numeric_ids(o, b)	((o)->numeric_ids = (b))
437
#endif /* defined (FS_FAST) */
406
#endif /* defined (FS_FAST) */
438
 
407
 
439
#ifdef FS_FAST
408
#ifdef FS_FAST
440
#undef c_out_info_get_casts
409
#undef c_out_info_get_casts
441
#endif /* defined (FS_FAST) */
410
#endif /* defined (FS_FAST) */
442
BoolT
411
BoolT
443
c_out_info_get_casts PROTO_N ((info))
412
c_out_info_get_casts(COutputInfoP info)
444
		     PROTO_T (COutputInfoP info)
-
 
445
{
413
{
446
    return (info->casts);
414
    return(info->casts);
447
}
415
}
448
#ifdef FS_FAST
416
#ifdef FS_FAST
449
#define c_out_info_get_casts(o) ((o)->casts)
417
#define c_out_info_get_casts(o)	((o)->casts)
450
#endif /* defined (FS_FAST) */
418
#endif /* defined (FS_FAST) */
451
 
419
 
452
#ifdef FS_FAST
420
#ifdef FS_FAST
453
#undef c_out_info_set_casts
421
#undef c_out_info_set_casts
454
#endif /* defined (FS_FAST) */
422
#endif /* defined (FS_FAST) */
455
void
423
void
456
c_out_info_set_casts PROTO_N ((info, casts))
424
c_out_info_set_casts(COutputInfoP info, BoolT casts)
457
		     PROTO_T (COutputInfoP info X
-
 
458
			      BoolT        casts)
-
 
459
{
425
{
460
    info->casts = casts;
426
    info->casts = casts;
461
}
427
}
462
#ifdef FS_FAST
428
#ifdef FS_FAST
463
#define c_out_info_set_casts(o, b) ((o)->casts = (b))
429
#define c_out_info_set_casts(o, b)	((o)->casts = (b))
464
#endif /* defined (FS_FAST) */
430
#endif /* defined (FS_FAST) */
465
 
431
 
466
#ifdef FS_FAST
432
#ifdef FS_FAST
467
#undef c_out_info_get_unreachable
433
#undef c_out_info_get_unreachable
468
#endif /* defined (FS_FAST) */
434
#endif /* defined (FS_FAST) */
469
BoolT
435
BoolT
470
c_out_info_get_unreachable PROTO_N ((info))
436
c_out_info_get_unreachable(COutputInfoP info)
471
    			   PROTO_T (COutputInfoP info)
-
 
472
{
437
{
473
    return (info->unreachable);
438
    return(info->unreachable);
474
}
439
}
475
#ifdef FS_FAST
440
#ifdef FS_FAST
476
#define c_out_info_get_unreachable(o) ((o)->unreachable)
441
#define c_out_info_get_unreachable(o)	((o)->unreachable)
477
#endif /* defined (FS_FAST) */
442
#endif /* defined (FS_FAST) */
478
 
443
 
479
#ifdef FS_FAST
444
#ifdef FS_FAST
480
#undef c_out_info_set_unreachable
445
#undef c_out_info_set_unreachable
481
#endif /* defined (FS_FAST) */
446
#endif /* defined (FS_FAST) */
482
void
447
void
483
c_out_info_set_unreachable PROTO_N ((info, unreachable))
448
c_out_info_set_unreachable(COutputInfoP info, BoolT unreachable)
484
    			   PROTO_T (COutputInfoP info X
-
 
485
				    BoolT        unreachable)
-
 
486
{
449
{
487
    info->unreachable = unreachable;
450
    info->unreachable = unreachable;
488
}
451
}
489
#ifdef FS_FAST
452
#ifdef FS_FAST
490
#define c_out_info_set_unreachable(o, b) ((o)->unreachable = (b))
453
#define c_out_info_set_unreachable(o, b)	((o)->unreachable = (b))
491
#endif /* defined (FS_FAST) */
454
#endif /* defined (FS_FAST) */
492
 
455
 
493
#ifdef FS_FAST
456
#ifdef FS_FAST
494
#undef c_out_info_get_lines
457
#undef c_out_info_get_lines
495
#endif /* defined (FS_FAST) */
458
#endif /* defined (FS_FAST) */
496
BoolT
459
BoolT
497
c_out_info_get_lines PROTO_N ((info))
460
c_out_info_get_lines(COutputInfoP info)
498
		     PROTO_T (COutputInfoP info)
-
 
499
{
461
{
500
    return (info->lines);
462
    return(info->lines);
501
}
463
}
502
#ifdef FS_FAST
464
#ifdef FS_FAST
503
#define c_out_info_get_lines(o) ((o)->lines)
465
#define c_out_info_get_lines(o)	((o)->lines)
504
#endif /* defined (FS_FAST) */
466
#endif /* defined (FS_FAST) */
505
 
467
 
506
#ifdef FS_FAST
468
#ifdef FS_FAST
507
#undef c_out_info_set_lines
469
#undef c_out_info_set_lines
508
#endif /* defined (FS_FAST) */
470
#endif /* defined (FS_FAST) */
509
void
471
void
510
c_out_info_set_lines PROTO_N ((info, lines))
472
c_out_info_set_lines(COutputInfoP info, BoolT lines)
511
		     PROTO_T (COutputInfoP info X
-
 
512
			      BoolT        lines)
-
 
513
{
473
{
514
    info->lines = lines;
474
    info->lines = lines;
515
}
475
}
516
#ifdef FS_FAST
476
#ifdef FS_FAST
517
#define c_out_info_set_lines(o, b) ((o)->lines = (b))
477
#define c_out_info_set_lines(o, b)	((o)->lines = (b))
518
#endif /* defined (FS_FAST) */
478
#endif /* defined (FS_FAST) */
519
 
479
 
520
#ifdef FS_FAST
480
#ifdef FS_FAST
521
#undef c_out_info_get_split
481
#undef c_out_info_get_split
522
#endif /* defined (FS_FAST) */
482
#endif /* defined (FS_FAST) */
523
unsigned
483
unsigned
524
c_out_info_get_split PROTO_N ((info))
484
c_out_info_get_split(COutputInfoP info)
525
		    PROTO_T (COutputInfoP info)
-
 
526
{
485
{
527
    return (info->split);
486
    return(info->split);
528
}
487
}
529
#ifdef FS_FAST
488
#ifdef FS_FAST
530
#define c_out_info_get_split(o) ((o)->split)
489
#define c_out_info_get_split(o)	((o)->split)
531
#endif /* defined (FS_FAST) */
490
#endif /* defined (FS_FAST) */
532
 
491
 
533
#ifdef FS_FAST
492
#ifdef FS_FAST
534
#undef c_out_info_set_split
493
#undef c_out_info_set_split
535
#endif /* defined (FS_FAST) */
494
#endif /* defined (FS_FAST) */
536
void
495
void
537
c_out_info_set_split PROTO_N ((info, split))
496
c_out_info_set_split(COutputInfoP info, unsigned split)
538
		    PROTO_T (COutputInfoP info X
-
 
539
			     unsigned     split)
-
 
540
{
497
{
541
    info->split = split;
498
    info->split = split;
542
}
499
}
543
#ifdef FS_FAST
500
#ifdef FS_FAST
544
#define c_out_info_set_split(o, n) ((o)->split = (n))
501
#define c_out_info_set_split(o, n)	((o)->split = (n))
545
#endif /* defined (FS_FAST) */
502
#endif /* defined (FS_FAST) */
546

503

547
/*
504
/*
548
 * Local variables(smf):
505
 * Local variables(smf):
549
 * eval: (include::add-path-entry "../os-interface" "../library")
506
 * eval: (include::add-path-entry "../os-interface" "../library")