1/* Copyright (C) 2008 The Android Open Source Project 2** 3** This software is licensed under the terms of the GNU General Public 4** License version 2, as published by the Free Software Foundation, and 5** may be copied, distributed, and modified under those terms. 6** 7** This program is distributed in the hope that it will be useful, 8** but WITHOUT ANY WARRANTY; without even the implied warranty of 9** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10** GNU General Public License for more details. 11*/ 12#ifndef _ANDROID_OPTION_H 13#define _ANDROID_OPTION_H 14 15#include "android/utils/compiler.h" 16 17ANDROID_BEGIN_HEADER 18 19/* a structure used to model a linked list of parameters 20 */ 21typedef struct ParamList { 22 char* param; 23 struct ParamList* next; 24} ParamList; 25 26/* define a structure that will hold all option variables 27 */ 28typedef struct { 29#define OPT_LIST(n,t,d) ParamList* n; 30#define OPT_PARAM(n,t,d) char* n; 31#define OPT_FLAG(n,d) int n; 32#include "android/cmdline-options.h" 33} AndroidOptions; 34 35 36/* parse command-line arguments options and remove them from (argc,argv) 37 * 'opt' will be set to the content of parsed options 38 * returns 0 on success, -1 on error (unknown option) 39 */ 40extern int 41android_parse_options( int *pargc, char** *pargv, AndroidOptions* opt ); 42 43/* name of default keyset file */ 44#define KEYSET_FILE "default.keyset" 45 46/* the default device DPI if none is specified by the skin 47 */ 48#define DEFAULT_DEVICE_DPI 165 49 50ANDROID_END_HEADER 51 52#endif /* _ANDROID_OPTION_H */ 53