/* ***************************************************************************** * p7os/main.h -- p7os main header. * Copyright (C) 2017 Thomas "Cakeisalie5" Touhey * * This file is part of p7utils. * p7utils is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2.0 of the License, * or (at your option) any later version. * * p7utils is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with p7utils; if not, see . * ************************************************************************** */ #ifndef MAIN_H # define MAIN_H # include # include # define Q(x) #x # define QUOTE(x) Q(x) # define log(S, ...) fprintf(stderr, S, ##__VA_ARGS__) /* ************************************************************************** */ /* CLI options */ /* ************************************************************************** */ /* Menu */ # define mn_prepare_only 1 # define mn_get 2 /* Arguments */ typedef struct { /* basic things */ int menu; /* communication and tweaks */ const char *com; int noprepare; FILE *uexe; /* others */ FILE *local; const char *localpath; } args_t; /* Parsing function */ int parse_args(int ac, char **av, args_t *args); /* ************************************************************************** */ /* Actual things */ /* ************************************************************************** */ /* Main functions */ int prepare_ops(p7_handle_t *handle, FILE *uexe, p7_disp_t disp); int get_os(p7_handle_t *handle, FILE *dest); #endif /* MAIN_H */