18ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project/* 28ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * $Id: options.h,v 1.1 2004/11/14 07:26:26 paulus Exp $ 38ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 48ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * Copyright (C) 1996 Lars Fenneberg 58ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 68ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * See the file COPYRIGHT for the respective terms and conditions. 78ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * If the file is missing contact me at lf@elemental.net 88ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * and I'll send you a copy. 98ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project * 108ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project */ 118ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 128ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project#define OPTION_LEN 64 138ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 148ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project/* ids for different option types */ 158ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project#define OT_STR (1<<0) /* string */ 168ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project#define OT_INT (1<<1) /* integer */ 178ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project#define OT_SRV (1<<2) /* server list */ 188ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project#define OT_AUO (1<<3) /* authentication order */ 198ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 208ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project#define OT_ANY ((unsigned int)~0) /* used internally */ 218ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 228ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project/* status types */ 238ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project#define ST_UNDEF (1<<0) /* option is undefined */ 248ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 258ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projecttypedef struct _option { 268ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project char name[OPTION_LEN]; /* name of the option */ 278ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project int type, status; /* type and status */ 288ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project void *val; /* pointer to option value */ 298ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project} OPTION; 308ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 318ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectstatic SERVER acctserver = {0}; 328ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectstatic SERVER authserver = {0}; 338ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 348ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectint default_tries = 4; 358ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectint default_timeout = 60; 368ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 378ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectstatic OPTION config_options[] = { 388ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project/* internally used options */ 398ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"config_file", OT_STR, ST_UNDEF, NULL}, 408ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project/* General options */ 418ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"auth_order", OT_AUO, ST_UNDEF, NULL}, 428ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"login_tries", OT_INT, ST_UNDEF, &default_tries}, 438ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"login_timeout", OT_INT, ST_UNDEF, &default_timeout}, 448ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"nologin", OT_STR, ST_UNDEF, "/etc/nologin"}, 458ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"issue", OT_STR, ST_UNDEF, "/etc/radiusclient/issue"}, 468ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project/* RADIUS specific options */ 478ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"authserver", OT_SRV, ST_UNDEF, &authserver}, 488ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"acctserver", OT_SRV, ST_UNDEF, &acctserver}, 498ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"servers", OT_STR, ST_UNDEF, NULL}, 508ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"dictionary", OT_STR, ST_UNDEF, NULL}, 518ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"login_radius", OT_STR, ST_UNDEF, "/usr/sbin/login.radius"}, 528ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"seqfile", OT_STR, ST_UNDEF, NULL}, 538ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"mapfile", OT_STR, ST_UNDEF, NULL}, 548ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"default_realm", OT_STR, ST_UNDEF, NULL}, 558ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"radius_timeout", OT_INT, ST_UNDEF, NULL}, 568ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"radius_retries", OT_INT, ST_UNDEF, NULL}, 578ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"nas_identifier", OT_STR, ST_UNDEF, ""}, 588ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project/* local options */ 598ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project{"login_local", OT_STR, ST_UNDEF, NULL}, 608ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project}; 618ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Project 628ad0dd2a5c5f23cd210aedba72a43e48026e7436The Android Open Source Projectstatic int num_options = ((sizeof(config_options))/(sizeof(config_options[0]))); 63