xref: /haiku/headers/os/storage/StorageDefs.h (revision 97dfeb96704e5dbc5bec32ad7b21379d0125e031)
17b3d36e5SAxel Dörfler /*
27b3d36e5SAxel Dörfler  * Copyright 2002-2006, Haiku, Inc. All Rights Reserved.
37b3d36e5SAxel Dörfler  * Distributed under the terms of the MIT License.
452a38012Sejakowatz  */
582b75665STyler Dauwalder #ifndef _DEF_STORAGE_H
682b75665STyler Dauwalder #define _DEF_STORAGE_H
752a38012Sejakowatz 
87b3d36e5SAxel Dörfler 
952a38012Sejakowatz #include <fcntl.h>
1052a38012Sejakowatz #include <sys/param.h>
1152a38012Sejakowatz #include <limits.h>
1252a38012Sejakowatz 
1352a38012Sejakowatz 
14*97dfeb96SAdrien Destugues /* Limits */
1552a38012Sejakowatz #define B_DEV_NAME_LENGTH		128
1652a38012Sejakowatz #define B_FILE_NAME_LENGTH		NAME_MAX
1752a38012Sejakowatz #define B_PATH_NAME_LENGTH		MAXPATHLEN
1852a38012Sejakowatz #define B_ATTR_NAME_LENGTH		(B_FILE_NAME_LENGTH - 1)
1952a38012Sejakowatz #define B_MIME_TYPE_LENGTH		(B_ATTR_NAME_LENGTH - 15)
207b3d36e5SAxel Dörfler #define B_MAX_SYMLINKS			SYMLOOP_MAX
2152a38012Sejakowatz 
22*97dfeb96SAdrien Destugues /* Open Modes */
23*97dfeb96SAdrien Destugues #define B_READ_ONLY			O_RDONLY	/* read only */
24*97dfeb96SAdrien Destugues #define B_WRITE_ONLY		O_WRONLY	/* write only */
25*97dfeb96SAdrien Destugues #define B_READ_WRITE		O_RDWR		/* read and write */
2652a38012Sejakowatz 
27*97dfeb96SAdrien Destugues #define B_FAIL_IF_EXISTS	O_EXCL		/* exclusive create */
28*97dfeb96SAdrien Destugues #define B_CREATE_FILE		O_CREAT		/* create the file */
29*97dfeb96SAdrien Destugues #define B_ERASE_FILE		O_TRUNC		/* erase the file's data */
30*97dfeb96SAdrien Destugues #define B_OPEN_AT_END		O_APPEND	/* point to the end of the data */
3152a38012Sejakowatz 
32*97dfeb96SAdrien Destugues /* Node Flavors */
3352a38012Sejakowatz enum node_flavor {
3452a38012Sejakowatz 	B_FILE_NODE			= 0x01,
3552a38012Sejakowatz 	B_SYMLINK_NODE		= 0x02,
3652a38012Sejakowatz 	B_DIRECTORY_NODE	= 0x04,
3752a38012Sejakowatz 	B_ANY_NODE			= 0x07
3852a38012Sejakowatz };
3918027fffSJohn Scipione 
4052a38012Sejakowatz 
41*97dfeb96SAdrien Destugues #endif /* _DEF_STORAGE_H */
42