ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ip6_addr.c
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
00003  * All rights reserved. 
00004  * 
00005  * Redistribution and use in source and binary forms, with or without modification, 
00006  * are permitted provided that the following conditions are met:
00007  *
00008  * 1. Redistributions of source code must retain the above copyright notice,
00009  *    this list of conditions and the following disclaimer.
00010  * 2. Redistributions in binary form must reproduce the above copyright notice,
00011  *    this list of conditions and the following disclaimer in the documentation
00012  *    and/or other materials provided with the distribution.
00013  * 3. The name of the author may not be used to endorse or promote products
00014  *    derived from this software without specific prior written permission. 
00015  *
00016  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 
00017  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 
00018  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT 
00019  * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
00020  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 
00021  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
00022  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
00023  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 
00024  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY 
00025  * OF SUCH DAMAGE.
00026  *
00027  * This file is part of the lwIP TCP/IP stack.
00028  * 
00029  * Author: Adam Dunkels <adam@sics.se>
00030  *
00031  */
00032 
00033 #include "lwip/opt.h"
00034 #include "lwip/ip_addr.h"
00035 #include "lwip/inet.h"
00036 
00037 u8_t
00038 ip_addr_netcmp(struct ip_addr *addr1, struct ip_addr *addr2,
00039                 struct ip_addr *mask)
00040 {
00041   return((addr1->addr[0] & mask->addr[0]) == (addr2->addr[0] & mask->addr[0]) &&
00042          (addr1->addr[1] & mask->addr[1]) == (addr2->addr[1] & mask->addr[1]) &&
00043          (addr1->addr[2] & mask->addr[2]) == (addr2->addr[2] & mask->addr[2]) &&
00044          (addr1->addr[3] & mask->addr[3]) == (addr2->addr[3] & mask->addr[3]));
00045         
00046 }
00047 
00048 u8_t
00049 ip_addr_cmp(struct ip_addr *addr1, struct ip_addr *addr2)
00050 {
00051   return(addr1->addr[0] == addr2->addr[0] &&
00052          addr1->addr[1] == addr2->addr[1] &&
00053          addr1->addr[2] == addr2->addr[2] &&
00054          addr1->addr[3] == addr2->addr[3]);
00055 }
00056 
00057 void
00058 ip_addr_set(struct ip_addr *dest, struct ip_addr *src)
00059 {
00060   SMEMCPY(dest, src, sizeof(struct ip_addr));
00061   /*  dest->addr[0] = src->addr[0];
00062   dest->addr[1] = src->addr[1];
00063   dest->addr[2] = src->addr[2];
00064   dest->addr[3] = src->addr[3];*/
00065 }
00066 
00067 u8_t
00068 ip_addr_isany(struct ip_addr *addr)
00069 {
00070   if (addr == NULL) return 1;
00071   return((addr->addr[0] | addr->addr[1] | addr->addr[2] | addr->addr[3]) == 0);
00072 }

Generated on Sun May 27 2012 04:36:02 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.