1/**
2 * @brief
3 *  net_queue_internal.h
4 */
5
6/*
7 * Copyright (c) 2017, ETH Zurich.
8 * All rights reserved.
9 *
10 * This file is distributed under the terms in the attached LICENSE file.
11 * If you do not find this file, copies can be found by writing to:
12 * ETH Zurich D-INFK, Universitaetsstrasse 6, CH-8092 Zurich. Attn: Systems Group.
13 */
14
15
16#ifndef LIB_NETQUEUE_INTERNAL_INCLUDE_NETWORKING_H_
17#define LIB_NETQUEUE_INTERNAL_INCLUDE_NETWORKING_H_
18
19#include <errors/errno.h>
20
21struct devq;
22
23typedef void (*inthandler_t)(void*);
24
25/**
26 * @brief creates a queue to the given card
27 *
28 * @param interrupt interrupt handler
29 * @param cardname  network card to create the queue for
30 * @param queueid   queueid of the network card
31 * @param default_q Request access to default queue (only used by driver)
32 * @param poll      Is the queue polled or are interrupts used
33 * @param retqueue  returns the pointer to the queue
34 *
35 * @return SYS_ERR_OK on success, errval on failure
36 */
37errval_t net_queue_internal_create(inthandler_t interrupt, const char *cardname,
38                                   uint64_t* queueid, bool default_q, bool poll,
39                                   struct devq **retqueue);
40#endif /* LIB_NETQUEUE_INTERNAL_INCLUDE_NETWORKING_H_ */
41