11de7afc9SPaolo Bonzini /* 21de7afc9SPaolo Bonzini * Commandline option parsing functions 31de7afc9SPaolo Bonzini * 41de7afc9SPaolo Bonzini * Copyright (c) 2003-2008 Fabrice Bellard 51de7afc9SPaolo Bonzini * Copyright (c) 2009 Kevin Wolf <kwolf@redhat.com> 61de7afc9SPaolo Bonzini * 71de7afc9SPaolo Bonzini * Permission is hereby granted, free of charge, to any person obtaining a copy 81de7afc9SPaolo Bonzini * of this software and associated documentation files (the "Software"), to deal 91de7afc9SPaolo Bonzini * in the Software without restriction, including without limitation the rights 101de7afc9SPaolo Bonzini * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 111de7afc9SPaolo Bonzini * copies of the Software, and to permit persons to whom the Software is 121de7afc9SPaolo Bonzini * furnished to do so, subject to the following conditions: 131de7afc9SPaolo Bonzini * 141de7afc9SPaolo Bonzini * The above copyright notice and this permission notice shall be included in 151de7afc9SPaolo Bonzini * all copies or substantial portions of the Software. 161de7afc9SPaolo Bonzini * 171de7afc9SPaolo Bonzini * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 181de7afc9SPaolo Bonzini * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 191de7afc9SPaolo Bonzini * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 201de7afc9SPaolo Bonzini * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 211de7afc9SPaolo Bonzini * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 221de7afc9SPaolo Bonzini * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 231de7afc9SPaolo Bonzini * THE SOFTWARE. 241de7afc9SPaolo Bonzini */ 251de7afc9SPaolo Bonzini 26121d0712SMarkus Armbruster #ifndef QEMU_OPTION_INT_H 27121d0712SMarkus Armbruster #define QEMU_OPTION_INT_H 281de7afc9SPaolo Bonzini 291de7afc9SPaolo Bonzini #include "qemu/option.h" 301de7afc9SPaolo Bonzini #include "qemu/error-report.h" 311de7afc9SPaolo Bonzini 321de7afc9SPaolo Bonzini struct QemuOpt { 33dc8622f2SChunyan Liu char *name; 34dc8622f2SChunyan Liu char *str; 351de7afc9SPaolo Bonzini 361de7afc9SPaolo Bonzini const QemuOptDesc *desc; 371de7afc9SPaolo Bonzini union { 381de7afc9SPaolo Bonzini bool boolean; 391de7afc9SPaolo Bonzini uint64_t uint; 401de7afc9SPaolo Bonzini } value; 411de7afc9SPaolo Bonzini 421de7afc9SPaolo Bonzini QemuOpts *opts; 431de7afc9SPaolo Bonzini QTAILQ_ENTRY(QemuOpt) next; 441de7afc9SPaolo Bonzini }; 451de7afc9SPaolo Bonzini 461de7afc9SPaolo Bonzini struct QemuOpts { 471de7afc9SPaolo Bonzini char *id; 481de7afc9SPaolo Bonzini QemuOptsList *list; 491de7afc9SPaolo Bonzini Location loc; 50*eae3eb3eSPaolo Bonzini QTAILQ_HEAD(, QemuOpt) head; 511de7afc9SPaolo Bonzini QTAILQ_ENTRY(QemuOpts) next; 521de7afc9SPaolo Bonzini }; 531de7afc9SPaolo Bonzini 541de7afc9SPaolo Bonzini #endif 55