home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-s390 / qeth.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  2.0 KB  |  79 lines

  1. /*
  2.  * include/asm-s390/qeth.h
  3.  *
  4.  * ioctl definitions for qeth driver
  5.  *
  6.  * Copyright (C) 2004 IBM Corporation
  7.  *
  8.  * Author(s):    Thomas Spatzier <tspat@de.ibm.com>
  9.  *
  10.  */
  11. #ifndef __ASM_S390_QETH_IOCTL_H__
  12. #define __ASM_S390_QETH_IOCTL_H__
  13. #include <linux/ioctl.h>
  14.  
  15. #define SIOC_QETH_ARP_SET_NO_ENTRIES    (SIOCDEVPRIVATE)
  16. #define SIOC_QETH_ARP_QUERY_INFO        (SIOCDEVPRIVATE + 1)
  17. #define SIOC_QETH_ARP_ADD_ENTRY         (SIOCDEVPRIVATE + 2)
  18. #define SIOC_QETH_ARP_REMOVE_ENTRY      (SIOCDEVPRIVATE + 3)
  19. #define SIOC_QETH_ARP_FLUSH_CACHE       (SIOCDEVPRIVATE + 4)
  20. #define SIOC_QETH_ADP_SET_SNMP_CONTROL  (SIOCDEVPRIVATE + 5)
  21. #define SIOC_QETH_GET_CARD_TYPE         (SIOCDEVPRIVATE + 6)
  22.  
  23. struct qeth_arp_cache_entry {
  24.     __u8  macaddr[6];
  25.     __u8  reserved1[2];
  26.     __u8  ipaddr[16]; /* for both  IPv4 and IPv6 */
  27.     __u8  reserved2[32];
  28. } __attribute__ ((packed));
  29.  
  30. struct qeth_arp_qi_entry7 {
  31.     __u8 media_specific[32];
  32.     __u8 macaddr_type;
  33.     __u8 ipaddr_type;
  34.     __u8 macaddr[6];
  35.     __u8 ipaddr[4];
  36. } __attribute__((packed));
  37.  
  38. struct qeth_arp_qi_entry7_short {
  39.     __u8 macaddr_type;
  40.     __u8 ipaddr_type;
  41.     __u8 macaddr[6];
  42.     __u8 ipaddr[4];
  43. } __attribute__((packed));
  44.  
  45. struct qeth_arp_qi_entry5 {
  46.     __u8 media_specific[32];
  47.     __u8 macaddr_type;
  48.     __u8 ipaddr_type;
  49.     __u8 ipaddr[4];
  50. } __attribute__((packed));
  51.  
  52. struct qeth_arp_qi_entry5_short {
  53.     __u8 macaddr_type;
  54.     __u8 ipaddr_type;
  55.     __u8 ipaddr[4];
  56. } __attribute__((packed));
  57.  
  58. /*
  59.  * can be set by user if no "media specific information" is wanted
  60.  * -> saves a lot of space in user space buffer
  61.  */
  62. #define QETH_QARP_STRIP_ENTRIES  0x8000
  63. #define QETH_QARP_REQUEST_MASK   0x00ff
  64.  
  65. /* data sent to user space as result of query arp ioctl */
  66. #define QETH_QARP_USER_DATA_SIZE 20000
  67. #define QETH_QARP_MASK_OFFSET    4
  68. #define QETH_QARP_ENTRIES_OFFSET 6
  69. struct qeth_arp_query_user_data {
  70.     union {
  71.         __u32 data_len;        /* set by user space program */
  72.         __u32 no_entries;    /* set by kernel */
  73.     } u;
  74.     __u16 mask_bits;
  75.     char *entries;
  76. } __attribute__((packed));
  77.  
  78. #endif /* __ASM_S390_QETH_IOCTL_H__ */
  79.