1*9190c2a8SAndroid Build Coastguard Worker /* 2*9190c2a8SAndroid Build Coastguard Worker * Copyright (C) 2020 The Android Open Source Project 3*9190c2a8SAndroid Build Coastguard Worker * 4*9190c2a8SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*9190c2a8SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*9190c2a8SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*9190c2a8SAndroid Build Coastguard Worker * 8*9190c2a8SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*9190c2a8SAndroid Build Coastguard Worker * 10*9190c2a8SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*9190c2a8SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*9190c2a8SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*9190c2a8SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*9190c2a8SAndroid Build Coastguard Worker * limitations under the License. 15*9190c2a8SAndroid Build Coastguard Worker */ 16*9190c2a8SAndroid Build Coastguard Worker 17*9190c2a8SAndroid Build Coastguard Worker #include "dump.h" 18*9190c2a8SAndroid Build Coastguard Worker 19*9190c2a8SAndroid Build Coastguard Worker #include <iostream> 20*9190c2a8SAndroid Build Coastguard Worker #include <string_view> 21*9190c2a8SAndroid Build Coastguard Worker 22*9190c2a8SAndroid Build Coastguard Worker using namespace std::literals; 23*9190c2a8SAndroid Build Coastguard Worker usage()24*9190c2a8SAndroid Build Coastguard Workerstatic void usage() { 25*9190c2a8SAndroid Build Coastguard Worker std::cerr << "Usage: incfsdump backing_file1 [backing_file2...]\n"; 26*9190c2a8SAndroid Build Coastguard Worker } 27*9190c2a8SAndroid Build Coastguard Worker main(int argc,char ** argv)28*9190c2a8SAndroid Build Coastguard Workerint main(int argc, char** argv) { 29*9190c2a8SAndroid Build Coastguard Worker if (argc < 2) { 30*9190c2a8SAndroid Build Coastguard Worker std::cerr << "Bad command line: requires at least one argument\n"; 31*9190c2a8SAndroid Build Coastguard Worker usage(); 32*9190c2a8SAndroid Build Coastguard Worker return 1; 33*9190c2a8SAndroid Build Coastguard Worker } 34*9190c2a8SAndroid Build Coastguard Worker 35*9190c2a8SAndroid Build Coastguard Worker bool printedHelp = false; 36*9190c2a8SAndroid Build Coastguard Worker for (int i = 1; i < argc; ++i) { 37*9190c2a8SAndroid Build Coastguard Worker if (argv[i] == "--help"sv || argv[i] == "-h"sv) { 38*9190c2a8SAndroid Build Coastguard Worker if (std::exchange(printedHelp, true) == false) { 39*9190c2a8SAndroid Build Coastguard Worker usage(); 40*9190c2a8SAndroid Build Coastguard Worker } 41*9190c2a8SAndroid Build Coastguard Worker } 42*9190c2a8SAndroid Build Coastguard Worker android::incfs::dump(argv[i]); 43*9190c2a8SAndroid Build Coastguard Worker } 44*9190c2a8SAndroid Build Coastguard Worker } 45