1 /* ----------------------------------------------------------------------- * 2 * 3 * Copyright 2003-2009 H. Peter Anvin - All Rights Reserved 4 * Copyright 2009-2010 Intel Corporation; author: H. Peter Anvin 5 * Copyright 2010 Shao Miller 6 * Copyright 2010-2012 Michal Soltys 7 * 8 * Permission is hereby granted, free of charge, to any person 9 * obtaining a copy of this software and associated documentation 10 * files (the "Software"), to deal in the Software without 11 * restriction, including without limitation the rights to use, 12 * copy, modify, merge, publish, distribute, sublicense, and/or 13 * sell copies of the Software, and to permit persons to whom 14 * the Software is furnished to do so, subject to the following 15 * conditions: 16 * 17 * The above copyright notice and this permission notice shall 18 * be included in all copies or substantial portions of the Software. 19 * 20 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 21 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 22 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 23 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 24 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 25 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 26 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 27 * OTHER DEALINGS IN THE SOFTWARE. 28 * 29 * ----------------------------------------------------------------------- */ 30 31 #ifndef COM32_CHAIN_OPTIONS_H 32 #define COM32_CHAIN_OPTIONS_H 33 34 #include <stdint.h> 35 #include <syslinux/bootrm.h> 36 #include <syslinux/movebits.h> 37 38 enum {HIDE_OFF = 0, HIDE_ON = 1, HIDE_EXT = 2, HIDE_REV = 4}; 39 40 struct options { 41 const char *drivename; 42 const char *partition; 43 const char *file; 44 const char *grubcfg; 45 addr_t fseg; 46 addr_t foff; 47 addr_t fip; 48 addr_t sseg; 49 addr_t soff; 50 addr_t sip; 51 int hide; 52 int piflags; 53 uint16_t keeppxe; 54 bool isolinux; 55 bool cmldr; 56 bool drmk; 57 bool grub; 58 bool grldr; 59 bool maps; 60 bool hand; 61 bool hptr; 62 bool swap; 63 bool sect; 64 bool save; 65 bool bss; 66 bool setbpb; 67 bool filebpb; 68 bool fixchs; 69 bool warn; 70 bool brkchain; 71 struct syslinux_rm_regs regs; 72 }; 73 74 extern struct options opt; 75 76 void opt_set_defs(void); 77 int opt_parse_args(int argc, char *argv[]); 78 79 #endif 80 81 /* vim: set ts=8 sts=4 sw=4 noet: */ 82