Port of LwIP performed by Ralf in 2010. Not recommended for use with recent mbed libraries, but good demos of raw LwIP possible

Dependents:   LwIP_raw_API_serverExample tiny-dtls

Committer:
RodColeman
Date:
Tue Sep 18 14:41:24 2012 +0000
Revision:
0:0791c1fece8e
[mbed] converted /Eth_TCP_Wei_Server/lwip

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RodColeman 0:0791c1fece8e 1 /**
RodColeman 0:0791c1fece8e 2 * @file
RodColeman 0:0791c1fece8e 3 * Loop Interface
RodColeman 0:0791c1fece8e 4 *
RodColeman 0:0791c1fece8e 5 */
RodColeman 0:0791c1fece8e 6
RodColeman 0:0791c1fece8e 7 /*
RodColeman 0:0791c1fece8e 8 * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
RodColeman 0:0791c1fece8e 9 * All rights reserved.
RodColeman 0:0791c1fece8e 10 *
RodColeman 0:0791c1fece8e 11 * Redistribution and use in source and binary forms, with or without modification,
RodColeman 0:0791c1fece8e 12 * are permitted provided that the following conditions are met:
RodColeman 0:0791c1fece8e 13 *
RodColeman 0:0791c1fece8e 14 * 1. Redistributions of source code must retain the above copyright notice,
RodColeman 0:0791c1fece8e 15 * this list of conditions and the following disclaimer.
RodColeman 0:0791c1fece8e 16 * 2. Redistributions in binary form must reproduce the above copyright notice,
RodColeman 0:0791c1fece8e 17 * this list of conditions and the following disclaimer in the documentation
RodColeman 0:0791c1fece8e 18 * and/or other materials provided with the distribution.
RodColeman 0:0791c1fece8e 19 * 3. The name of the author may not be used to endorse or promote products
RodColeman 0:0791c1fece8e 20 * derived from this software without specific prior written permission.
RodColeman 0:0791c1fece8e 21 *
RodColeman 0:0791c1fece8e 22 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
RodColeman 0:0791c1fece8e 23 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
RodColeman 0:0791c1fece8e 24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
RodColeman 0:0791c1fece8e 25 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
RodColeman 0:0791c1fece8e 26 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
RodColeman 0:0791c1fece8e 27 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
RodColeman 0:0791c1fece8e 28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
RodColeman 0:0791c1fece8e 29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
RodColeman 0:0791c1fece8e 30 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
RodColeman 0:0791c1fece8e 31 * OF SUCH DAMAGE.
RodColeman 0:0791c1fece8e 32 *
RodColeman 0:0791c1fece8e 33 * This file is part of the lwIP TCP/IP stack.
RodColeman 0:0791c1fece8e 34 *
RodColeman 0:0791c1fece8e 35 * Author: Adam Dunkels <adam@sics.se>
RodColeman 0:0791c1fece8e 36 *
RodColeman 0:0791c1fece8e 37 */
RodColeman 0:0791c1fece8e 38 #include "lwip/opt.h"
RodColeman 0:0791c1fece8e 39
RodColeman 0:0791c1fece8e 40 #if LWIP_HAVE_LOOPIF
RodColeman 0:0791c1fece8e 41
RodColeman 0:0791c1fece8e 42 #include "netif/loopif.h"
RodColeman 0:0791c1fece8e 43 #include "lwip/snmp.h"
RodColeman 0:0791c1fece8e 44
RodColeman 0:0791c1fece8e 45 /**
RodColeman 0:0791c1fece8e 46 * Initialize a lwip network interface structure for a loopback interface
RodColeman 0:0791c1fece8e 47 *
RodColeman 0:0791c1fece8e 48 * @param netif the lwip network interface structure for this loopif
RodColeman 0:0791c1fece8e 49 * @return ERR_OK if the loopif is initialized
RodColeman 0:0791c1fece8e 50 * ERR_MEM if private data couldn't be allocated
RodColeman 0:0791c1fece8e 51 */
RodColeman 0:0791c1fece8e 52 err_t
RodColeman 0:0791c1fece8e 53 loopif_init(struct netif *netif)
RodColeman 0:0791c1fece8e 54 {
RodColeman 0:0791c1fece8e 55 /* initialize the snmp variables and counters inside the struct netif
RodColeman 0:0791c1fece8e 56 * ifSpeed: no assumption can be made!
RodColeman 0:0791c1fece8e 57 */
RodColeman 0:0791c1fece8e 58 NETIF_INIT_SNMP(netif, snmp_ifType_softwareLoopback, 0);
RodColeman 0:0791c1fece8e 59
RodColeman 0:0791c1fece8e 60 netif->name[0] = 'l';
RodColeman 0:0791c1fece8e 61 netif->name[1] = 'o';
RodColeman 0:0791c1fece8e 62 netif->output = netif_loop_output;
RodColeman 0:0791c1fece8e 63 return ERR_OK;
RodColeman 0:0791c1fece8e 64 }
RodColeman 0:0791c1fece8e 65
RodColeman 0:0791c1fece8e 66 #endif /* LWIP_HAVE_LOOPIF */