* remote.c (remote_wait): Fix cast on signal() call.
[deliverable/binutils-gdb.git] / gdb / defs.h
CommitLineData
7d9884b9 1/* Basic, host-specific, and target-specific definitions for GDB.
bd5635a1
RP
2 Copyright (C) 1986, 1989, 1991 Free Software Foundation, Inc.
3
4This file is part of GDB.
5
a10c0d36 6This program is free software; you can redistribute it and/or modify
bd5635a1 7it under the terms of the GNU General Public License as published by
a10c0d36
JG
8the Free Software Foundation; either version 2 of the License, or
9(at your option) any later version.
bd5635a1 10
a10c0d36 11This program is distributed in the hope that it will be useful,
bd5635a1
RP
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
a10c0d36
JG
17along with this program; if not, write to the Free Software
18Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
bd5635a1 19
c1ace5b5 20#if !defined (DEFS_H)
d747e0af
MT
21#define DEFS_H 1
22
23#include <stdio.h>
24
25/* First include ansidecl.h so we can use the various macro definitions
debd3443 26 here and in all subsequent file inclusions. */
d747e0af
MT
27
28#include "ansidecl.h"
29
bd5635a1
RP
30/* An address in the program being debugged. Host byte order. */
31typedef unsigned int CORE_ADDR;
32
33#define min(a, b) ((a) < (b) ? (a) : (b))
34#define max(a, b) ((a) > (b) ? (a) : (b))
35
36/* The character C++ uses to build identifiers that must be unique from
37 the program's identifiers (such as $this and $$vptr). */
38#define CPLUS_MARKER '$' /* May be overridden to '.' for SysV */
39
e146177e 40#include <errno.h> /* System call error return status */
bd5635a1
RP
41
42extern int quit_flag;
43extern int immediate_quit;
d747e0af
MT
44
45extern void
46quit PARAMS ((void));
bd5635a1
RP
47
48#define QUIT { if (quit_flag) quit (); }
49
50/* Notes on classes: class_alias is for alias commands which are not
51 abbreviations of the original command. */
52
53enum command_class
54{
55 /* Special args to help_list */
56 all_classes = -2, all_commands = -1,
57 /* Classes of commands */
58 no_class = -1, class_run = 0, class_vars, class_stack,
59 class_files, class_support, class_info, class_breakpoint,
60 class_alias, class_obscure, class_user
61};
62
63/* the cleanup list records things that have to be undone
64 if an error happens (descriptors to be closed, memory to be freed, etc.)
65 Each link in the chain records a function to call and an
66 argument to give it.
67
68 Use make_cleanup to add an element to the cleanup chain.
69 Use do_cleanups to do all cleanup actions back to a given
70 point in the chain. Use discard_cleanups to remove cleanups
71 from the chain back to a given point, not doing them. */
72
73struct cleanup
74{
75 struct cleanup *next;
d747e0af
MT
76 void (*function) PARAMS ((PTR));
77 PTR arg;
bd5635a1
RP
78};
79
d747e0af
MT
80/* From blockframe.c */
81
82extern int
e146177e 83inside_entry_func PARAMS ((CORE_ADDR));
d747e0af
MT
84
85extern int
e146177e 86inside_entry_file PARAMS ((CORE_ADDR addr));
d747e0af
MT
87
88extern int
e146177e 89inside_main_func PARAMS ((CORE_ADDR pc));
d747e0af
MT
90
91/* From cplus-dem.c */
92
93extern char *
94cplus_demangle PARAMS ((const char *, int));
95
96extern char *
97cplus_mangle_opname PARAMS ((char *, int));
98
318bf84f 99/* From libmmalloc.a (memory mapped malloc library) */
d747e0af
MT
100
101extern PTR
318bf84f 102mmalloc_attach PARAMS ((int, PTR));
d747e0af
MT
103
104extern PTR
318bf84f 105mmalloc_detach PARAMS ((PTR));
d747e0af
MT
106
107extern PTR
318bf84f 108mmalloc PARAMS ((PTR, long));
d747e0af
MT
109
110extern PTR
318bf84f 111mrealloc PARAMS ((PTR, PTR, long));
d747e0af
MT
112
113extern void
318bf84f 114mfree PARAMS ((PTR, PTR));
d747e0af 115
318bf84f
FF
116extern int
117mmalloc_setkey PARAMS ((PTR, int, PTR));
d747e0af
MT
118
119extern PTR
318bf84f 120mmalloc_getkey PARAMS ((PTR, int));
d747e0af
MT
121
122/* From utils.c */
123
d630b615
FF
124extern char *
125demangle_and_match PARAMS ((const char *, const char *, int));
126
127extern int
128strcmp_iw PARAMS ((const char *, const char *));
129
e146177e
SEF
130extern char *
131safe_strerror PARAMS ((int));
132
133extern char *
134safe_strsignal PARAMS ((int));
135
d747e0af 136extern void
318bf84f 137init_malloc PARAMS ((PTR));
d747e0af
MT
138
139extern void
140request_quit PARAMS ((int));
141
142extern void
143do_cleanups PARAMS ((struct cleanup *));
144
145extern void
146discard_cleanups PARAMS ((struct cleanup *));
147
148/* The bare make_cleanup function is one of those rare beasts that
149 takes almost any type of function as the first arg and anything that
150 will fit in a "void *" as the second arg.
151
152 Should be, once all calls and called-functions are cleaned up:
153extern struct cleanup *
154make_cleanup PARAMS ((void (*function) (PTR), PTR));
155
156 Until then, lint and/or various type-checking compiler options will
157 complain about make_cleanup calls. It'd be wrong to just cast things,
158 since the type actually passed when the function is called would be
159 wrong. */
160
161extern struct cleanup *
162make_cleanup ();
163
164extern struct cleanup *
165save_cleanups PARAMS ((void));
166
167extern void
168restore_cleanups PARAMS ((struct cleanup *));
169
170extern void
171free_current_contents PARAMS ((char **));
172
173extern void
174null_cleanup PARAMS ((char **));
175
176extern int
177myread PARAMS ((int, char *, int));
178
179extern int
180query ();
181
182extern void
183wrap_here PARAMS ((char *));
184
185extern void
186reinitialize_more_filter PARAMS ((void));
187
188extern int
189print_insn PARAMS ((CORE_ADDR, FILE *));
190
191extern void
192fputs_filtered PARAMS ((const char *, FILE *));
193
194extern void
195puts_filtered PARAMS ((char *));
196
197extern void
198fprintf_filtered ();
199
200extern void
201printf_filtered ();
202
203extern void
204print_spaces PARAMS ((int, FILE *));
205
206extern void
207print_spaces_filtered PARAMS ((int, FILE *));
208
209extern char *
210n_spaces PARAMS ((int));
211
212extern void
213printchar PARAMS ((int, FILE *, int));
214
e676a15f
FF
215extern char *
216strdup_demangled PARAMS ((const char *));
217
d747e0af
MT
218extern void
219fprint_symbol PARAMS ((FILE *, char *));
220
221extern void
222fputs_demangled PARAMS ((char *, FILE *, int));
223
224extern void
225perror_with_name PARAMS ((char *));
226
227extern void
228print_sys_errmsg PARAMS ((char *, int));
229
230/* From regex.c */
231
232extern char *
233re_comp PARAMS ((char *));
234
235/* From symfile.c */
236
237extern void
238symbol_file_command PARAMS ((char *, int));
239
240/* From main.c */
241
d630b615
FF
242extern char *
243skip_quoted PARAMS ((char *));
244
d747e0af
MT
245extern char *
246gdb_readline PARAMS ((char *));
247
248extern char *
249command_line_input PARAMS ((char *, int));
250
251extern void
252print_prompt PARAMS ((void));
253
254extern int
255batch_mode PARAMS ((void));
256
257extern int
258input_from_terminal_p PARAMS ((void));
259
260extern int
261catch_errors PARAMS ((int (*) (char *), char *, char *));
bd5635a1
RP
262
263/* From printcmd.c */
d747e0af
MT
264
265extern void
266set_next_address PARAMS ((CORE_ADDR));
267
268extern void
269print_address_symbolic PARAMS ((CORE_ADDR, FILE *, int, char *));
270
271extern void
272print_address PARAMS ((CORE_ADDR, FILE *));
bd5635a1 273
e1ce8aa5 274/* From source.c */
d747e0af
MT
275
276extern int
277openp PARAMS ((char *, int, char *, int, int, char **));
278
279extern void
280mod_path PARAMS ((char *, char **));
281
282extern void
283directory_command PARAMS ((char *, int));
284
285extern void
286init_source_path PARAMS ((void));
287
288/* From findvar.c */
289
290extern int
291read_relative_register_raw_bytes PARAMS ((int, char *));
e1ce8aa5 292
bd5635a1 293/* From readline (but not in any readline .h files). */
d747e0af
MT
294
295extern char *
296tilde_expand PARAMS ((char *));
bd5635a1
RP
297
298/* Structure for saved commands lines
299 (for breakpoints, defined commands, etc). */
300
301struct command_line
302{
303 struct command_line *next;
304 char *line;
305};
306
d747e0af
MT
307extern struct command_line *
308read_command_lines PARAMS ((void));
309
310extern void
311free_command_lines PARAMS ((struct command_line **));
bd5635a1
RP
312
313/* String containing the current directory (what getwd would return). */
314
d747e0af 315extern char *current_directory;
bd5635a1
RP
316
317/* Default radixes for input and output. Only some values supported. */
318extern unsigned input_radix;
319extern unsigned output_radix;
320
321/* Baud rate specified for communication with serial target systems. */
d747e0af 322extern char *baud_rate;
bd5635a1 323
0a5d35ed
SG
324/* Languages represented in the symbol table and elsewhere. */
325
326enum language
327{
328 language_unknown, /* Language not known */
329 language_auto, /* Placeholder for automatic setting */
330 language_c, /* C */
331 language_cplus, /* C++ */
332 language_m2 /* Modula-2 */
333};
334
335/* Return a format string for printf that will print a number in the local
336 (language-specific) hexadecimal format. Result is static and is
337 overwritten by the next call. local_hex_format_custom takes printf
338 options like "08" or "l" (to produce e.g. %08x or %lx). */
339
340#define local_hex_format() (current_language->la_hex_format)
d747e0af
MT
341
342extern char *
343local_hex_format_custom PARAMS ((char *)); /* language.c */
0a5d35ed
SG
344
345/* Return a string that contains a number formatted in the local
346 (language-specific) hexadecimal format. Result is static and is
347 overwritten by the next call. local_hex_string_custom takes printf
348 options like "08" or "l". */
349
d747e0af
MT
350extern char *
351local_hex_string PARAMS ((int)); /* language.c */
352
353extern char *
354local_hex_string_custom PARAMS ((int, char *)); /* language.c */
355
0a5d35ed
SG
356\f
357/* Host machine definition. This will be a symlink to one of the
358 xm-*.h files, built by the `configure' script. */
359
360#include "xm.h"
361
e146177e
SEF
362/* If the xm.h file did not define the mode string used to open the
363 files, assume that binary files are opened the same way as text
364 files */
365#ifndef FOPEN_RB
366#include "fopen-same.h"
367#endif
368
0a5d35ed
SG
369/*
370 * Allow things in gdb to be declared "const". If compiling ANSI, it
371 * just works. If compiling with gcc but non-ansi, redefine to __const__.
372 * If non-ansi, non-gcc, then eliminate "const" entirely, making those
373 * objects be read-write rather than read-only.
374 */
375
376#ifndef const
377#ifndef __STDC__
378# ifdef __GNUC__
379# define const __const__
380# else
381# define const /*nothing*/
382# endif /* GNUC */
383#endif /* STDC */
384#endif /* const */
385
386#ifndef volatile
387#ifndef __STDC__
388# ifdef __GNUC__
389# define volatile __volatile__
390# else
391# define volatile /*nothing*/
392# endif /* GNUC */
393#endif /* STDC */
394#endif /* volatile */
395
d747e0af
MT
396/* Some compilers (many AT&T SVR4 compilers for instance), do not accept
397 declarations of functions that never return (exit for instance) as
398 "volatile void". For such compilers "NORETURN" can be defined away
399 to keep them happy */
400
401#ifndef NORETURN
e676a15f
FF
402# ifdef __lucid
403# define NORETURN /*nothing*/
404# else
405# define NORETURN volatile
406# endif
d747e0af
MT
407#endif
408
0a5d35ed
SG
409/* Defaults for system-wide constants (if not defined by xm.h, we fake it). */
410
bd5635a1
RP
411#if !defined (UINT_MAX)
412#define UINT_MAX 0xffffffff
413#endif
414
415#if !defined (LONG_MAX)
416#define LONG_MAX 0x7fffffff
417#endif
418
e1ce8aa5
JK
419#if !defined (INT_MAX)
420#define INT_MAX 0x7fffffff
421#endif
422
423#if !defined (INT_MIN)
424/* Two's complement, 32 bit. */
425#define INT_MIN -0x80000000
426#endif
427
e2aab031
FF
428/* Number of bits in a char or unsigned char for the target machine.
429 Just like CHAR_BIT in <limits.h> but describes the target machine. */
bd5635a1
RP
430#if !defined (TARGET_CHAR_BIT)
431#define TARGET_CHAR_BIT 8
432#endif
c1ace5b5 433
e2aab031
FF
434/* Number of bits in a short or unsigned short for the target machine. */
435#if !defined (TARGET_SHORT_BIT)
436#define TARGET_SHORT_BIT (sizeof (short) * TARGET_CHAR_BIT)
437#endif
438
439/* Number of bits in an int or unsigned int for the target machine. */
440#if !defined (TARGET_INT_BIT)
441#define TARGET_INT_BIT (sizeof (int) * TARGET_CHAR_BIT)
442#endif
443
444/* Number of bits in a long or unsigned long for the target machine. */
445#if !defined (TARGET_LONG_BIT)
446#define TARGET_LONG_BIT (sizeof (long) * TARGET_CHAR_BIT)
447#endif
448
449/* Number of bits in a long long or unsigned long long for the target machine. */
d166df9b 450#if !defined (TARGET_LONG_LONG_BIT)
e2aab031
FF
451#define TARGET_LONG_LONG_BIT (2 * TARGET_LONG_BIT)
452#endif
453
454/* Number of bits in a float for the target machine. */
455#if !defined (TARGET_FLOAT_BIT)
456#define TARGET_FLOAT_BIT (sizeof (float) * TARGET_CHAR_BIT)
457#endif
458
459/* Number of bits in a double for the target machine. */
460#if !defined (TARGET_DOUBLE_BIT)
461#define TARGET_DOUBLE_BIT (sizeof (double) * TARGET_CHAR_BIT)
462#endif
463
464/* Number of bits in a long double for the target machine. */
465#if !defined (TARGET_LONG_DOUBLE_BIT)
466#define TARGET_LONG_DOUBLE_BIT (2 * TARGET_DOUBLE_BIT)
467#endif
468
469/* Number of bits in a "complex" for the target machine. */
470#if !defined (TARGET_COMPLEX_BIT)
471#define TARGET_COMPLEX_BIT (2 * TARGET_FLOAT_BIT)
472#endif
473
474/* Number of bits in a "double complex" for the target machine. */
475#if !defined (TARGET_DOUBLE_COMPLEX_BIT)
476#define TARGET_DOUBLE_COMPLEX_BIT (2 * TARGET_DOUBLE_BIT)
d166df9b
JK
477#endif
478
d747e0af
MT
479/* Number of bits in a pointer for the target machine */
480#if !defined (TARGET_PTR_BIT)
481#define TARGET_PTR_BIT TARGET_INT_BIT
482#endif
483
e1ce8aa5
JK
484/* Convert a LONGEST to an int. This is used in contexts (e.g. number
485 of arguments to a function, number in a value history, register
486 number, etc.) where the value must not be larger than can fit
487 in an int. */
488#if !defined (longest_to_int)
489#if defined (LONG_LONG)
490#define longest_to_int(x) (((x) > INT_MAX || (x) < INT_MIN) \
28de880c 491 ? (error ("Value out of range."),0) : (int) (x))
e1ce8aa5
JK
492#else /* No LONG_LONG. */
493/* Assume sizeof (int) == sizeof (long). */
494#define longest_to_int(x) ((int) (x))
495#endif /* No LONG_LONG. */
496#endif /* No longest_to_int. */
497
d747e0af
MT
498/* This should not be a typedef, because "unsigned LONGEST" needs
499 to work. LONG_LONG is defined if the host has "long long". */
500
501#ifndef LONGEST
502# ifdef LONG_LONG
503# define LONGEST long long
504# else
505# define LONGEST long
506# endif
507#endif
508
0a5d35ed
SG
509/* Assorted functions we can declare, now that const and volatile are
510 defined. */
d747e0af
MT
511
512extern char *
513savestring PARAMS ((const char *, int));
514
318bf84f
FF
515extern char *
516msavestring PARAMS ((void *, const char *, int));
517
d747e0af
MT
518extern char *
519strsave PARAMS ((const char *));
520
318bf84f
FF
521extern char *
522mstrsave PARAMS ((void *, const char *));
523
d747e0af
MT
524extern char *
525concat PARAMS ((char *, ...));
526
527extern PTR
528xmalloc PARAMS ((long));
529
530extern PTR
318bf84f
FF
531xrealloc PARAMS ((PTR, long));
532
533extern PTR
534xmmalloc PARAMS ((PTR, long));
535
536extern PTR
537xmrealloc PARAMS ((PTR, PTR, long));
538
539extern PTR
540mmalloc PARAMS ((PTR, long));
541
542extern PTR
543mrealloc PARAMS ((PTR, PTR, long));
544
545extern void
546mfree PARAMS ((PTR, PTR));
547
548extern int
549mmcheck PARAMS ((PTR, void (*) (void)));
550
551extern int
552mmtrace PARAMS ((void));
d747e0af
MT
553
554extern int
555parse_escape PARAMS ((char **));
556
e676a15f 557extern const char * const reg_names[];
d747e0af
MT
558
559extern NORETURN void /* Does not return to the caller. */
560error ();
561
562extern NORETURN void /* Does not return to the caller. */
563fatal ();
564
565extern NORETURN void /* Not specified as volatile in ... */
566exit PARAMS ((int)); /* 4.10.4.3 */
567
318bf84f
FF
568extern NORETURN void /* Does not return to the caller. */
569nomem PARAMS ((long));
570
d747e0af
MT
571extern NORETURN void /* Does not return to the caller. */
572return_to_top_level PARAMS ((void));
573
574extern void
575warning_setup PARAMS ((void));
576
577extern void
578warning ();
579
580/* Global functions from other, non-gdb GNU thingies (libiberty for
581 instance) */
582
583extern char *
584basename PARAMS ((char *));
585
586extern char *
587getenv PARAMS ((CONST char *));
588
589extern char **
590buildargv PARAMS ((char *));
591
592extern void
593freeargv PARAMS ((char **));
594
e146177e
SEF
595extern char *
596strerrno PARAMS ((int));
597
598extern char *
599strsigno PARAMS ((int));
600
601extern int
602errno_max PARAMS ((void));
603
604extern int
605signo_max PARAMS ((void));
606
607extern int
608strtoerrno PARAMS ((char *));
609
610extern int
611strtosigno PARAMS ((char *));
612
613extern char *
614strsignal PARAMS ((int));
615
616/* From other system libraries */
617
618#ifndef PSIGNAL_IN_SIGNAL_H
619extern void
620psignal PARAMS ((unsigned, char *));
621#endif
622
d747e0af
MT
623/* For now, we can't include <stdlib.h> because it conflicts with
624 "../include/getopt.h". (FIXME)
625
318bf84f
FF
626 However, if a function is defined in the ANSI C standard and a prototype
627 for that function is defined and visible in any header file in an ANSI
628 conforming environment, then that prototype must match the definition in
629 the ANSI standard. So we can just duplicate them here without conflict,
d747e0af
MT
630 since they must be the same in all conforming ANSI environments. If
631 these cause problems, then the environment is not ANSI conformant. */
632
0a5d35ed 633#ifdef __STDC__
d747e0af 634#include <stddef.h>
0a5d35ed 635#endif
d747e0af
MT
636
637extern int
638fclose PARAMS ((FILE *stream)); /* 4.9.5.1 */
639
e146177e
SEF
640extern void
641perror PARAMS ((const char *)); /* 4.9.10.4 */
642
d747e0af
MT
643extern double
644atof PARAMS ((const char *nptr)); /* 4.10.1.1 */
645
646#ifndef MALLOC_INCOMPATIBLE
318bf84f 647
d747e0af
MT
648extern PTR
649malloc PARAMS ((size_t size)); /* 4.10.3.3 */
650
651extern PTR
652realloc PARAMS ((void *ptr, size_t size)); /* 4.10.3.4 */
653
654extern void
318bf84f
FF
655free PARAMS ((void *)); /* 4.10.3.2 */
656
657#endif /* MALLOC_INCOMPATIBLE */
d747e0af 658
d630b615 659extern void
d747e0af
MT
660qsort PARAMS ((void *base, size_t nmemb, /* 4.10.5.2 */
661 size_t size,
662 int (*comp)(const void *, const void *)));
663
664extern char *
665strchr PARAMS ((const char *, int)); /* 4.11.5.2 */
666
667extern char *
668strrchr PARAMS ((const char *, int)); /* 4.11.5.5 */
669
e146177e
SEF
670extern char *
671strstr PARAMS ((const char *, const char *)); /* 4.11.5.7 */
672
d747e0af
MT
673extern char *
674strtok PARAMS ((char *, const char *)); /* 4.11.5.8 */
675
676extern char *
677strerror PARAMS ((int)); /* 4.11.6.2 */
e2aab031 678
0a5d35ed
SG
679/* Various possibilities for alloca. */
680#ifndef alloca
681# ifdef __GNUC__
682# define alloca __builtin_alloca
683# else
684# ifdef sparc
22fd4704 685# include <alloca.h> /* NOTE: Doesn't declare alloca() */
e676a15f 686# endif
22fd4704 687 extern PTR alloca PARAMS ((size_t));
0a5d35ed
SG
688# endif
689#endif
e2aab031 690
debd3443 691/* TARGET_BYTE_ORDER and HOST_BYTE_ORDER must be defined to one of these. */
a10c0d36 692
0a5d35ed
SG
693#if !defined (BIG_ENDIAN)
694#define BIG_ENDIAN 4321
695#endif
a10c0d36 696
0a5d35ed
SG
697#if !defined (LITTLE_ENDIAN)
698#define LITTLE_ENDIAN 1234
699#endif
a10c0d36 700
0a5d35ed 701/* Target-system-dependent parameters for GDB.
7d9884b9
JG
702
703 The standard thing is to include defs.h. However, files that are
704 specific to a particular target can define TM_FILE_OVERRIDE before
705 including defs.h, then can include any particular tm-file they desire. */
706
707/* Target machine definition. This will be a symlink to one of the
708 tm-*.h files, built by the `configure' script. */
709
710#ifndef TM_FILE_OVERRIDE
711#include "tm.h"
712#endif
713
7d9884b9
JG
714/* The bit byte-order has to do just with numbering of bits in
715 debugging symbols and such. Conceptually, it's quite separate
716 from byte/word byte order. */
717
718#if !defined (BITS_BIG_ENDIAN)
719#if TARGET_BYTE_ORDER == BIG_ENDIAN
720#define BITS_BIG_ENDIAN 1
721#endif /* Big endian. */
722
723#if TARGET_BYTE_ORDER == LITTLE_ENDIAN
724#define BITS_BIG_ENDIAN 0
725#endif /* Little endian. */
726#endif /* BITS_BIG_ENDIAN not defined. */
727
728/* Swap LEN bytes at BUFFER between target and host byte-order. */
729#if TARGET_BYTE_ORDER == HOST_BYTE_ORDER
730#define SWAP_TARGET_AND_HOST(buffer,len)
731#else /* Target and host byte order differ. */
732#define SWAP_TARGET_AND_HOST(buffer,len) \
733 { \
734 char tmp; \
735 char *p = (char *)(buffer); \
736 char *q = ((char *)(buffer)) + len - 1; \
737 for (; p < q; p++, q--) \
738 { \
739 tmp = *q; \
740 *q = *p; \
741 *p = tmp; \
742 } \
743 }
744#endif /* Target and host byte order differ. */
745
746/* On some machines there are bits in addresses which are not really
747 part of the address, but are used by the kernel, the hardware, etc.
748 for special purposes. ADDR_BITS_REMOVE takes out any such bits
749 so we get a "real" address such as one would find in a symbol
750 table. ADDR_BITS_SET sets those bits the way the system wants
751 them. */
752#if !defined (ADDR_BITS_REMOVE)
753#define ADDR_BITS_REMOVE(addr) (addr)
754#define ADDR_BITS_SET(addr) (addr)
755#endif /* No ADDR_BITS_REMOVE. */
756
d747e0af
MT
757/* From valops.c */
758
759extern CORE_ADDR
760push_bytes PARAMS ((CORE_ADDR, char *, int));
761
762/* In some modules, we don't have a definition of REGISTER_TYPE yet, so we
763 must avoid prototyping this function for now. FIXME. Should be:
764extern CORE_ADDR
765push_word PARAMS ((CORE_ADDR, REGISTER_TYPE));
766 */
767extern CORE_ADDR
768push_word ();
769
770#endif /* !defined (DEFS_H) */
This page took 0.086284 seconds and 4 git commands to generate.