diff options
author | Sergio Durigan Junior <sergiodj@redhat.com> | 2016-12-22 09:20:00 -0500 |
---|---|---|
committer | Sergio Durigan Junior <sergiodj@redhat.com> | 2017-03-07 15:39:35 -0500 |
commit | 1672e0d98d88d11b5c7d5793bd2cf29cbb56696f (patch) | |
tree | 9d01885db3367de7c7cd5718c1a689d444116461 /gdb/common/environ.h | |
parent | f7bb4e3a0d3738e8cce3dcded6ef12c9949cb85f (diff) | |
download | gdb-1672e0d98d88d11b5c7d5793bd2cf29cbb56696f.zip gdb-1672e0d98d88d11b5c7d5793bd2cf29cbb56696f.tar.gz gdb-1672e0d98d88d11b5c7d5793bd2cf29cbb56696f.tar.bz2 |
Share gdb/environ.[ch] with gdbserver
We will need access to the environment functions when we share
fork_inferior between GDB and gdbserver, therefore we simply make the
API on gdb/environ.[ch] available on common/. No extra adjustments
are needed to make it compile on gdbserver.
gdb/ChangeLog:
2017-03-07 Sergio Durigan Junior <sergiodj@redhat.com>
* Makefile.in (SFILES): Replace "environ.c" with
"common/environ.c".
(HFILES_NO_SRCDIR): Likewise, for "environ.h".
* environ.c: Include "common-defs.h" instead of "defs.h. Moved
to...
* common/environ.c: ... here.
* environ.h: Moved to...
* common/environ.h: ... here.
gdb/gdbserver/ChangeLog:
2017-03-07 Sergio Durigan Junior <sergiodj@redhat.com>
* Makefile.in (SFILES): Add "common/environ.c".
(OBJS): Add "common/environ.h".
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) */ |