1*11767SAnurag.Maskey@Sun.COM /* 2*11767SAnurag.Maskey@Sun.COM * CDDL HEADER START 3*11767SAnurag.Maskey@Sun.COM * 4*11767SAnurag.Maskey@Sun.COM * The contents of this file are subject to the terms of the 5*11767SAnurag.Maskey@Sun.COM * Common Development and Distribution License (the "License"). 6*11767SAnurag.Maskey@Sun.COM * You may not use this file except in compliance with the License. 7*11767SAnurag.Maskey@Sun.COM * 8*11767SAnurag.Maskey@Sun.COM * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*11767SAnurag.Maskey@Sun.COM * or http://www.opensolaris.org/os/licensing. 10*11767SAnurag.Maskey@Sun.COM * See the License for the specific language governing permissions 11*11767SAnurag.Maskey@Sun.COM * and limitations under the License. 12*11767SAnurag.Maskey@Sun.COM * 13*11767SAnurag.Maskey@Sun.COM * When distributing Covered Code, include this CDDL HEADER in each 14*11767SAnurag.Maskey@Sun.COM * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*11767SAnurag.Maskey@Sun.COM * If applicable, add the following below this CDDL HEADER, with the 16*11767SAnurag.Maskey@Sun.COM * fields enclosed by brackets "[]" replaced with your own identifying 17*11767SAnurag.Maskey@Sun.COM * information: Portions Copyright [yyyy] [name of copyright owner] 18*11767SAnurag.Maskey@Sun.COM * 19*11767SAnurag.Maskey@Sun.COM * CDDL HEADER END 20*11767SAnurag.Maskey@Sun.COM */ 21*11767SAnurag.Maskey@Sun.COM 22*11767SAnurag.Maskey@Sun.COM /* 23*11767SAnurag.Maskey@Sun.COM * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 24*11767SAnurag.Maskey@Sun.COM * Use is subject to license terms. 25*11767SAnurag.Maskey@Sun.COM */ 26*11767SAnurag.Maskey@Sun.COM 27*11767SAnurag.Maskey@Sun.COM #ifndef _NWAMCFG_H 28*11767SAnurag.Maskey@Sun.COM #define _NWAMCFG_H 29*11767SAnurag.Maskey@Sun.COM 30*11767SAnurag.Maskey@Sun.COM /* 31*11767SAnurag.Maskey@Sun.COM * header file for nwamcfg command 32*11767SAnurag.Maskey@Sun.COM */ 33*11767SAnurag.Maskey@Sun.COM 34*11767SAnurag.Maskey@Sun.COM #ifdef __cplusplus 35*11767SAnurag.Maskey@Sun.COM extern "C" { 36*11767SAnurag.Maskey@Sun.COM #endif 37*11767SAnurag.Maskey@Sun.COM 38*11767SAnurag.Maskey@Sun.COM #define NWAM_OK 0 39*11767SAnurag.Maskey@Sun.COM #define NWAM_ERR 1 40*11767SAnurag.Maskey@Sun.COM #define NWAM_REPEAT 2 41*11767SAnurag.Maskey@Sun.COM 42*11767SAnurag.Maskey@Sun.COM /* max length of "ncu", "ncp", "loc", "enm", "wlan" */ 43*11767SAnurag.Maskey@Sun.COM #define NWAM_MAX_TYPE_LEN 5 44*11767SAnurag.Maskey@Sun.COM 45*11767SAnurag.Maskey@Sun.COM #define CMD_CANCEL 0 46*11767SAnurag.Maskey@Sun.COM #define CMD_CLEAR 1 47*11767SAnurag.Maskey@Sun.COM #define CMD_COMMIT 2 48*11767SAnurag.Maskey@Sun.COM #define CMD_CREATE 3 49*11767SAnurag.Maskey@Sun.COM #define CMD_DESTROY 4 50*11767SAnurag.Maskey@Sun.COM #define CMD_END 5 51*11767SAnurag.Maskey@Sun.COM #define CMD_EXIT 6 52*11767SAnurag.Maskey@Sun.COM #define CMD_EXPORT 7 53*11767SAnurag.Maskey@Sun.COM #define CMD_GET 8 54*11767SAnurag.Maskey@Sun.COM #define CMD_HELP 9 55*11767SAnurag.Maskey@Sun.COM #define CMD_LIST 10 56*11767SAnurag.Maskey@Sun.COM #define CMD_REVERT 11 57*11767SAnurag.Maskey@Sun.COM #define CMD_SELECT 12 58*11767SAnurag.Maskey@Sun.COM #define CMD_SET 13 59*11767SAnurag.Maskey@Sun.COM #define CMD_VERIFY 14 60*11767SAnurag.Maskey@Sun.COM #define CMD_WALKPROP 15 61*11767SAnurag.Maskey@Sun.COM 62*11767SAnurag.Maskey@Sun.COM #define CMD_MIN CMD_CANCEL 63*11767SAnurag.Maskey@Sun.COM #define CMD_MAX CMD_WALKPROP 64*11767SAnurag.Maskey@Sun.COM 65*11767SAnurag.Maskey@Sun.COM /* one-level resource types */ 66*11767SAnurag.Maskey@Sun.COM #define RT1_UNKNOWN 0 67*11767SAnurag.Maskey@Sun.COM #define RT1_LOC 1 68*11767SAnurag.Maskey@Sun.COM #define RT1_NCP 2 69*11767SAnurag.Maskey@Sun.COM #define RT1_ENM 3 70*11767SAnurag.Maskey@Sun.COM #define RT1_WLAN 4 71*11767SAnurag.Maskey@Sun.COM 72*11767SAnurag.Maskey@Sun.COM #define RT1_MIN RT1_UNKNOWN 73*11767SAnurag.Maskey@Sun.COM #define RT1_MAX RT1_WLAN 74*11767SAnurag.Maskey@Sun.COM 75*11767SAnurag.Maskey@Sun.COM /* two-level resource types */ 76*11767SAnurag.Maskey@Sun.COM #define RT2_UNKNOWN 0 77*11767SAnurag.Maskey@Sun.COM #define RT2_NCU 1 78*11767SAnurag.Maskey@Sun.COM 79*11767SAnurag.Maskey@Sun.COM #define RT2_MIN RT2_UNKNOWN 80*11767SAnurag.Maskey@Sun.COM #define RT2_MAX RT2_NCU 81*11767SAnurag.Maskey@Sun.COM 82*11767SAnurag.Maskey@Sun.COM /* class types for NCU's */ 83*11767SAnurag.Maskey@Sun.COM #define NCU_CLASS_PHYS 0 84*11767SAnurag.Maskey@Sun.COM #define NCU_CLASS_IP 1 85*11767SAnurag.Maskey@Sun.COM #define NCU_CLASS_ANY 2 86*11767SAnurag.Maskey@Sun.COM 87*11767SAnurag.Maskey@Sun.COM #define NCU_CLASS_MIN NCU_CLASS_PHYS 88*11767SAnurag.Maskey@Sun.COM #define NCU_CLASS_MAX NCU_CLASS_ANY 89*11767SAnurag.Maskey@Sun.COM 90*11767SAnurag.Maskey@Sun.COM /* property types, matches NWAM_*_PROP_* from libnwam.h */ 91*11767SAnurag.Maskey@Sun.COM #define PT_UNKNOWN 0 92*11767SAnurag.Maskey@Sun.COM #define PT_ACTIVATION_MODE 1 93*11767SAnurag.Maskey@Sun.COM #define PT_ENABLED 2 94*11767SAnurag.Maskey@Sun.COM #define PT_TYPE 3 95*11767SAnurag.Maskey@Sun.COM #define PT_CLASS 4 96*11767SAnurag.Maskey@Sun.COM #define PT_PARENT 5 97*11767SAnurag.Maskey@Sun.COM #define PT_PRIORITY_GROUP 6 98*11767SAnurag.Maskey@Sun.COM #define PT_PRIORITY_MODE 7 99*11767SAnurag.Maskey@Sun.COM #define PT_LINK_MACADDR 8 100*11767SAnurag.Maskey@Sun.COM #define PT_LINK_AUTOPUSH 9 101*11767SAnurag.Maskey@Sun.COM #define PT_LINK_MTU 10 102*11767SAnurag.Maskey@Sun.COM #define PT_IP_VERSION 11 103*11767SAnurag.Maskey@Sun.COM #define PT_IPV4_ADDRSRC 12 104*11767SAnurag.Maskey@Sun.COM #define PT_IPV4_ADDR 13 105*11767SAnurag.Maskey@Sun.COM #define PT_IPV4_DEFAULT_ROUTE 14 106*11767SAnurag.Maskey@Sun.COM #define PT_IPV6_ADDRSRC 15 107*11767SAnurag.Maskey@Sun.COM #define PT_IPV6_ADDR 16 108*11767SAnurag.Maskey@Sun.COM #define PT_IPV6_DEFAULT_ROUTE 17 109*11767SAnurag.Maskey@Sun.COM #define PT_CONDITIONS 18 110*11767SAnurag.Maskey@Sun.COM #define PT_ENM_FMRI 19 111*11767SAnurag.Maskey@Sun.COM #define PT_ENM_START 20 112*11767SAnurag.Maskey@Sun.COM #define PT_ENM_STOP 21 113*11767SAnurag.Maskey@Sun.COM #define PT_LOC_NAMESERVICES 22 114*11767SAnurag.Maskey@Sun.COM #define PT_LOC_NAMESERVICES_CONFIG 23 115*11767SAnurag.Maskey@Sun.COM #define PT_LOC_DNS_CONFIGSRC 24 116*11767SAnurag.Maskey@Sun.COM #define PT_LOC_DNS_DOMAIN 25 117*11767SAnurag.Maskey@Sun.COM #define PT_LOC_DNS_SERVERS 26 118*11767SAnurag.Maskey@Sun.COM #define PT_LOC_DNS_SEARCH 27 119*11767SAnurag.Maskey@Sun.COM #define PT_LOC_NIS_CONFIGSRC 28 120*11767SAnurag.Maskey@Sun.COM #define PT_LOC_NIS_SERVERS 29 121*11767SAnurag.Maskey@Sun.COM #define PT_LOC_LDAP_CONFIGSRC 30 122*11767SAnurag.Maskey@Sun.COM #define PT_LOC_LDAP_SERVERS 31 123*11767SAnurag.Maskey@Sun.COM #define PT_LOC_DEFAULT_DOMAIN 32 124*11767SAnurag.Maskey@Sun.COM #define PT_LOC_NFSV4_DOMAIN 33 125*11767SAnurag.Maskey@Sun.COM #define PT_LOC_IPF_CONFIG 34 126*11767SAnurag.Maskey@Sun.COM #define PT_LOC_IPF_V6_CONFIG 35 127*11767SAnurag.Maskey@Sun.COM #define PT_LOC_IPNAT_CONFIG 36 128*11767SAnurag.Maskey@Sun.COM #define PT_LOC_IPPOOL_CONFIG 37 129*11767SAnurag.Maskey@Sun.COM #define PT_LOC_IKE_CONFIG 38 130*11767SAnurag.Maskey@Sun.COM #define PT_LOC_IPSECPOL_CONFIG 39 131*11767SAnurag.Maskey@Sun.COM #define PT_WLAN_BSSIDS 40 132*11767SAnurag.Maskey@Sun.COM #define PT_WLAN_PRIORITY 41 133*11767SAnurag.Maskey@Sun.COM #define PT_WLAN_KEYNAME 42 134*11767SAnurag.Maskey@Sun.COM #define PT_WLAN_KEYSLOT 43 135*11767SAnurag.Maskey@Sun.COM #define PT_WLAN_SECURITY_MODE 44 136*11767SAnurag.Maskey@Sun.COM /* 137*11767SAnurag.Maskey@Sun.COM * If any new PT_ are defined here, make sure it is added in the same 138*11767SAnurag.Maskey@Sun.COM * order into the pt_types array in nwamcfg.c 139*11767SAnurag.Maskey@Sun.COM */ 140*11767SAnurag.Maskey@Sun.COM #define PT_MIN PT_UNKNOWN 141*11767SAnurag.Maskey@Sun.COM #define PT_MAX PT_WLAN_SECURITY_MODE 142*11767SAnurag.Maskey@Sun.COM 143*11767SAnurag.Maskey@Sun.COM #define MAX_SUBCMD_ARGS 3 144*11767SAnurag.Maskey@Sun.COM 145*11767SAnurag.Maskey@Sun.COM typedef struct cmd { 146*11767SAnurag.Maskey@Sun.COM int cmd_num; 147*11767SAnurag.Maskey@Sun.COM void (*cmd_handler)(struct cmd *); 148*11767SAnurag.Maskey@Sun.COM int cmd_res1_type; 149*11767SAnurag.Maskey@Sun.COM int cmd_res2_type; 150*11767SAnurag.Maskey@Sun.COM int cmd_prop_type; 151*11767SAnurag.Maskey@Sun.COM int cmd_ncu_class_type; 152*11767SAnurag.Maskey@Sun.COM int cmd_argc; 153*11767SAnurag.Maskey@Sun.COM char *cmd_argv[MAX_SUBCMD_ARGS + 1]; 154*11767SAnurag.Maskey@Sun.COM } cmd_t; 155*11767SAnurag.Maskey@Sun.COM 156*11767SAnurag.Maskey@Sun.COM /* Fuctions for each command */ 157*11767SAnurag.Maskey@Sun.COM typedef void (cmd_func_t)(cmd_t *); 158*11767SAnurag.Maskey@Sun.COM 159*11767SAnurag.Maskey@Sun.COM extern cmd_func_t cancel_func, clear_func, commit_func, create_func; 160*11767SAnurag.Maskey@Sun.COM extern cmd_func_t destroy_func, end_func, exit_func, export_func, get_func; 161*11767SAnurag.Maskey@Sun.COM extern cmd_func_t help_func, list_func, revert_func, select_func, set_func; 162*11767SAnurag.Maskey@Sun.COM extern cmd_func_t verify_func, walkprop_func; 163*11767SAnurag.Maskey@Sun.COM 164*11767SAnurag.Maskey@Sun.COM extern cmd_t *alloc_cmd(void); 165*11767SAnurag.Maskey@Sun.COM extern void free_cmd(cmd_t *cmd); 166*11767SAnurag.Maskey@Sun.COM 167*11767SAnurag.Maskey@Sun.COM extern boolean_t check_scope(int); 168*11767SAnurag.Maskey@Sun.COM extern const char *cmd_to_str(int); 169*11767SAnurag.Maskey@Sun.COM 170*11767SAnurag.Maskey@Sun.COM extern void nerr(const char *, ...); 171*11767SAnurag.Maskey@Sun.COM extern void properr(const char *); 172*11767SAnurag.Maskey@Sun.COM 173*11767SAnurag.Maskey@Sun.COM extern boolean_t saw_error; 174*11767SAnurag.Maskey@Sun.COM 175*11767SAnurag.Maskey@Sun.COM extern FILE *yyin; 176*11767SAnurag.Maskey@Sun.COM 177*11767SAnurag.Maskey@Sun.COM #ifdef __cplusplus 178*11767SAnurag.Maskey@Sun.COM } 179*11767SAnurag.Maskey@Sun.COM #endif 180*11767SAnurag.Maskey@Sun.COM 181*11767SAnurag.Maskey@Sun.COM #endif /* _NWAMCFG_H */ 182