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