xref: /haiku/headers/private/system/vfs_defs.h (revision b247f935d133a42c427cad8a759a1bf2f65bc290)
1 /*
2  * Copyright 2002-2008, Axel Dörfler, axeld@pinc-software.de.
3  * Copyright 2013, Ingo Weinhold, ingo_weinhold@gmx.de.
4  * All rights reserved. Distributed under the terms of the MIT License.
5  *
6  * Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
7  * Distributed under the terms of the NewOS License.
8  */
9 #ifndef _SYSTEM_VFS_DEFS_H
10 #define _SYSTEM_VFS_DEFS_H
11 
12 
13 #include <limits.h>
14 #include <sys/stat.h>
15 
16 #include <SupportDefs.h>
17 
18 
19 struct fd_info {
20 	int		number;
21 	int32	open_mode;
22 	dev_t	device;
23 	ino_t	node;
24 };
25 
26 
27 /* maximum write size to a pipe/FIFO that is guaranteed not to be interleaved
28    with other writes (aka {PIPE_BUF}; must be >= _POSIX_PIPE_BUF) */
29 #define VFS_FIFO_ATOMIC_WRITE_SIZE	PIPE_BUF
30 
31 /* pipe/FIFO buffer capacity */
32 #define VFS_FIFO_BUFFER_CAPACITY	(64 * 1024)
33 
34 // make sure the constant values are sane
35 #if VFS_FIFO_ATOMIC_WRITE_SIZE < _POSIX_PIPE_BUF
36 #	error VFS_FIFO_ATOMIC_WRITE_SIZE < _POSIX_PIPE_BUF!
37 #endif
38 
39 
40 #endif	/* _SYSTEM_VFS_DEFS_H */
41