fstool.h (2268B)
1 // $Id$ --*- c -*-- 2 3 // Copyright (C) 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> 4 // 5 // This program is free software; you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation; version 2 of the License. 8 // 9 // This program is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with this program; if not, write to the Free Software 16 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 18 19 #ifndef H_UTIL_VSERVER_SRC_FSTOOL_H 20 #define H_UTIL_VSERVER_SRC_FSTOOL_H 21 22 #include <getopt.h> 23 #include <stdbool.h> 24 25 #define CMD_HELP 0x8000 26 #define CMD_VERSION 0x8001 27 #define CMD_IMMUTABLE 0x8002 28 #define CMD_IMMULINK 0x8003 29 #define CMD_LEGACY 0x8004 30 #define CMD_IMMU 0x8010 31 #define CMD_ADMIN 0x8011 32 #define CMD_WATCH 0x8012 33 #define CMD_HIDE 0x8013 34 #define CMD_BARRIER 0x8014 35 #define CMD_IMMUX 0x8015 36 #define CMD_WRITE 0x8016 37 #define CMD_COW 0x8017 38 #define CMD_FLAGS 0x8018 39 #define CMD_UNSET_IMMU 0x8020 40 #define CMD_UNSET_ADMIN 0x8021 41 #define CMD_UNSET_WATCH 0x8022 42 #define CMD_UNSET_HIDE 0x8023 43 #define CMD_UNSET_BARRIER 0x8024 44 #define CMD_UNSET_IMMUX 0x8025 45 #define CMD_UNSET_IMMUTABLE 0x8026 46 #define CMD_UNSET_WRITE 0x8027 47 #define CMD_UNSET_COW 0x8028 48 #define CMD_UNSET_FLAGS 0x8029 49 50 51 struct stat; 52 53 struct Arguments { 54 bool do_recurse; 55 bool do_display_dot; 56 bool do_display_dir; 57 bool do_mapping; 58 char const * ctx_str; 59 xid_t ctx; 60 bool is_legacy; 61 bool do_set; 62 bool do_unset; 63 bool local_fs; 64 bool no_unified; 65 66 uint32_t set_mask; 67 uint32_t del_mask; 68 }; 69 70 extern struct option const CMDLINE_OPTIONS[]; 71 extern char const CMDLINE_OPTIONS_SHORT[]; 72 extern struct Arguments const * global_args; 73 74 void fixupParams(struct Arguments *, int argc); 75 bool handleFile(char const *d_name, char const *full_name); 76 void showHelp(int fd, char const *cmd, int res); 77 void showVersion(); 78 79 #endif // H_UTIL_VSERVER_SRC_FSTOOL_H