Postfix3.3.1
iostuff.h
[詳解]
1 #ifndef _IOSTUFF_H_INCLUDED_
2 #define _IOSTUFF_H_INCLUDED_
3 
4 /*++
5 /* NAME
6 /* iostuff 3h
7 /* SUMMARY
8 /* miscellaneous I/O primitives
9 /* SYNOPSIS
10 /* #include <iostuff.h>
11 /* DESCRIPTION
12 
13  /*
14  * External interface.
15  */
16 extern int non_blocking(int, int);
17 extern int close_on_exec(int, int);
18 extern int open_limit(int);
19 extern int poll_fd(int, int, int, int, int);
20 extern off_t get_file_limit(void);
21 extern void set_file_limit(off_t);
22 extern ssize_t peekfd(int);
23 extern ssize_t write_buf(int, const char *, ssize_t, int);
24 extern ssize_t timed_read(int, void *, size_t, int, void *);
25 extern ssize_t timed_write(int, const void *, size_t, int, void *);
26 extern void doze(unsigned);
27 extern void rand_sleep(unsigned, unsigned);
28 extern int duplex_pipe(int *);
29 extern int stream_recv_fd(int);
30 extern int stream_send_fd(int, int);
31 extern int unix_recv_fd(int);
32 extern int unix_send_fd(int, int);
33 extern ssize_t dummy_read(int, void *, size_t, int, void *);
34 extern ssize_t dummy_write(int, void *, size_t, int, void *);
35 
36 #define readable(fd) poll_fd((fd), POLL_FD_READ, 0, 1, 0)
37 #define writable(fd) poll_fd((fd), POLL_FD_WRITE, 0, 1, 0)
38 
39 #define read_wait(fd, timeout) poll_fd((fd), POLL_FD_READ, (timeout), 0, -1)
40 #define write_wait(fd, timeout) poll_fd((fd), POLL_FD_WRITE, (timeout), 0, -1)
41 
42 extern int inet_windowsize;
43 extern void set_inet_windowsize(int, int);
44 
45 #define POLL_FD_READ 0
46 #define POLL_FD_WRITE 1
47 
48 #define BLOCKING 0
49 #define NON_BLOCKING 1
50 
51 #define CLOSE_ON_EXEC 1
52 #define PASS_ON_EXEC 0
53 
54 extern int unix_pass_fd_fix;
55 extern void set_unix_pass_fd_fix(const char *);
56 
57 #define UNIX_PASS_FD_FIX_NONE (0)
58 #define UNIX_PASS_FD_FIX_CMSG_LEN (1<<0)
59 
60 /* LICENSE
61 /* .ad
62 /* .fi
63 /* The Secure Mailer license must be distributed with this software.
64 /* AUTHOR(S)
65 /* Wietse Venema
66 /* IBM T.J. Watson Research
67 /* P.O. Box 704
68 /* Yorktown Heights, NY 10598, USA
69 /* CREATION DATE
70 /* Sat Jan 25 16:54:13 EST 1997
71 /*--*/
72 
73 #endif
int unix_recv_fd(int)
Definition: unix_recv_fd.c:45
void set_unix_pass_fd_fix(const char *)
void set_inet_windowsize(int, int)
ssize_t dummy_write(int, void *, size_t, int, void *)
Definition: dummy_write.c:55
int open_limit(int)
Definition: open_limit.c:57
void set_file_limit(off_t)
Definition: file_limit.c:80
int unix_pass_fd_fix
int poll_fd(int, int, int, int, int)
int duplex_pipe(int *)
Definition: duplex_pipe.c:41
ssize_t timed_read(int, void *, size_t, int, void *)
Definition: timed_read.c:60
off_t get_file_limit(void)
Definition: file_limit.c:58
int unix_send_fd(int, int)
Definition: unix_send_fd.c:48
void rand_sleep(unsigned, unsigned)
Definition: rand_sleep.c:49
ssize_t peekfd(int)
Definition: peekfd.c:60
int stream_recv_fd(int)
ssize_t timed_write(int, const void *, size_t, int, void *)
Definition: timed_write.c:60
int inet_windowsize
int non_blocking(int, int)
Definition: non_blocking.c:55
ssize_t dummy_read(int, void *, size_t, int, void *)
Definition: dummy_read.c:55
void doze(unsigned)
Definition: doze.c:44
ssize_t write_buf(int, const char *, ssize_t, int)
Definition: write_buf.c:58
int stream_send_fd(int, int)
int close_on_exec(int, int)
Definition: close_on_exec.c:49