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>
9 #ifndef __QETH_CORE_OFFL_H__
10 #define __QETH_CORE_OFFL_H__
12 struct qeth_eddp_element {
18 struct qeth_eddp_context {
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 {
48 void *nh_in_ctx; /* address of nh within the ctx */
56 void *th_in_ctx; /* address of th within the ctx */
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 *,
74 void qeth_tx_csum(struct sk_buff *skb);
76 #endif /* __QETH_CORE_EDDP_H__ */