x86: hpet: stop HPET_COUNTER when programming periodic mode
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / drivers / s390 / net / qeth_core_offl.h
blob86bf7df8cf16173d94061b17c9000f974dc6396a
1 /*
2 * drivers/s390/net/qeth_core_offl.h
4 * Copyright IBM Corp. 2007
5 * Author(s): Thomas Spatzier <tspat@de.ibm.com>,
6 * Frank Blaschka <frank.blaschka@de.ibm.com>
7 */
9 #ifndef __QETH_CORE_OFFL_H__
10 #define __QETH_CORE_OFFL_H__
12 struct qeth_eddp_element {
13 u32 flags;
14 u32 length;
15 void *addr;
18 struct qeth_eddp_context {
19 atomic_t refcnt;
20 enum qeth_large_send_types type;
21 int num_pages; /* # of allocated pages */
22 u8 **pages; /* pointers to pages */
23 int offset; /* offset in ctx during creation */
24 int num_elements; /* # of required 'SBALEs' */
25 struct qeth_eddp_element *elements; /* array of 'SBALEs' */
26 int elements_per_skb; /* # of 'SBALEs' per skb **/
29 struct qeth_eddp_context_reference {
30 struct list_head list;
31 struct qeth_eddp_context *ctx;
34 struct qeth_eddp_data {
35 struct qeth_hdr qh;
36 struct ethhdr mac;
37 __be16 vlan[2];
38 union {
39 struct {
40 struct iphdr h;
41 u8 options[40];
42 } ip4;
43 struct {
44 struct ipv6hdr h;
45 } ip6;
46 } nh;
47 u8 nhl;
48 void *nh_in_ctx; /* address of nh within the ctx */
49 union {
50 struct {
51 struct tcphdr h;
52 u8 options[40];
53 } tcp;
54 } th;
55 u8 thl;
56 void *th_in_ctx; /* address of th within the ctx */
57 struct sk_buff *skb;
58 int skb_offset;
59 int frag;
60 int frag_offset;
61 } __attribute__ ((packed));
63 extern struct qeth_eddp_context *qeth_eddp_create_context(struct qeth_card *,
64 struct sk_buff *, struct qeth_hdr *, unsigned char);
65 extern void qeth_eddp_put_context(struct qeth_eddp_context *);
66 extern int qeth_eddp_fill_buffer(struct qeth_qdio_out_q *,
67 struct qeth_eddp_context *, int);
68 extern void qeth_eddp_buf_release_contexts(struct qeth_qdio_out_buffer *);
69 extern int qeth_eddp_check_buffers_for_context(struct qeth_qdio_out_q *,
70 struct qeth_eddp_context *);
72 void qeth_tso_fill_header(struct qeth_card *, struct qeth_hdr *,
73 struct sk_buff *);
74 void qeth_tx_csum(struct sk_buff *skb);
76 #endif /* __QETH_CORE_EDDP_H__ */