ddi_hp.h revision 269473047d747f7815af570197e4ef7322d3632c
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_DDI_HP_H
#define _SYS_DDI_HP_H
/*
* Sun DDI hotplug support definitions
*/
#ifdef __cplusplus
extern "C" {
#endif
/*
* ddi_hp_cn_state_t
*
* Typedef of generic hotplug state machine for Hotplug Connection (CN)
*/
typedef enum {
/*
* ddi_hp_cn_type_t
*
* Typedef for Hotplug Connection (CN) types.
*/
typedef enum {
#define DDI_HP_CN_TYPE_STR_PORT "Virtual-Port"
/*
* The value set to ddi_hp_cn_info_t->cn_num_dpd_on in the case of the
* connection does not depend on any other connections.
*/
#define DDI_HP_CN_NUM_NONE -1
/*
* ddi_hp_cn_info_t
*
* Hotplug Connection (CN) information structure
*/
typedef struct ddi_hp_cn_info {
char *cn_name; /* Name of the Connection */
/*
* Connection number.
*/
int cn_num;
/*
* Depend-on connection number;
* The connection number on which this connection is depending on.
* If this connection does not depend on any other connections
* under the same parent node, then it's cn_num_dpd_on is set to
* DDI_HP_CN_NUM_NONE.
*/
int cn_num_dpd_on;
/*
* Description string for types of Connection. Set by bus software
* and read by users only.
*/
char *cn_type_str;
/*
* The child device of this Port.
* It is NULL if this is a Connector.
*/
typedef struct ddi_hp_property {
char *nvlist_buf;
#if defined(_SYSCALL32)
typedef struct ddi_hp_property32 {
#endif
#ifdef __cplusplus
}
#endif
#endif /* _SYS_DDI_HP_H */