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 * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
23 */
24
25 /*
26 * This file contains data structures and APIs of libnwam.
27 * Implementation is MT safe.
28 */
29 #ifndef _LIBNWAM_H
30 #define _LIBNWAM_H
31
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35
36 #include <bsm/adt.h>
37 #include <net/if.h>
38 #include <inet/ip.h>
39 #include <inet/ip6.h>
40 #include <sys/types.h>
41 #include <sys/socket.h>
42
430 #define NWAM_NCU_PROP_CLASS "class"
431 #define NWAM_NCU_PROP_PARENT_NCP "parent"
432 #define NWAM_NCU_PROP_ACTIVATION_MODE "activation-mode"
433 #define NWAM_NCU_PROP_ENABLED "enabled"
434 #define NWAM_NCU_PROP_PRIORITY_GROUP "priority-group"
435 #define NWAM_NCU_PROP_PRIORITY_MODE "priority-mode"
436
437 /* Link NCU properties */
438 #define NWAM_NCU_PROP_LINK_MAC_ADDR "link-mac-addr"
439 #define NWAM_NCU_PROP_LINK_AUTOPUSH "link-autopush"
440 #define NWAM_NCU_PROP_LINK_MTU "link-mtu"
441
442 /* IP NCU properties */
443 #define NWAM_NCU_PROP_IP_VERSION "ip-version"
444 #define NWAM_NCU_PROP_IPV4_ADDRSRC "ipv4-addrsrc"
445 #define NWAM_NCU_PROP_IPV4_ADDR "ipv4-addr"
446 #define NWAM_NCU_PROP_IPV4_DEFAULT_ROUTE "ipv4-default-route"
447 #define NWAM_NCU_PROP_IPV6_ADDRSRC "ipv6-addrsrc"
448 #define NWAM_NCU_PROP_IPV6_ADDR "ipv6-addr"
449 #define NWAM_NCU_PROP_IPV6_DEFAULT_ROUTE "ipv6-default-route"
450
451 /* Some properties should only be set on creation */
452 #define NWAM_NCU_PROP_SETONCE(prop) \
453 (strcmp(prop, NWAM_NCU_PROP_TYPE) == 0 || \
454 strcmp(prop, NWAM_NCU_PROP_CLASS) == 0 || \
455 strcmp(prop, NWAM_NCU_PROP_PARENT_NCP) == 0)
456 /*
457 * ENM definitions
458 */
459
460 typedef struct nwam_handle *nwam_enm_handle_t;
461
462 #define NWAM_ENM_PROP_ACTIVATION_MODE "activation-mode"
463 #define NWAM_ENM_PROP_CONDITIONS "conditions"
464 #define NWAM_ENM_PROP_ENABLED "enabled"
465
466 /* FMRI associated with ENM */
467 #define NWAM_ENM_PROP_FMRI "fmri"
468
469 /* Start/stop scripts associated with ENM */
|
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 * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
23 * Copyright (c) 2016, Chris Fraire <cfraire@me.com>.
24 */
25
26 /*
27 * This file contains data structures and APIs of libnwam.
28 * Implementation is MT safe.
29 */
30 #ifndef _LIBNWAM_H
31 #define _LIBNWAM_H
32
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36
37 #include <bsm/adt.h>
38 #include <net/if.h>
39 #include <inet/ip.h>
40 #include <inet/ip6.h>
41 #include <sys/types.h>
42 #include <sys/socket.h>
43
431 #define NWAM_NCU_PROP_CLASS "class"
432 #define NWAM_NCU_PROP_PARENT_NCP "parent"
433 #define NWAM_NCU_PROP_ACTIVATION_MODE "activation-mode"
434 #define NWAM_NCU_PROP_ENABLED "enabled"
435 #define NWAM_NCU_PROP_PRIORITY_GROUP "priority-group"
436 #define NWAM_NCU_PROP_PRIORITY_MODE "priority-mode"
437
438 /* Link NCU properties */
439 #define NWAM_NCU_PROP_LINK_MAC_ADDR "link-mac-addr"
440 #define NWAM_NCU_PROP_LINK_AUTOPUSH "link-autopush"
441 #define NWAM_NCU_PROP_LINK_MTU "link-mtu"
442
443 /* IP NCU properties */
444 #define NWAM_NCU_PROP_IP_VERSION "ip-version"
445 #define NWAM_NCU_PROP_IPV4_ADDRSRC "ipv4-addrsrc"
446 #define NWAM_NCU_PROP_IPV4_ADDR "ipv4-addr"
447 #define NWAM_NCU_PROP_IPV4_DEFAULT_ROUTE "ipv4-default-route"
448 #define NWAM_NCU_PROP_IPV6_ADDRSRC "ipv6-addrsrc"
449 #define NWAM_NCU_PROP_IPV6_ADDR "ipv6-addr"
450 #define NWAM_NCU_PROP_IPV6_DEFAULT_ROUTE "ipv6-default-route"
451 #define NWAM_NCU_PROP_IP_PRIMARY "ip-primary"
452 #define NWAM_NCU_PROP_IP_REQHOST "ip-reqhost"
453
454 /* Some properties should only be set on creation */
455 #define NWAM_NCU_PROP_SETONCE(prop) \
456 (strcmp(prop, NWAM_NCU_PROP_TYPE) == 0 || \
457 strcmp(prop, NWAM_NCU_PROP_CLASS) == 0 || \
458 strcmp(prop, NWAM_NCU_PROP_PARENT_NCP) == 0)
459 /*
460 * ENM definitions
461 */
462
463 typedef struct nwam_handle *nwam_enm_handle_t;
464
465 #define NWAM_ENM_PROP_ACTIVATION_MODE "activation-mode"
466 #define NWAM_ENM_PROP_CONDITIONS "conditions"
467 #define NWAM_ENM_PROP_ENABLED "enabled"
468
469 /* FMRI associated with ENM */
470 #define NWAM_ENM_PROP_FMRI "fmri"
471
472 /* Start/stop scripts associated with ENM */
|