1 /* 2 * Copyright 2001-2009, Axel Dörfler, axeld@pinc-software.de. 3 * This file may be used under the terms of the MIT License. 4 */ 5 #ifndef UTILITY_H 6 #define UTILITY_H 7 8 9 #include "btrfs.h" 10 11 12 enum inode_type { 13 S_DIRECTORY = S_IFDIR, 14 S_FILE = S_IFREG, 15 S_SYMLINK = S_IFLNK, 16 17 S_INDEX_TYPES = (S_STR_INDEX | S_INT_INDEX | S_UINT_INDEX 18 | S_LONG_LONG_INDEX | S_ULONG_LONG_INDEX 19 | S_FLOAT_INDEX | S_DOUBLE_INDEX), 20 21 S_EXTENDED_TYPES = (S_ATTR_DIR | S_ATTR | S_INDEX_DIR) 22 }; 23 24 25 /*! Converts the open mode, the open flags given to bfs_open(), into 26 access modes, e.g. since O_RDONLY requires read access to the 27 file, it will be converted to R_OK. 28 */ 29 inline int 30 open_mode_to_access(int openMode) 31 { 32 openMode &= O_RWMASK; 33 if (openMode == O_RDONLY) 34 return R_OK; 35 if (openMode == O_WRONLY) 36 return W_OK; 37 38 return R_OK | W_OK; 39 } 40 41 #endif // UTILITY_H 42