patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / drivers / s390 / net / qeth_mpc.h
index b1cfca8..b4d0d7b 100644 (file)
@@ -14,7 +14,9 @@
 
 #include <asm/qeth.h>
 
-#define VERSION_QETH_MPC_H "$Revision: 1.27 $"
+#define VERSION_QETH_MPC_H "$Revision: 1.35 $"
+
+extern const char *VERSION_QETH_MPC_C;
 
 #define IPA_PDU_HEADER_SIZE    0x40
 #define QETH_IPA_PDU_LEN_TOTAL(buffer) (buffer+0x0e)
@@ -33,6 +35,7 @@ extern unsigned char IPA_PDU_HEADER[];
 #define OSA_ADDR_LEN           6
 
 #define QETH_TIMEOUT           (10 * HZ)
+#define QETH_IPA_TIMEOUT       (45 * HZ)
 #define QETH_IDX_COMMAND_SEQNO         -1
 #define SR_INFO_LEN            16
 
@@ -245,12 +248,29 @@ struct qeth_ipacmd_setassparms_hdr {
        __u8 seq_no;
 } __attribute__((packed));
 
+struct qeth_arp_query_data {
+       __u16 request_bits;
+       __u16 reply_bits;
+       __u32 no_entries;
+       char data;
+} __attribute__((packed));
+
+/* used as parameter for arp_query reply */
+struct qeth_arp_query_info {
+       __u32 udata_len;
+       __u16 mask_bits;
+       __u32 udata_offset;
+       __u32 no_entries;
+       char *udata;
+};
+
 /* SETASSPARMS IPA Command: */
 struct qeth_ipacmd_setassparms {
        struct qeth_ipacmd_setassparms_hdr hdr;
        union {
                __u32 flags_32bit;
                struct qeth_arp_cache_entry add_arp_entry;
+               struct qeth_arp_query_data query_arp;
                __u8 ip[16];
        } data;
 } __attribute__ ((packed));
@@ -277,19 +297,47 @@ struct qeth_change_addr {
        __u8 addr[OSA_ADDR_LEN];
 } __attribute__ ((packed));
 
-struct qeth_ipacmd_setadpparms {
+
+struct qeth_snmp_cmd {
+       __u8  token[16];
+       __u32 request;
+       __u32 interface;
+       __u32 returncode;
+       __u32 firmwarelevel;
+       __u32 seqno;
+       __u8  data;
+} __attribute__ ((packed));
+
+struct qeth_snmp_ureq_hdr {
+       __u32   data_len;
+       __u32   req_len;
+       __u32   reserved1;
+       __u32   reserved2;
+} __attribute__ ((packed));
+
+struct qeth_snmp_ureq {
+       struct qeth_snmp_ureq_hdr hdr;
+       struct qeth_snmp_cmd cmd;
+} __attribute__((packed));
+
+struct qeth_ipacmd_setadpparms_hdr {
        __u32 supp_hw_cmds;
        __u32 reserved1;
        __u16 cmdlength;
        __u16 reserved2;
        __u32 command_code;
        __u16 return_code;
-       __u8 frames_used_total;
-       __u8 frame_seq_no;
+       __u8  used_total;
+       __u8  seq_no;
        __u32 reserved3;
+} __attribute__ ((packed));
+
+struct qeth_ipacmd_setadpparms {
+       struct qeth_ipacmd_setadpparms_hdr hdr;
        union {
                struct qeth_query_cmds_supp query_cmds_supp;
                struct qeth_change_addr change_addr;
+               struct qeth_snmp_cmd snmp;
                __u32 mode;
        } data;
 } __attribute__ ((packed));
@@ -357,36 +405,16 @@ enum qeth_ipa_arp_return_codes {
        QETH_IPA_ARP_RC_Q_NO_DATA    = 0x0008,
 };
 
-#define QETH_QARP_DATA_SIZE 3968
-struct qeth_arp_query_data {
-       __u16 request_bits;
-       __u16 reply_bits;
-       __u32 no_entries;
-       char data[QETH_QARP_DATA_SIZE];
-} __attribute__((packed));
-
-/* used as parameter for arp_query reply */
-struct qeth_arp_query_info {
-       __u32 udata_len;
-       __u32 udata_offset;
-       __u32 no_entries;
-       char *udata;
-};
-
-#define IPA_ARP_CMD_LEN (IPA_PDU_HEADER_SIZE+sizeof(struct qeth_ipa_arp_cmd))
-#define QETH_ARP_CMD_BASE_LEN (sizeof(struct qeth_ipacmd_hdr) + \
+#define QETH_SETASS_BASE_LEN (sizeof(struct qeth_ipacmd_hdr) + \
                               sizeof(struct qeth_ipacmd_setassparms_hdr))
 #define QETH_IPA_ARP_DATA_POS(buffer) (buffer + IPA_PDU_HEADER_SIZE + \
-                                      QETH_ARP_CMD_BASE_LEN)
-struct qeth_ipa_arp_cmd {
-       struct qeth_ipacmd_hdr ihdr;
-       struct qeth_ipacmd_setassparms_hdr shdr;
-       union {
-               struct qeth_arp_query_data query_arp;
-       } data;
-} __attribute__((packed));
-
+                                      QETH_SETASS_BASE_LEN)
+#define QETH_SETADP_BASE_LEN (sizeof(struct qeth_ipacmd_hdr) + \
+                             sizeof(struct qeth_ipacmd_setadpparms_hdr))
+#define QETH_SNMP_SETADP_CMDLENGTH 16
 
+#define QETH_ARP_DATA_SIZE 3968
+#define QETH_ARP_CMD_LEN (QETH_ARP_DATA_SIZE + 8)
 /* Helper functions */
 #define IS_IPA_REPLY(cmd) (cmd->hdr.initiator == IPA_CMD_INITIATOR_HOST)