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__ */