Home | History | Annotate | Download | only in nwamd
      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