summaryrefslogtreecommitdiff
path: root/misc.h
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2017-08-18 05:36:45 +0000
committerDamien Miller <djm@mindrot.org>2017-08-23 19:47:06 +1000
commitde4ae07f12dabf8815ecede54235fce5d22e3f63 (patch)
treee62b3e975ed519f37c7cda4b5229bcffca73023f /misc.h
parent643c2ad82910691b2240551ea8b14472f60b5078 (diff)
upstream commit
Move several subprocess-related functions from various locations to misc.c. Extend subprocess() to offer a little more control over stdio disposition. feedback & ok dtucker@ Upstream-ID: 3573dd7109d13ef9bd3bed93a3deb170fbfce049
Diffstat (limited to 'misc.h')
-rw-r--r--misc.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/misc.h b/misc.h
index c242f9011..617f87675 100644
--- a/misc.h
+++ b/misc.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: misc.h,v 1.61 2016/11/30 00:28:31 dtucker Exp $ */ 1/* $OpenBSD: misc.h,v 1.62 2017/08/18 05:36:45 djm Exp $ */
2 2
3/* 3/*
4 * Author: Tatu Ylonen <ylo@cs.hut.fi> 4 * Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -16,6 +16,7 @@
16#define _MISC_H 16#define _MISC_H
17 17
18#include <sys/time.h> 18#include <sys/time.h>
19#include <sys/types.h>
19 20
20/* Data structure for representing a forwarding request. */ 21/* Data structure for representing a forwarding request. */
21struct Forward { 22struct Forward {
@@ -132,6 +133,25 @@ int parse_ipqos(const char *);
132const char *iptos2str(int); 133const char *iptos2str(int);
133void mktemp_proto(char *, size_t); 134void mktemp_proto(char *, size_t);
134 135
136void child_set_env(char ***envp, u_int *envsizep, const char *name,
137 const char *value);
138
139int argv_split(const char *, int *, char ***);
140char *argv_assemble(int, char **argv);
141int exited_cleanly(pid_t, const char *, const char *);
142
143#define SSH_SUBPROCESS_STDOUT_DISCARD (1) /* Discard stdout */
144#define SSH_SUBPROCESS_STDOUT_CAPTURE (1<<1) /* Redirect stdout */
145#define SSH_SUBPROCESS_STDERR_DISCARD (1<<2) /* Discard stderr */
146pid_t subprocess(const char *, struct passwd *,
147 const char *, int, char **, FILE **, u_int flags);
148
149struct stat;
150int safe_path(const char *, struct stat *, const char *, uid_t,
151 char *, size_t);
152int safe_path_fd(int, const char *, struct passwd *,
153 char *err, size_t errlen);
154
135/* readpass.c */ 155/* readpass.c */
136 156
137#define RP_ECHO 0x0001 157#define RP_ECHO 0x0001