FreeRTOS
[armadillo_firmware.git] / FreeRTOS / Common / ethernet / FreeRTOS-uIP / uiplib.c
blobafedc0d42e5b9a46a807f28902645e068541a37e
1 /*
2 * Copyright (c) 2004, Adam Dunkels and the Swedish Institute of
3 * Computer Science.
4 * All rights reserved.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. The name of the author may not be used to endorse or promote
15 * products derived from this software without specific prior
16 * written permission.
18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
19 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
22 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
24 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 * This file is part of the uIP TCP/IP stack
32 * $Id: uiplib.c,v 1.2 2006/06/12 08:00:31 adam Exp $
35 #include "uip.h"
36 #include "uiplib.h"
38 /*-----------------------------------------------------------------------------------*/
39 unsigned char uiplib_ipaddrconv( char *addrstr, unsigned char *ipaddr )
41 unsigned char tmp;
42 char c;
43 unsigned char i, j;
45 tmp = 0;
47 for( i = 0; i < 4; ++i )
49 j = 0;
52 c = *addrstr;
53 ++j;
54 if( j > 4 )
56 return 0;
59 if( c == '.' || c == 0 )
61 *ipaddr = tmp;
62 ++ipaddr;
63 tmp = 0;
65 else if( c >= '0' && c <= '9' )
67 tmp = ( tmp * 10 ) + ( c - '0' );
69 else
71 return 0;
74 ++addrstr;
75 } while( c != '.' && c != 0 );
78 return 1;
81 /*-----------------------------------------------------------------------------------*/