1 #ifndef _PIPE_COMMAND_H_INCLUDED_
2 #define _PIPE_COMMAND_H_INCLUDED_
30 #define PIPE_CMD_END 0
31 #define PIPE_CMD_COMMAND 1
32 #define PIPE_CMD_ARGV 2
33 #define PIPE_CMD_COPY_FLAGS 3
34 #define PIPE_CMD_SENDER 4
35 #define PIPE_CMD_DELIVERED 5
36 #define PIPE_CMD_UID 6
37 #define PIPE_CMD_GID 7
38 #define PIPE_CMD_TIME_LIMIT 8
39 #define PIPE_CMD_ENV 9
40 #define PIPE_CMD_SHELL 10
41 #define PIPE_CMD_EOL 11
42 #define PIPE_CMD_EXPORT 12
43 #define PIPE_CMD_ORIG_RCPT 13
44 #define PIPE_CMD_CWD 14
45 #define PIPE_CMD_CHROOT 15
50 #define CA_PIPE_CMD_END PIPE_CMD_END
51 #define CA_PIPE_CMD_COMMAND(v) PIPE_CMD_COMMAND, CHECK_CPTR(PIPE_CMD, char, (v))
52 #define CA_PIPE_CMD_ARGV(v) PIPE_CMD_ARGV, CHECK_PPTR(PIPE_CMD, char, (v))
53 #define CA_PIPE_CMD_COPY_FLAGS(v) PIPE_CMD_COPY_FLAGS, CHECK_VAL(PIPE_CMD, int, (v))
54 #define CA_PIPE_CMD_SENDER(v) PIPE_CMD_SENDER, CHECK_CPTR(PIPE_CMD, char, (v))
55 #define CA_PIPE_CMD_DELIVERED(v) PIPE_CMD_DELIVERED, CHECK_CPTR(PIPE_CMD, char, (v))
56 #define CA_PIPE_CMD_UID(v) PIPE_CMD_UID, CHECK_VAL(PIPE_CMD, uid_t, (v))
57 #define CA_PIPE_CMD_GID(v) PIPE_CMD_GID, CHECK_VAL(PIPE_CMD, gid_t, (v))
58 #define CA_PIPE_CMD_TIME_LIMIT(v) PIPE_CMD_TIME_LIMIT, CHECK_VAL(PIPE_CMD, int, (v))
59 #define CA_PIPE_CMD_ENV(v) PIPE_CMD_ENV, CHECK_PPTR(PIPE_CMD, char, (v))
60 #define CA_PIPE_CMD_SHELL(v) PIPE_CMD_SHELL, CHECK_CPTR(PIPE_CMD, char, (v))
61 #define CA_PIPE_CMD_EOL(v) PIPE_CMD_EOL, CHECK_CPTR(PIPE_CMD, char, (v))
62 #define CA_PIPE_CMD_EXPORT(v) PIPE_CMD_EXPORT, CHECK_PPTR(PIPE_CMD, char, (v))
63 #define CA_PIPE_CMD_ORIG_RCPT(v) PIPE_CMD_ORIG_RCPT, CHECK_CPTR(PIPE_CMD, char, (v))
64 #define CA_PIPE_CMD_CWD(v) PIPE_CMD_CWD, CHECK_CPTR(PIPE_CMD, char, (v))
65 #define CA_PIPE_CMD_CHROOT(v) PIPE_CMD_CHROOT, CHECK_CPTR(PIPE_CMD, char, (v))
76 #define PIPE_STAT_OK 0
77 #define PIPE_STAT_DEFER 1
78 #define PIPE_STAT_BOUNCE 2
79 #define PIPE_STAT_CORRUPT 3
CHECK_VAL_HELPER_DCL(PIPE_CMD, uid_t)
CHECK_CPTR_HELPER_DCL(PIPE_CMD, char)
CHECK_PPTR_HELPER_DCL(PIPE_CMD, char)
int pipe_command(VSTREAM *, DSN_BUF *,...)