summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdevinfo/libdevinfo.h
diff options
context:
space:
mode:
authorjveta <none@none>2007-03-13 19:54:36 -0700
committerjveta <none@none>2007-03-13 19:54:36 -0700
commit3ebafc43f8c876353693c0e5a9e759edd91165b6 (patch)
tree3631ba01d8396cda3f593516aca2d788a3ef3e5a /usr/src/lib/libdevinfo/libdevinfo.h
parent27e6fb2101ae37ba3de6dbb1567bf7558ffaccad (diff)
downloadillumos-joyent-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.h37
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
*/