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