diff options
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/include/asm/qeth.h | 51 |
1 files changed, 41 insertions, 10 deletions
diff --git a/arch/s390/include/asm/qeth.h b/arch/s390/include/asm/qeth.h index 06cbd1e8c943..90efda0b137d 100644 --- a/arch/s390/include/asm/qeth.h +++ b/arch/s390/include/asm/qeth.h | |||
@@ -28,39 +28,70 @@ struct qeth_arp_cache_entry { | |||
28 | __u8 reserved2[32]; | 28 | __u8 reserved2[32]; |
29 | } __attribute__ ((packed)); | 29 | } __attribute__ ((packed)); |
30 | 30 | ||
31 | enum qeth_arp_ipaddrtype { | ||
32 | QETHARP_IP_ADDR_V4 = 1, | ||
33 | QETHARP_IP_ADDR_V6 = 2, | ||
34 | }; | ||
35 | struct qeth_arp_entrytype { | ||
36 | __u8 mac; | ||
37 | __u8 ip; | ||
38 | } __attribute__((packed)); | ||
39 | |||
40 | #define QETH_QARP_MEDIASPECIFIC_BYTES 32 | ||
41 | #define QETH_QARP_MACADDRTYPE_BYTES 1 | ||
31 | struct qeth_arp_qi_entry7 { | 42 | struct qeth_arp_qi_entry7 { |
32 | __u8 media_specific[32]; | 43 | __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; |
33 | __u8 macaddr_type; | 44 | struct qeth_arp_entrytype type; |
34 | __u8 ipaddr_type; | ||
35 | __u8 macaddr[6]; | 45 | __u8 macaddr[6]; |
36 | __u8 ipaddr[4]; | 46 | __u8 ipaddr[4]; |
37 | } __attribute__((packed)); | 47 | } __attribute__((packed)); |
38 | 48 | ||
49 | struct qeth_arp_qi_entry7_ipv6 { | ||
50 | __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; | ||
51 | struct qeth_arp_entrytype type; | ||
52 | __u8 macaddr[6]; | ||
53 | __u8 ipaddr[16]; | ||
54 | } __attribute__((packed)); | ||
55 | |||
39 | struct qeth_arp_qi_entry7_short { | 56 | struct qeth_arp_qi_entry7_short { |
40 | __u8 macaddr_type; | 57 | struct qeth_arp_entrytype type; |
41 | __u8 ipaddr_type; | ||
42 | __u8 macaddr[6]; | 58 | __u8 macaddr[6]; |
43 | __u8 ipaddr[4]; | 59 | __u8 ipaddr[4]; |
44 | } __attribute__((packed)); | 60 | } __attribute__((packed)); |
45 | 61 | ||
62 | struct qeth_arp_qi_entry7_short_ipv6 { | ||
63 | struct qeth_arp_entrytype type; | ||
64 | __u8 macaddr[6]; | ||
65 | __u8 ipaddr[16]; | ||
66 | } __attribute__((packed)); | ||
67 | |||
46 | struct qeth_arp_qi_entry5 { | 68 | struct qeth_arp_qi_entry5 { |
47 | __u8 media_specific[32]; | 69 | __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; |
48 | __u8 macaddr_type; | 70 | struct qeth_arp_entrytype type; |
49 | __u8 ipaddr_type; | ||
50 | __u8 ipaddr[4]; | 71 | __u8 ipaddr[4]; |
51 | } __attribute__((packed)); | 72 | } __attribute__((packed)); |
52 | 73 | ||
74 | struct qeth_arp_qi_entry5_ipv6 { | ||
75 | __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; | ||
76 | struct qeth_arp_entrytype type; | ||
77 | __u8 ipaddr[16]; | ||
78 | } __attribute__((packed)); | ||
79 | |||
53 | struct qeth_arp_qi_entry5_short { | 80 | struct qeth_arp_qi_entry5_short { |
54 | __u8 macaddr_type; | 81 | struct qeth_arp_entrytype type; |
55 | __u8 ipaddr_type; | ||
56 | __u8 ipaddr[4]; | 82 | __u8 ipaddr[4]; |
57 | } __attribute__((packed)); | 83 | } __attribute__((packed)); |
58 | 84 | ||
85 | struct qeth_arp_qi_entry5_short_ipv6 { | ||
86 | struct qeth_arp_entrytype type; | ||
87 | __u8 ipaddr[16]; | ||
88 | } __attribute__((packed)); | ||
59 | /* | 89 | /* |
60 | * can be set by user if no "media specific information" is wanted | 90 | * can be set by user if no "media specific information" is wanted |
61 | * -> saves a lot of space in user space buffer | 91 | * -> saves a lot of space in user space buffer |
62 | */ | 92 | */ |
63 | #define QETH_QARP_STRIP_ENTRIES 0x8000 | 93 | #define QETH_QARP_STRIP_ENTRIES 0x8000 |
94 | #define QETH_QARP_WITH_IPV6 0x4000 | ||
64 | #define QETH_QARP_REQUEST_MASK 0x00ff | 95 | #define QETH_QARP_REQUEST_MASK 0x00ff |
65 | 96 | ||
66 | /* data sent to user space as result of query arp ioctl */ | 97 | /* data sent to user space as result of query arp ioctl */ |