diff options
author | Hidetoshi Shimokawa <simokawa@FreeBSD.org> | 2003-01-25 14:47:33 +0000 |
---|---|---|
committer | Hidetoshi Shimokawa <simokawa@FreeBSD.org> | 2003-01-25 14:47:33 +0000 |
commit | c547b896f5bb72011400ccb2cb9a321b20b06596 (patch) | |
tree | a7d9817a446ea43a90a137c6f9c6ac4f9116a388 /sys/dev/firewire/firewire.h | |
parent | 4394f4767dbc3cf49b4dababb4bfafbbd588edf4 (diff) | |
download | src-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.h | 24 |
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; |