mac_impl.h revision 0d2a8e5eea8ac6ea0f5c517f0c481329b57d5459
8326d453818c9fb78ac1670cf49d26fa4da15003venki * CDDL HEADER START
8326d453818c9fb78ac1670cf49d26fa4da15003venki * The contents of this file are subject to the terms of the
8326d453818c9fb78ac1670cf49d26fa4da15003venki * Common Development and Distribution License (the "License").
8326d453818c9fb78ac1670cf49d26fa4da15003venki * You may not use this file except in compliance with the License.
8326d453818c9fb78ac1670cf49d26fa4da15003venki * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8326d453818c9fb78ac1670cf49d26fa4da15003venki * See the License for the specific language governing permissions
8326d453818c9fb78ac1670cf49d26fa4da15003venki * and limitations under the License.
8326d453818c9fb78ac1670cf49d26fa4da15003venki * When distributing Covered Code, include this CDDL HEADER in each
8326d453818c9fb78ac1670cf49d26fa4da15003venki * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8326d453818c9fb78ac1670cf49d26fa4da15003venki * If applicable, add the following below this CDDL HEADER, with the
8326d453818c9fb78ac1670cf49d26fa4da15003venki * fields enclosed by brackets "[]" replaced with your own identifying
8326d453818c9fb78ac1670cf49d26fa4da15003venki * information: Portions Copyright [yyyy] [name of copyright owner]
8326d453818c9fb78ac1670cf49d26fa4da15003venki * CDDL HEADER END
8326d453818c9fb78ac1670cf49d26fa4da15003venki * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
8326d453818c9fb78ac1670cf49d26fa4da15003venki * Use is subject to license terms.
8326d453818c9fb78ac1670cf49d26fa4da15003venki#pragma ident "%Z%%M% %I% %E% SMI"
8326d453818c9fb78ac1670cf49d26fa4da15003venkiextern "C" {
8326d453818c9fb78ac1670cf49d26fa4da15003venki * Statistics maintained internally by the mac module.
8326d453818c9fb78ac1670cf49d26fa4da15003venkitypedef struct mac_multicst_addr_s mac_multicst_addr_t;
8326d453818c9fb78ac1670cf49d26fa4da15003venkitypedef struct mactype_s {
8326d453818c9fb78ac1670cf49d26fa4da15003venki const char *mt_ident;
8326d453818c9fb78ac1670cf49d26fa4da15003venki mac_stat_info_t *mt_stats; /* array of mac_stat_info_t elements */
8326d453818c9fb78ac1670cf49d26fa4da15003venki size_t mt_statcount; /* number of elements in mt_stats */
8326d453818c9fb78ac1670cf49d26fa4da15003venki * Each registered MAC is associated with a mac_t structure.
8326d453818c9fb78ac1670cf49d26fa4da15003venkitypedef struct mac_impl_s {
8326d453818c9fb78ac1670cf49d26fa4da15003venki const char *mi_drvname;
void *mi_resource_add_arg;
} mac_impl_t;
typedef struct mac_notify_task_arg {
extern void mac_init(void);
extern int mac_fini(void);
#ifdef __cplusplus