134 lines
2.8 KiB
JavaScript
134 lines
2.8 KiB
JavaScript
var O_READ = 'READ';
|
|
var O_WRITE = 'WRITE';
|
|
var O_CREATE = 'CREATE';
|
|
var O_EXCLUSIVE = 'EXCLUSIVE';
|
|
var O_TRUNCATE = 'TRUNCATE';
|
|
var O_APPEND = 'APPEND';
|
|
var XATTR_CREATE = 'CREATE';
|
|
var XATTR_REPLACE = 'REPLACE';
|
|
|
|
module.exports = {
|
|
FILE_SYSTEM_NAME: 'local',
|
|
|
|
FILE_STORE_NAME: 'files',
|
|
|
|
IDB_RO: 'readonly',
|
|
IDB_RW: 'readwrite',
|
|
|
|
WSQL_VERSION: '1',
|
|
WSQL_SIZE: 5 * 1024 * 1024,
|
|
WSQL_DESC: 'FileSystem Storage',
|
|
|
|
NODE_TYPE_FILE: 'FILE',
|
|
NODE_TYPE_DIRECTORY: 'DIRECTORY',
|
|
NODE_TYPE_SYMBOLIC_LINK: 'SYMLINK',
|
|
NODE_TYPE_META: 'META',
|
|
|
|
S_IFREG: 0x8000,
|
|
S_IFDIR: 0x4000,
|
|
S_IFLNK: 0xA000,
|
|
|
|
DEFAULT_DIR_PERMISSIONS: 0x1ED, // 755
|
|
DEFAULT_FILE_PERMISSIONS: 0x1A4, // 644
|
|
FULL_READ_WRITE_EXEC_PERMISSIONS: 0x1FF, // 777
|
|
READ_WRITE_PERMISSIONS: 0x1B6, /// 666
|
|
|
|
SYMLOOP_MAX: 10,
|
|
|
|
BINARY_MIME_TYPE: 'application/octet-stream',
|
|
JSON_MIME_TYPE: 'application/json',
|
|
|
|
ROOT_DIRECTORY_NAME: '/', // basename(normalize(path))
|
|
|
|
// FS Mount Flags
|
|
FS_FORMAT: 'FORMAT',
|
|
FS_NOCTIME: 'NOCTIME',
|
|
FS_NOMTIME: 'NOMTIME',
|
|
FS_NODUPEIDCHECK: 'FS_NODUPEIDCHECK',
|
|
|
|
// FS File Open Flags
|
|
O_READ: O_READ,
|
|
O_WRITE: O_WRITE,
|
|
O_CREATE: O_CREATE,
|
|
O_EXCLUSIVE: O_EXCLUSIVE,
|
|
O_TRUNCATE: O_TRUNCATE,
|
|
O_APPEND: O_APPEND,
|
|
|
|
O_FLAGS: {
|
|
'r': [O_READ],
|
|
'r+': [O_READ, O_WRITE],
|
|
'w': [O_WRITE, O_CREATE, O_TRUNCATE],
|
|
'w+': [O_WRITE, O_READ, O_CREATE, O_TRUNCATE],
|
|
'wx': [O_WRITE, O_CREATE, O_EXCLUSIVE, O_TRUNCATE],
|
|
'wx+': [O_WRITE, O_READ, O_CREATE, O_EXCLUSIVE, O_TRUNCATE],
|
|
'a': [O_WRITE, O_CREATE, O_APPEND],
|
|
'a+': [O_WRITE, O_READ, O_CREATE, O_APPEND],
|
|
'ax': [O_WRITE, O_CREATE, O_EXCLUSIVE, O_APPEND],
|
|
'ax+': [O_WRITE, O_READ, O_CREATE, O_EXCLUSIVE, O_APPEND]
|
|
},
|
|
|
|
XATTR_CREATE: XATTR_CREATE,
|
|
XATTR_REPLACE: XATTR_REPLACE,
|
|
|
|
FS_READY: 'READY',
|
|
FS_PENDING: 'PENDING',
|
|
FS_ERROR: 'ERROR',
|
|
|
|
SUPER_NODE_ID: '00000000-0000-0000-0000-000000000000',
|
|
|
|
// Reserved File Descriptors for streams
|
|
STDIN: 0,
|
|
STDOUT: 1,
|
|
STDERR: 2,
|
|
FIRST_DESCRIPTOR: 3,
|
|
|
|
ENVIRONMENT: {
|
|
TMP: '/tmp',
|
|
PATH: ''
|
|
},
|
|
|
|
// Duplicate Node's fs.constants
|
|
fsConstants: {
|
|
O_RDONLY: 0,
|
|
O_WRONLY: 1,
|
|
O_RDWR: 2,
|
|
S_IFMT: 61440,
|
|
S_IFREG: 32768,
|
|
S_IFDIR: 16384,
|
|
S_IFCHR: 8192,
|
|
S_IFBLK: 24576,
|
|
S_IFIFO: 4096,
|
|
S_IFLNK: 40960,
|
|
S_IFSOCK: 49152,
|
|
O_CREAT: 512,
|
|
O_EXCL: 2048,
|
|
O_NOCTTY: 131072,
|
|
O_TRUNC: 1024,
|
|
O_APPEND: 8,
|
|
O_DIRECTORY: 1048576,
|
|
O_NOFOLLOW: 256,
|
|
O_SYNC: 128,
|
|
O_DSYNC: 4194304,
|
|
O_SYMLINK: 2097152,
|
|
O_NONBLOCK: 4,
|
|
S_IRWXU: 448,
|
|
S_IRUSR: 256,
|
|
S_IWUSR: 128,
|
|
S_IXUSR: 64,
|
|
S_IRWXG: 56,
|
|
S_IRGRP: 32,
|
|
S_IWGRP: 16,
|
|
S_IXGRP: 8,
|
|
S_IRWXO: 7,
|
|
S_IROTH: 4,
|
|
S_IWOTH: 2,
|
|
S_IXOTH: 1,
|
|
F_OK: 0,
|
|
R_OK: 4,
|
|
W_OK: 2,
|
|
X_OK: 1,
|
|
UV_FS_COPYFILE_EXCL: 1,
|
|
COPYFILE_EXCL: 1
|
|
}
|
|
};
|