1 /* 2 * Copyright (C) NGINX, Inc. 3 */ 4 5 #ifndef _NXT_FS_MOUNT_H_INCLUDED_ 6 #define _NXT_FS_MOUNT_H_INCLUDED_ 7 8 9 typedef enum nxt_fs_type_s nxt_fs_type_t; 10 typedef enum nxt_fs_flags_s nxt_fs_flags_t; 11 typedef struct nxt_fs_mount_s nxt_fs_mount_t; 12 13 14 enum nxt_fs_type_s { 15 NXT_FS_UNKNOWN = 0, 16 NXT_FS_BIND, 17 NXT_FS_TMP, 18 NXT_FS_PROC, 19 NXT_FS_LAST, 20 }; 21 22 23 enum nxt_fs_flags_s { 24 NXT_FS_FLAGS_NOSUID = 1 << 0, 25 NXT_FS_FLAGS_NOEXEC = 1 << 1, 26 NXT_FS_FLAGS_NOTIME = 1 << 2, 27 NXT_FS_FLAGS_NODEV = 1 << 3, 28 NXT_FS_FLAGS_RDONLY = 1 << 4, 29 }; 30 31 32 struct nxt_fs_mount_s { 33 u_char *src; 34 u_char *dst; 35 nxt_fs_type_t type; 36 u_char *name; 37 nxt_fs_flags_t flags; 38 u_char *data; 39 nxt_uint_t builtin; /* 1-bit */ 40 nxt_uint_t deps; /* 1-bit */ 41 }; 42 43 44 nxt_int_t nxt_fs_mount(nxt_task_t *task, nxt_fs_mount_t *mnt); 45 void nxt_fs_unmount(const u_char *path); 46 47 48 #endif /* _NXT_FS_MOUNT_H_INCLUDED_ */ 49