Postfix3.3.1
マクロ定義 | 関数
pipe_command.h ファイル
#include <vstream.h>
#include <vstring.h>
#include <check_arg.h>
#include <mail_copy.h>
#include <dsn_buf.h>

[ソースコード]

マクロ定義

#define PIPE_CMD_END   0 /* terminator */
 
#define PIPE_CMD_COMMAND   1 /* command is string */
 
#define PIPE_CMD_ARGV   2 /* command is array */
 
#define PIPE_CMD_COPY_FLAGS   3 /* mail_copy() flags */
 
#define PIPE_CMD_SENDER   4 /* mail_copy() sender */
 
#define PIPE_CMD_DELIVERED   5 /* mail_copy() recipient */
 
#define PIPE_CMD_UID   6 /* privileges */
 
#define PIPE_CMD_GID   7 /* privileges */
 
#define PIPE_CMD_TIME_LIMIT   8 /* time limit */
 
#define PIPE_CMD_ENV   9 /* extra environment */
 
#define PIPE_CMD_SHELL   10 /* alternative shell */
 
#define PIPE_CMD_EOL   11 /* record delimiter */
 
#define PIPE_CMD_EXPORT   12 /* exportable environment */
 
#define PIPE_CMD_ORIG_RCPT   13 /* mail_copy() original recipient */
 
#define PIPE_CMD_CWD   14 /* working directory */
 
#define PIPE_CMD_CHROOT   15 /* chroot() before exec() */
 
#define CA_PIPE_CMD_END   PIPE_CMD_END
 
#define CA_PIPE_CMD_COMMAND(v)   PIPE_CMD_COMMAND, CHECK_CPTR(PIPE_CMD, char, (v))
 
#define CA_PIPE_CMD_ARGV(v)   PIPE_CMD_ARGV, CHECK_PPTR(PIPE_CMD, char, (v))
 
#define CA_PIPE_CMD_COPY_FLAGS(v)   PIPE_CMD_COPY_FLAGS, CHECK_VAL(PIPE_CMD, int, (v))
 
#define CA_PIPE_CMD_SENDER(v)   PIPE_CMD_SENDER, CHECK_CPTR(PIPE_CMD, char, (v))
 
#define CA_PIPE_CMD_DELIVERED(v)   PIPE_CMD_DELIVERED, CHECK_CPTR(PIPE_CMD, char, (v))
 
#define CA_PIPE_CMD_UID(v)   PIPE_CMD_UID, CHECK_VAL(PIPE_CMD, uid_t, (v))
 
#define CA_PIPE_CMD_GID(v)   PIPE_CMD_GID, CHECK_VAL(PIPE_CMD, gid_t, (v))
 
#define CA_PIPE_CMD_TIME_LIMIT(v)   PIPE_CMD_TIME_LIMIT, CHECK_VAL(PIPE_CMD, int, (v))
 
#define CA_PIPE_CMD_ENV(v)   PIPE_CMD_ENV, CHECK_PPTR(PIPE_CMD, char, (v))
 
#define CA_PIPE_CMD_SHELL(v)   PIPE_CMD_SHELL, CHECK_CPTR(PIPE_CMD, char, (v))
 
#define CA_PIPE_CMD_EOL(v)   PIPE_CMD_EOL, CHECK_CPTR(PIPE_CMD, char, (v))
 
#define CA_PIPE_CMD_EXPORT(v)   PIPE_CMD_EXPORT, CHECK_PPTR(PIPE_CMD, char, (v))
 
#define CA_PIPE_CMD_ORIG_RCPT(v)   PIPE_CMD_ORIG_RCPT, CHECK_CPTR(PIPE_CMD, char, (v))
 
#define CA_PIPE_CMD_CWD(v)   PIPE_CMD_CWD, CHECK_CPTR(PIPE_CMD, char, (v))
 
#define CA_PIPE_CMD_CHROOT(v)   PIPE_CMD_CHROOT, CHECK_CPTR(PIPE_CMD, char, (v))
 
#define PIPE_STAT_OK   0 /* success */
 
#define PIPE_STAT_DEFER   1 /* try again */
 
#define PIPE_STAT_BOUNCE   2 /* failed */
 
#define PIPE_STAT_CORRUPT   3 /* corrupted file */
 

関数

 CHECK_VAL_HELPER_DCL (PIPE_CMD, uid_t)
 
 CHECK_VAL_HELPER_DCL (PIPE_CMD, int)
 
 CHECK_VAL_HELPER_DCL (PIPE_CMD, gid_t)
 
 CHECK_PPTR_HELPER_DCL (PIPE_CMD, char)
 
 CHECK_CPTR_HELPER_DCL (PIPE_CMD, char)
 
int pipe_command (VSTREAM *, DSN_BUF *,...)
 

マクロ定義詳解

#define CA_PIPE_CMD_ARGV (   v)    PIPE_CMD_ARGV, CHECK_PPTR(PIPE_CMD, char, (v))

pipe_command.h52 行目に定義があります。

#define CA_PIPE_CMD_CHROOT (   v)    PIPE_CMD_CHROOT, CHECK_CPTR(PIPE_CMD, char, (v))

pipe_command.h65 行目に定義があります。

#define CA_PIPE_CMD_COMMAND (   v)    PIPE_CMD_COMMAND, CHECK_CPTR(PIPE_CMD, char, (v))

pipe_command.h51 行目に定義があります。

#define CA_PIPE_CMD_COPY_FLAGS (   v)    PIPE_CMD_COPY_FLAGS, CHECK_VAL(PIPE_CMD, int, (v))

pipe_command.h53 行目に定義があります。

#define CA_PIPE_CMD_CWD (   v)    PIPE_CMD_CWD, CHECK_CPTR(PIPE_CMD, char, (v))

pipe_command.h64 行目に定義があります。

#define CA_PIPE_CMD_DELIVERED (   v)    PIPE_CMD_DELIVERED, CHECK_CPTR(PIPE_CMD, char, (v))

pipe_command.h55 行目に定義があります。

#define CA_PIPE_CMD_END   PIPE_CMD_END

pipe_command.h50 行目に定義があります。

#define CA_PIPE_CMD_ENV (   v)    PIPE_CMD_ENV, CHECK_PPTR(PIPE_CMD, char, (v))

pipe_command.h59 行目に定義があります。

#define CA_PIPE_CMD_EOL (   v)    PIPE_CMD_EOL, CHECK_CPTR(PIPE_CMD, char, (v))

pipe_command.h61 行目に定義があります。

#define CA_PIPE_CMD_EXPORT (   v)    PIPE_CMD_EXPORT, CHECK_PPTR(PIPE_CMD, char, (v))

pipe_command.h62 行目に定義があります。

#define CA_PIPE_CMD_GID (   v)    PIPE_CMD_GID, CHECK_VAL(PIPE_CMD, gid_t, (v))

pipe_command.h57 行目に定義があります。

#define CA_PIPE_CMD_ORIG_RCPT (   v)    PIPE_CMD_ORIG_RCPT, CHECK_CPTR(PIPE_CMD, char, (v))

pipe_command.h63 行目に定義があります。

#define CA_PIPE_CMD_SENDER (   v)    PIPE_CMD_SENDER, CHECK_CPTR(PIPE_CMD, char, (v))

pipe_command.h54 行目に定義があります。

#define CA_PIPE_CMD_SHELL (   v)    PIPE_CMD_SHELL, CHECK_CPTR(PIPE_CMD, char, (v))

pipe_command.h60 行目に定義があります。

#define CA_PIPE_CMD_TIME_LIMIT (   v)    PIPE_CMD_TIME_LIMIT, CHECK_VAL(PIPE_CMD, int, (v))

pipe_command.h58 行目に定義があります。

#define CA_PIPE_CMD_UID (   v)    PIPE_CMD_UID, CHECK_VAL(PIPE_CMD, uid_t, (v))

pipe_command.h56 行目に定義があります。

#define PIPE_CMD_ARGV   2 /* command is array */

pipe_command.h32 行目に定義があります。

#define PIPE_CMD_CHROOT   15 /* chroot() before exec() */

pipe_command.h45 行目に定義があります。

#define PIPE_CMD_COMMAND   1 /* command is string */

pipe_command.h31 行目に定義があります。

#define PIPE_CMD_COPY_FLAGS   3 /* mail_copy() flags */

pipe_command.h33 行目に定義があります。

#define PIPE_CMD_CWD   14 /* working directory */

pipe_command.h44 行目に定義があります。

#define PIPE_CMD_DELIVERED   5 /* mail_copy() recipient */

pipe_command.h35 行目に定義があります。

#define PIPE_CMD_END   0 /* terminator */

pipe_command.h30 行目に定義があります。

#define PIPE_CMD_ENV   9 /* extra environment */

pipe_command.h39 行目に定義があります。

#define PIPE_CMD_EOL   11 /* record delimiter */

pipe_command.h41 行目に定義があります。

#define PIPE_CMD_EXPORT   12 /* exportable environment */

pipe_command.h42 行目に定義があります。

#define PIPE_CMD_GID   7 /* privileges */

pipe_command.h37 行目に定義があります。

#define PIPE_CMD_ORIG_RCPT   13 /* mail_copy() original recipient */

pipe_command.h43 行目に定義があります。

#define PIPE_CMD_SENDER   4 /* mail_copy() sender */

pipe_command.h34 行目に定義があります。

#define PIPE_CMD_SHELL   10 /* alternative shell */

pipe_command.h40 行目に定義があります。

#define PIPE_CMD_TIME_LIMIT   8 /* time limit */

pipe_command.h38 行目に定義があります。

#define PIPE_CMD_UID   6 /* privileges */

pipe_command.h36 行目に定義があります。

#define PIPE_STAT_BOUNCE   2 /* failed */

pipe_command.h78 行目に定義があります。

#define PIPE_STAT_CORRUPT   3 /* corrupted file */

pipe_command.h79 行目に定義があります。

#define PIPE_STAT_DEFER   1 /* try again */

pipe_command.h77 行目に定義があります。

#define PIPE_STAT_OK   0 /* success */

pipe_command.h76 行目に定義があります。

関数詳解

CHECK_CPTR_HELPER_DCL ( PIPE_CMD  ,
char   
)
CHECK_PPTR_HELPER_DCL ( PIPE_CMD  ,
char   
)
CHECK_VAL_HELPER_DCL ( PIPE_CMD  ,
uid_t   
)
CHECK_VAL_HELPER_DCL ( PIPE_CMD  ,
int   
)
CHECK_VAL_HELPER_DCL ( PIPE_CMD  ,
gid_t   
)
int pipe_command ( VSTREAM ,
DSN_BUF ,
  ... 
)

pipe_command.c389 行目に定義があります。