diff options
Diffstat (limited to 'gdb/common/filestuff.h')
-rw-r--r-- | gdb/common/filestuff.h | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/gdb/common/filestuff.h b/gdb/common/filestuff.h new file mode 100644 index 0000000..747bff2 --- /dev/null +++ b/gdb/common/filestuff.h @@ -0,0 +1,59 @@ +/* Low-level file-handling. + Copyright (C) 2012, 2013 Free Software Foundation, Inc. + + This file is part of GDB. + + 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/>. */ + +#ifndef FILESTUFF_H +#define FILESTUFF_H + +/* Note all the file descriptors which are open when this is called. + These file descriptors will not be closed by close_most_fds. */ + +extern void notice_open_fds (void); + +/* Close all open file descriptors other than those marked by + 'notice_open_fds', and stdin, stdout, and stderr. Errors that + occur while closing are ignored. */ + +extern void close_most_fds (void); + +/* Like 'open', but ensures that the returned file descriptor has the + close-on-exec flag set. */ + +extern int gdb_open_cloexec (const char *filename, int flags, mode_t mode); + +/* Like 'fopen', but ensures that the returned file descriptor has the + close-on-exec flag set. */ + +extern FILE *gdb_fopen_cloexec (const char *filename, const char *opentype); + +/* Like 'socketpair', but ensures that the returned file descriptors + have the close-on-exec flag set. */ + +extern int gdb_socketpair_cloexec (int namespace, int style, int protocol, + int filedes[2]); + +/* Like 'socket', but ensures that the returned file descriptor has + the close-on-exec flag set. */ + +extern int gdb_socket_cloexec (int namespace, int style, int protocol); + +/* Like 'pipe', but ensures that the returned file descriptors have + the close-on-exec flag set. */ + +extern int gdb_pipe_cloexec (int filedes[2]); + +#endif /* FILESTUFF_H */ |