1/*
2 * Copyright 2014-2017 Cavium, Inc.
3 * The contents of this file are subject to the terms of the Common Development
4 * and Distribution License, v.1,  (the "License").
5 *
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the License at available
9 * at http://opensource.org/licenses/CDDL-1.0
10 *
11 * See the License for the specific language governing permissions and
12 * limitations under the License.
13 */
14
15/*
16 * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
17 */
18
19#ifndef _BNXSND_H
20#define	_BNXSND_H
21
22#include "bnx.h"
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28int  bnx_txpkts_init(um_device_t *const);
29void bnx_txpkts_flush(um_device_t *const);
30void bnx_txpkts_fini(um_device_t *const);
31
32#define	BNX_SEND_GOODXMIT  0
33#define	BNX_SEND_LINKDOWN  1
34#define	BNX_SEND_DEFERPKT  2
35#define	BNX_SEND_HDWRFULL  3
36
37int  bnx_xmit_pkt_map(um_txpacket_t *const, mblk_t *);
38
39int bnx_xmit_ring_xmit_qpkt(um_device_t *const, const unsigned int);
40
41int bnx_xmit_ring_xmit_mblk(um_device_t *const, const unsigned int, mblk_t *);
42
43void bnx_xmit_ring_reclaim(um_device_t *const, const unsigned int, s_list_t *);
44
45void bnx_xmit_ring_intr(um_device_t *const, const unsigned int);
46
47void bnx_txpkts_intr(um_device_t *const);
48
49void bnx_xmit_ring_post(um_device_t *const, const unsigned int);
50
51#ifdef __cplusplus
52}
53#endif
54
55#endif /* _BNXSND_H */
56