#include <getopt.h>
#include <stdbool.h>
-#define CMD_HELP 0x8000
-#define CMD_VERSION 0x8001
-#define CMD_IMMUTABLE 0x8002
-#define CMD_IMMULINK 0x8003
-#define CMD_LEGACY 0x8004
+#define CMD_HELP 0x8000
+#define CMD_VERSION 0x8001
+#define CMD_IMMUTABLE 0x8002
+#define CMD_IMMULINK 0x8003
+#define CMD_LEGACY 0x8004
+#define CMD_IMMU 0x8010
+#define CMD_ADMIN 0x8011
+#define CMD_WATCH 0x8012
+#define CMD_HIDE 0x8013
+#define CMD_BARRIER 0x8014
+#define CMD_UNSET_IMMU 0x8020
+#define CMD_UNSET_ADMIN 0x8021
+#define CMD_UNSET_WATCH 0x8022
+#define CMD_UNSET_HIDE 0x8023
+#define CMD_UNSET_BARRIER 0x8024
+
struct stat;
struct Arguments {
- bool do_recurse;
- bool do_display_dot;
- bool do_display_dir;
- bool do_mapping;
- bool immutable;
- bool immulink;
- xid_t ctx;
- bool is_legacy;
- bool do_set;
- bool do_unset;
+ bool do_recurse;
+ bool do_display_dot;
+ bool do_display_dir;
+ bool do_mapping;
+ bool immutable;
+ bool immulink;
+ char const * ctx_str;
+ xid_t ctx;
+ bool is_legacy;
+ bool do_set;
+ bool do_unset;
+ bool local_fs;
+
+ uint32_t set_mask;
+ uint32_t del_mask;
};
extern struct option const CMDLINE_OPTIONS[];
extern struct Arguments const * global_args;
bool checkForRace(int fd, char const * name, struct stat const *exp_st);
-void checkParams(struct Arguments const *, int argc);
-bool handleFile(char const *d_name, char const *full_name, struct stat const *);
+void fixupParams(struct Arguments *, int argc);
+bool handleFile(char const *d_name, char const *full_name);
void showHelp(int fd, char const *cmd, int res);
void showVersion();
+xid_t resolveCtx(char const *str);
#endif // H_UTIL_VSERVER_SRC_FSTOOL_H