aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/firewire/firewire.h
diff options
context:
space:
mode:
authorHidetoshi Shimokawa <simokawa@FreeBSD.org>2003-01-25 14:47:33 +0000
committerHidetoshi Shimokawa <simokawa@FreeBSD.org>2003-01-25 14:47:33 +0000
commitc547b896f5bb72011400ccb2cb9a321b20b06596 (patch)
treea7d9817a446ea43a90a137c6f9c6ac4f9116a388 /sys/dev/firewire/firewire.h
parent4394f4767dbc3cf49b4dababb4bfafbbd588edf4 (diff)
downloadsrc-c547b896f5bb72011400ccb2cb9a321b20b06596.tar.gz
src-c547b896f5bb72011400ccb2cb9a321b20b06596.zip
Change API of FW_GDEVLST ioctl.
- include information about itself. - define struct fw_devinfo and use it in struct fw_devlstreq. - unify EUI64 representation using struct fw_eui64.
Notes
Notes: svn path=/head/; revision=109814
Diffstat (limited to 'sys/dev/firewire/firewire.h')
-rw-r--r--sys/dev/firewire/firewire.h24
1 files changed, 15 insertions, 9 deletions
diff --git a/sys/dev/firewire/firewire.h b/sys/dev/firewire/firewire.h
index 6ac583c73f06..e07dfd7e768d 100644
--- a/sys/dev/firewire/firewire.h
+++ b/sys/dev/firewire/firewire.h
@@ -310,6 +310,11 @@ struct fw_pkt {
struct fw_eui64 {
u_int32_t hi, lo;
};
+#define FW_EUI64_BYTE(eui, x) \
+ ((((x)<4)? \
+ ((eui)->hi >> (8*(3-(x)))): \
+ ((eui)->lo >> (8*(7-(x)))) \
+ ) & 0xff)
struct fw_asyreq {
struct fw_asyreq_t{
@@ -328,11 +333,17 @@ struct fw_asyreq {
u_int32_t data[512];
};
+struct fw_devinfo {
+ struct fw_eui64 eui;
+ u_int16_t dst;
+ u_int16_t status;
+};
+
+#define FW_MAX_DEVLST 70
struct fw_devlstreq {
- int n;
- struct fw_eui64 eui[64];
- u_int16_t dst[64];
- u_int16_t status[64];
+ u_int16_t n;
+ u_int16_t info_len;
+ struct fw_devinfo dev[FW_MAX_DEVLST];
};
#define FW_SELF_ID_PORT_CONNECTED_TO_CHILD 3
@@ -430,11 +441,6 @@ struct fw_speed_map {
u_int8_t speed[64][64];
};
-struct fw_map_buf {
- int len;
- void *ptr;
-};
-
struct fw_crom_buf {
struct fw_eui64 eui;
int len;