summaryrefslogtreecommitdiffstats
path: root/usr.sbin/nsd/popen3.h
blob: 7c09c42e2ab8af33568aa88ccbd16839df9a07d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
 * popen3.h -- execute a command and connect stdin, stdout and stderr
 *
 * Copyright (c) 2019, NLnet Labs. All rights reserved.
 *
 * See LICENSE for the license.
 *
 */
#ifndef _POPEN3_H_
#define _POPEN3_H_

#include <stdio.h>
#include <sys/types.h>

/*
 * Execute a command and connect stdin, stdout and stderr of the process to
 * respectively finptr, foutptr and ferrptr if non-NULL. The process
 * identifier of the new process is returned on success and the pointers to
 * the FILE handles will have been set. On failure, -1 is returned and none
 * of the pointers will have been set.
 */
pid_t popen3(char *const *command,
             FILE **finptr,
             FILE **foutptr,
             FILE **ferrptr);

#endif /* _POPEN3_H_ */