OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [start/] [gdb-5.0/] [include/] [libiberty.h] - Blame information for rev 1778

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 106 markom
/* Function declarations for libiberty.
2
   Written by Cygnus Support, 1994.
3
 
4
   The libiberty library provides a number of functions which are
5
   missing on some operating systems.  We do not declare those here,
6
   to avoid conflicts with the system header files on operating
7
   systems that do support those functions.  In this file we only
8
   declare those functions which are specific to libiberty.  */
9
 
10
#ifndef LIBIBERTY_H
11
#define LIBIBERTY_H
12
 
13
#ifdef __cplusplus
14
extern "C" {
15
#endif
16
 
17
#include "ansidecl.h"
18
 
19
/* Build an argument vector from a string.  Allocates memory using
20
   malloc.  Use freeargv to free the vector.  */
21
 
22
extern char **buildargv PARAMS ((char *)) ATTRIBUTE_MALLOC;
23
 
24
/* Free a vector returned by buildargv.  */
25
 
26
extern void freeargv PARAMS ((char **));
27
 
28
/* Duplicate an argument vector. Allocates memory using malloc.  Use
29
   freeargv to free the vector.  */
30
 
31
extern char **dupargv PARAMS ((char **)) ATTRIBUTE_MALLOC;
32
 
33
 
34
/* Return the last component of a path name.  Note that we can't use a
35
   prototype here because the parameter is declared inconsistently
36
   across different systems, sometimes as "char *" and sometimes as
37
   "const char *" */
38
 
39
#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__)
40
extern char *basename PARAMS ((const char *));
41
#else
42
extern char *basename ();
43
#endif
44
 
45
/* Concatenate an arbitrary number of strings, up to (char *) NULL.
46
   Allocates memory using xmalloc.  */
47
 
48
extern char *concat PARAMS ((const char *, ...)) ATTRIBUTE_MALLOC;
49
 
50
/* Check whether two file descriptors refer to the same file.  */
51
 
52
extern int fdmatch PARAMS ((int fd1, int fd2));
53
 
54
/* Get the working directory.  The result is cached, so don't call
55
   chdir() between calls to getpwd().  */
56
 
57
extern char * getpwd PARAMS ((void));
58
 
59
/* Get the amount of time the process has run, in microseconds.  */
60
 
61
extern long get_run_time PARAMS ((void));
62
 
63
/* Choose a temporary directory to use for scratch files.  */
64
 
65
extern char *choose_temp_base PARAMS ((void)) ATTRIBUTE_MALLOC;
66
 
67
/* Return a temporary file name or NULL if unable to create one.  */
68
 
69
extern char *make_temp_file PARAMS ((const char *)) ATTRIBUTE_MALLOC;
70
 
71
/* Allocate memory filled with spaces.  Allocates using malloc.  */
72
 
73
extern const char *spaces PARAMS ((int count));
74
 
75
/* Return the maximum error number for which strerror will return a
76
   string.  */
77
 
78
extern int errno_max PARAMS ((void));
79
 
80
/* Return the name of an errno value (e.g., strerrno (EINVAL) returns
81
   "EINVAL").  */
82
 
83
extern const char *strerrno PARAMS ((int));
84
 
85
/* Given the name of an errno value, return the value.  */
86
 
87
extern int strtoerrno PARAMS ((const char *));
88
 
89
/* ANSI's strerror(), but more robust.  */
90
 
91
extern char *xstrerror PARAMS ((int));
92
 
93
/* Return the maximum signal number for which strsignal will return a
94
   string.  */
95
 
96
extern int signo_max PARAMS ((void));
97
 
98
/* Return a signal message string for a signal number
99
   (e.g., strsignal (SIGHUP) returns something like "Hangup").  */
100
/* This is commented out as it can conflict with one in system headers.
101
   We still document its existence though.  */
102
 
103
/*extern const char *strsignal PARAMS ((int));*/
104
 
105
/* Return the name of a signal number (e.g., strsigno (SIGHUP) returns
106
   "SIGHUP").  */
107
 
108
extern const char *strsigno PARAMS ((int));
109
 
110
/* Given the name of a signal, return its number.  */
111
 
112
extern int strtosigno PARAMS ((const char *));
113
 
114
/* Register a function to be run by xexit.  Returns 0 on success.  */
115
 
116
extern int xatexit PARAMS ((void (*fn) (void)));
117
 
118
/* Exit, calling all the functions registered with xatexit.  */
119
 
120
extern void xexit PARAMS ((int status)) ATTRIBUTE_NORETURN;
121
 
122
/* Set the program name used by xmalloc.  */
123
 
124
extern void xmalloc_set_program_name PARAMS ((const char *));
125
 
126
/* Allocate memory without fail.  If malloc fails, this will print a
127
   message to stderr (using the name set by xmalloc_set_program_name,
128
   if any) and then call xexit.  */
129
 
130
#ifdef ANSI_PROTOTYPES
131
/* Get a definition for size_t.  */
132
#include <stddef.h>
133
/* Get a definition for va_list.  */
134
#include <stdarg.h>
135
#endif
136
extern PTR xmalloc PARAMS ((size_t)) ATTRIBUTE_MALLOC;
137
 
138
/* Reallocate memory without fail.  This works like xmalloc.  Note,
139
   realloc type functions are not suitable for attribute malloc since
140
   they may return the same address across multiple calls. */
141
 
142
extern PTR xrealloc PARAMS ((PTR, size_t));
143
 
144
/* Allocate memory without fail and set it to zero.  This works like
145
   xmalloc.  */
146
 
147
extern PTR xcalloc PARAMS ((size_t, size_t)) ATTRIBUTE_MALLOC;
148
 
149
/* Copy a string into a memory buffer without fail.  */
150
 
151
extern char *xstrdup PARAMS ((const char *)) ATTRIBUTE_MALLOC;
152
 
153
/* Copy an existing memory buffer to a new memory buffer without fail.  */
154
 
155
extern PTR xmemdup PARAMS ((const PTR, size_t, size_t)) ATTRIBUTE_MALLOC;
156
 
157
/* hex character manipulation routines */
158
 
159
#define _hex_array_size 256
160
#define _hex_bad        99
161
extern char _hex_value[_hex_array_size];
162
extern void hex_init PARAMS ((void));
163
#define hex_p(c)        (hex_value (c) != _hex_bad)
164
/* If you change this, note well: Some code relies on side effects in
165
   the argument being performed exactly once.  */
166
#define hex_value(c)    (_hex_value[(unsigned char) (c)])
167
 
168
/* Definitions used by the pexecute routine.  */
169
 
170
#define PEXECUTE_FIRST   1
171
#define PEXECUTE_LAST    2
172
#define PEXECUTE_ONE     (PEXECUTE_FIRST + PEXECUTE_LAST)
173
#define PEXECUTE_SEARCH  4
174
#define PEXECUTE_VERBOSE 8
175
 
176
/* Execute a program.  */
177
 
178
extern int pexecute PARAMS ((const char *, char * const *, const char *,
179
                            const char *, char **, char **, int));
180
 
181
/* Wait for pexecute to finish.  */
182
 
183
extern int pwait PARAMS ((int, int *, int));
184
 
185
/* Like sprintf but provides a pointer to malloc'd storage, which must
186
   be freed by the caller.  */
187
 
188
extern int asprintf PARAMS ((char **, const char *, ...)) ATTRIBUTE_PRINTF_2;
189
 
190
/* Like vsprintf but provides a pointer to malloc'd storage, which
191
   must be freed by the caller.  */
192
 
193
extern int vasprintf PARAMS ((char **, const char *, va_list))
194
  ATTRIBUTE_PRINTF(2,0);
195
 
196
#ifdef __cplusplus
197
}
198
#endif
199
 
200
 
201
#endif /* ! defined (LIBIBERTY_H) */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.