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 ep endpoint to NIC driver, possibly NULL 31 * @param queueid queueid of the network card 32 * @param default_q Request access to default queue (only used by driver) 33 * @param poll Is the queue polled or are interrupts used 34 * @param filter_ep returns the endpoint to the netfilter interface of this queue 35 * @param retqueue returns the pointer to the queue 36 * 37 * @return SYS_ERR_OK on success, errval on failure 38 */ 39errval_t net_queue_internal_create(inthandler_t interrupt, const char *cardname, 40 struct capref* ep, uint64_t* queueid, bool default_q, 41 bool poll, struct capref* filter_ep, struct devq **retqueue); 42#endif /* LIB_NETQUEUE_INTERNAL_INCLUDE_NETWORKING_H_ */ 43