diff options
Diffstat (limited to 'gdb/common/environ.h')
-rw-r--r-- | gdb/common/environ.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gdb/common/environ.h b/gdb/common/environ.h new file mode 100644 index 0000000..3ace69e --- /dev/null +++ b/gdb/common/environ.h @@ -0,0 +1,49 @@ +/* Header for environment manipulation library. + Copyright (C) 1989-2017 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#if !defined (ENVIRON_H) +#define ENVIRON_H 1 + +/* We manipulate environments represented as these structures. */ + +struct gdb_environ + { + /* Number of usable slots allocated in VECTOR. + VECTOR always has one slot not counted here, + to hold the terminating zero. */ + int allocated; + /* A vector of slots, ALLOCATED + 1 of them. + The first few slots contain strings "VAR=VALUE" + and the next one contains zero. + Then come some unused slots. */ + char **vector; + }; + +extern struct gdb_environ *make_environ (void); + +extern void free_environ (struct gdb_environ *); + +extern void init_environ (struct gdb_environ *); + +extern char *get_in_environ (const struct gdb_environ *, const char *); + +extern void set_in_environ (struct gdb_environ *, const char *, const char *); + +extern void unset_in_environ (struct gdb_environ *, const char *); + +extern char **environ_vector (struct gdb_environ *); + +#endif /* defined (ENVIRON_H) */ |