metalsvm/drivers/net/mmnif.h
2011-10-03 23:59:52 -07:00

51 lines
1.5 KiB
C

/*
* Copyright 2011 Carl-Benedikt Krueger, Chair for Operating Systems,
* RWTH Aachen University
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* This file is part of MetalSVM.
*/
#ifndef __MMNIF_H__
#define __MMNIF_H__
#include <metalsvm/stddef.h>
#ifdef CONFIG_LWIP
#include <lwip/err.h>
#include <lwip/netif.h> /* lwip netif */
#define AF_MMNIF_NET 0x1337
#define MMNIF_AUTOACTIVATE_FAST_SOCKETS 0
#if MMNIF_AUTOACTIVATE_FAST_SOCKETS
#define accept(a,b,c) mmnif_accept(a,b,c)
#define closesocket(s) mmnif_closesocket(s)
#define connect(a,b,c) mmnif_connect(a,b,c)
#define recv(a,b,c,d) mmnif_recv(a,b,c,d)
#define send(a,b,c,d) mmnif_send(a,b,c,d)
#define socket(a,b,c) mmnif_socket(a,b,c)
#define bind(a,b,c) mmnif_bind(a,b,c)
#define listen(a,b) mmnif_listen(a,b)
#endif
err_t mmnif_init(struct netif*);
err_t mmnif_shutdown(void);
int mmnif_worker(void *e);
void mmnif_irqhandler(void);
void mmnif_print_driver_status();
#endif
#endif