llp.h revision 6ba597c56d749c61b4f783157f63196d7b2445f0
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey/*
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * CDDL HEADER START
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey *
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * The contents of this file are subject to the terms of the
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * Common Development and Distribution License (the "License").
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * You may not use this file except in compliance with the License.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey *
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * or http://www.opensolaris.org/os/licensing.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * See the License for the specific language governing permissions
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * and limitations under the License.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey *
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * When distributing Covered Code, include this CDDL HEADER in each
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * If applicable, add the following below this CDDL HEADER, with the
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * fields enclosed by brackets "[]" replaced with your own identifying
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * information: Portions Copyright [yyyy] [name of copyright owner]
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey *
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * CDDL HEADER END
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey/*
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * Use is subject to license terms.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#ifndef _LLP_H
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#define _LLP_H
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#include <search.h>
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#include <libnwam.h>
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#include <syslog.h>
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#include "events.h"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey/*
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * This file is here for legacy support.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#define LLPDIR "/etc/nwam"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#define LLPFILE LLPDIR"/llp"
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyenum interface_type {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IF_UNKNOWN, IF_WIRED, IF_WIRELESS, IF_TUN
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey};
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeytypedef enum {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPV4SRC_STATIC,
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey IPV4SRC_DHCP
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey} ipv4src_t;
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey/*
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * This structure contains a representation of legacy LLP configuration
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * which previously represented the intended configuration of the system as
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * differentiated from the actual IPv4 configuration of the system represented
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * by the interface structures.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey *
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey * llp structures are held on the list llp_head.
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeytypedef struct llp {
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey struct qelem llp_links;
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey char llp_lname[LIFNAMSIZ];
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey uint32_t llp_pri; /* lower number => higher priority */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey int llp_fileorder;
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey enum interface_type llp_type;
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey ipv4src_t llp_ipv4src;
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey char *llp_ipv4addrstr; /* if ipsrc is STATIC */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey char *llp_ipv6addrstr; /* if the user provided a static addr */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey boolean_t llp_ipv6onlink; /* true if we plumb up a v6 interface */
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey} llp_t;
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyextern llp_t *link_layer_profile;
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskeyvoid nwamd_handle_upgrade(nwamd_event_t);
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey
6ba597c56d749c61b4f783157f63196d7b2445f0Anurag S. Maskey#endif /* _LLP_H */