1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #ifndef _FUNCTIONS_H 28 #define _FUNCTIONS_H 29 30 /* door.c: door-based control/status interface */ 31 extern void initialize_door(void); 32 extern void terminate_door(void); 33 extern void report_interface_up(const char *, struct in_addr, int); 34 extern void report_interface_down(const char *, libnwam_diag_cause_t); 35 extern void report_interface_added(const char *); 36 extern void report_interface_removed(const char *); 37 extern void report_wlan_connect_fail(const char *); 38 extern void report_wlan_disconnect(const struct wireless_lan *); 39 extern void report_wlan_connected(const struct wireless_lan *); 40 extern void report_llp_selected(const char *); 41 extern void report_llp_unselected(const char *, libnwam_diag_cause_t); 42 extern void report_ulp_activated(const char *); 43 extern void report_ulp_deactivated(const char *); 44 extern void report_scan_complete(const char *, boolean_t, 45 const struct wireless_lan *, int); 46 extern boolean_t request_wlan_key(struct wireless_lan *); 47 extern boolean_t request_wlan_selection(const char *, 48 const struct wireless_lan *, int); 49 extern void check_door_life(uint32_t); 50 51 /* events.c: event queue handling */ 52 extern void free_event(struct np_event *); 53 extern boolean_t np_queue_add_event(enum np_event_type, const char *); 54 extern struct np_event *np_queue_get_event(void); 55 extern const char *npe_type_str(enum np_event_type); 56 extern boolean_t start_event_collection(void); 57 58 /* interface.c: interface and upper layer profile handling */ 59 extern void initialize_interfaces(void); 60 extern struct interface *add_interface(sa_family_t, const char *, uint64_t); 61 extern void remove_interface(const char *); 62 extern struct interface *get_interface(const char *); 63 extern void walk_interface(void (*)(struct interface *, void *), void *); 64 extern libnwam_interface_type_t find_if_type(const char *); 65 extern const char *if_type_str(libnwam_interface_type_t); 66 extern void update_interface_v4_address(const char *, in_addr_t); 67 extern void update_interface_flags(const char *, int); 68 extern boolean_t interface_is_active(const struct interface *); 69 extern void show_if_status(const char *); 70 extern return_vals_t bringupinterface(const char *, const char *, const char *, 71 boolean_t); 72 extern void takedowninterface(const char *, libnwam_diag_cause_t); 73 extern void clear_cached_address(const char *); 74 extern void check_interface_timers(uint32_t); 75 extern void start_if_info_collect(struct interface *, void *); 76 extern boolean_t ulp_is_active(void); 77 extern void activate_upper_layer_profile(boolean_t, const char *); 78 extern void deactivate_upper_layer_profile(void); 79 extern int lookup_boolean_property(const char *, const char *, boolean_t *); 80 extern int lookup_count_property(const char *, const char *, uint64_t *); 81 extern boolean_t is_interface_ok(const char *); 82 extern libnwam_interface_type_t get_if_type(const char *); 83 extern void get_interface_state(const char *, boolean_t *, boolean_t *); 84 extern void print_interface_status(void); 85 86 /* wireless.c: wifi link handling */ 87 extern void initialize_wireless(void); 88 extern void terminate_wireless(void); 89 extern void add_wireless_if(const char *); 90 extern void remove_wireless_if(const char *); 91 extern struct wireless_lan *prompt_for_visited(void); 92 extern return_vals_t handle_wireless_lan(const char *); 93 extern libnwam_known_ap_t *get_known_ap_list(size_t *, uint_t *); 94 extern int add_known_ap(const char *, const char *); 95 extern int delete_known_ap(const char *, const char *); 96 extern void wireless_verify(const char *); 97 extern void *periodic_wireless_scan(void *); 98 extern boolean_t check_wlan_connected(const char *, const char *, const char *); 99 extern int set_specific_lan(const char *, const char *, const char *); 100 extern int set_wlan_key(const char *, const char *, const char *, const char *, 101 const char *); 102 extern int launch_wireless_scan(const char *); 103 extern void disconnect_wlan(const char *); 104 extern void get_wireless_state(const char *, boolean_t *, boolean_t *); 105 extern void print_wireless_status(void); 106 107 /* llp.c: link layer profile handling */ 108 extern void initialize_llp(void); 109 extern void llp_parse_config(void); 110 extern void llp_add_file(const llp_t *); 111 extern llp_t *llp_add(const char *); 112 extern void llp_delete(llp_t *); 113 extern llp_t *llp_lookup(const char *); 114 extern llp_t *llp_high_pri(llp_t *, llp_t *); 115 extern llp_t *llp_best_avail(void); 116 extern void llp_swap(llp_t *, libnwam_diag_cause_t); 117 extern char *llp_prnm(llp_t *); 118 extern void llp_write_changed_priority(llp_t *); 119 extern int set_llp_priority(const char *, int); 120 extern int set_locked_llp(const char *); 121 extern llp_t *get_llp_list(size_t *, uint_t *, char *, char *); 122 extern void llp_reselect(void); 123 extern void llp_get_name_and_type(char *, size_t, libnwam_interface_type_t *); 124 extern libnwam_ipv4src_t llp_get_ipv4src(const char *); 125 extern void print_llp_status(void); 126 127 /* state_machine.c: state machine handling */ 128 extern void state_machine(struct np_event *); 129 extern void cleanup(void); 130 131 /* util.c: utility & ipc functions */ 132 extern void dprintf(const char *, ...); 133 extern uint64_t get_ifflags(const char *, sa_family_t); 134 extern void zero_out_v4addr(const char *); 135 extern int start_childv(const char *, char const * const *); 136 extern int start_child(const char *, ...); 137 extern void start_timer(uint32_t, uint32_t); 138 extern void lookup_zonename(char *, size_t); 139 140 #endif /* _FUNCTIONS_H */ 141