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