diff options
| author | jveta <none@none> | 2007-03-13 19:54:36 -0700 | 
|---|---|---|
| committer | jveta <none@none> | 2007-03-13 19:54:36 -0700 | 
| commit | 3ebafc43f8c876353693c0e5a9e759edd91165b6 (patch) | |
| tree | 3631ba01d8396cda3f593516aca2d788a3ef3e5a /usr/src/lib/libdevinfo/libdevinfo.h | |
| parent | 27e6fb2101ae37ba3de6dbb1567bf7558ffaccad (diff) | |
| download | illumos-gate-3ebafc43f8c876353693c0e5a9e759edd91165b6.tar.gz | |
6525765 pcie link generator cannot handle arbitrary slot-names property length
Diffstat (limited to 'usr/src/lib/libdevinfo/libdevinfo.h')
| -rw-r--r-- | usr/src/lib/libdevinfo/libdevinfo.h | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/usr/src/lib/libdevinfo/libdevinfo.h b/usr/src/lib/libdevinfo/libdevinfo.h index d570e8e714..ad08502628 100644 --- a/usr/src/lib/libdevinfo/libdevinfo.h +++ b/usr/src/lib/libdevinfo/libdevinfo.h @@ -126,6 +126,19 @@ typedef struct di_lnode *di_lnode_t; /* opaque handle to endpoint */  #define	DI_PROM_HANDLE_NIL	NULL  #define	DI_PATH_NIL	NULL +/* + * IEEE 1275 properties and other standardized property names + */ +#define	DI_PROP_FIRST_CHAS	"first-in-chassis" +#define	DI_PROP_SLOT_NAMES	"slot-names" +#define	DI_PROP_PHYS_SLOT	"physical-slot#" +#define	DI_PROP_DEV_TYPE	"device_type" +#define	DI_PROP_BUS_RANGE	"bus-range" +#define	DI_PROP_SERID		"serialid#" +#define	DI_PROP_REG		"reg" +#define	DI_PROP_AP_NAMES	"ap-names" + +  /* Interface Prototypes */  /* @@ -267,6 +280,30 @@ extern int di_prom_prop_lookup_bytes(di_prom_handle_t prom, di_node_t node,   * to run on future releases.   */ +extern di_prop_t di_prop_find(dev_t match_dev, di_node_t node, +    const char *name); + +/* + * Interfaces for handling IEEE 1275 and other standardized properties + */ + +/* structure for a single slot */ +typedef struct di_slot_name { +	int num;	/* corresponding pci device number */ +	char *name; +} di_slot_name_t; + +extern void di_slot_names_free(int count, di_slot_name_t *slot_names); +extern int di_slot_names_decode(uchar_t *rawdata, int rawlen, +    di_slot_name_t **prop_data); +extern int di_prop_slot_names(di_prop_t prop, di_slot_name_t **prop_data); +extern int di_prom_prop_slot_names(di_prom_prop_t prom_prop, +    di_slot_name_t **prop_data); +extern int di_prop_lookup_slot_names(dev_t dev, di_node_t node, +    di_slot_name_t **prop_data); +extern int di_prom_prop_lookup_slot_names(di_prom_handle_t ph, di_node_t node, +    di_slot_name_t **prop_data); +  /*   * Interfaces for accessing I/O multipathing data   */ | 
