Postfix3.3.1
unix_pass_fd_fix.c
[詳解]
1 /*++
2 /* NAME
3 /* unix_pass_fd_fix 3
4 /* SUMMARY
5 /* file descriptor passing bug workarounds
6 /* SYNOPSIS
7 /* #include <iostuff.h>
8 /*
9 /* void set_unix_pass_fd_fix(workarounds)
10 /* const char *workarounds;
11 /* DESCRIPTION
12 /* This module supports programmatic control over workarounds
13 /* for sending or receiving file descriptors over UNIX-domain
14 /* sockets.
15 /*
16 /* set_unix_pass_fd_fix() takes a list of workarouds in external
17 /* form, and stores their internal representation. The result
18 /* is used by unix_send_fd() and unix_recv_fd().
19 /*
20 /* Arguments:
21 /* .IP workarounds
22 /* List of zero or more of the following, separated by comma
23 /* or whitespace.
24 /* .RS
25 /* .IP cmsg_len
26 /* Send the CMSG_LEN of the file descriptor, instead of
27 /* the total message buffer length.
28 /* .RE
29 /* SEE ALSO
30 /* unix_send_fd(3) send file descriptor
31 /* unix_recv_fd(3) receive file descriptor
32 /* DIAGNOSTICS
33 /* Fatal errors: non-existent workaround.
34 /* LICENSE
35 /* .ad
36 /* .fi
37 /* The Secure Mailer license must be distributed with this software.
38 /* AUTHOR(S)
39 /* Wietse Venema
40 /* IBM T.J. Watson Research
41 /* P.O. Box 704
42 /* Yorktown Heights, NY 10598, USA
43 /*--*/
44 
45 /* System library. */
46 
47 #include <sys_defs.h>
48 
49 /* Utility library. */
50 
51 #include <iostuff.h>
52 #include <name_mask.h>
53 
55 
56 /* set_unix_pass_fd_fix - set workaround programmatically */
57 
58 void set_unix_pass_fd_fix(const char *workarounds)
59 {
60  const static NAME_MASK table[] = {
61  "cmsg_len", UNIX_PASS_FD_FIX_CMSG_LEN,
62  0,
63  };
64 
65  unix_pass_fd_fix = name_mask("descriptor passing workarounds",
66  table, workarounds);
67 }
int unix_pass_fd_fix
#define name_mask(tag, table, str)
Definition: name_mask.h:49
#define UNIX_PASS_FD_FIX_CMSG_LEN
Definition: iostuff.h:58
void set_unix_pass_fd_fix(const char *workarounds)