/* $Id: types.h,v 1.11 2005/07/05 21:15:46 gsson Exp $ */
/*
* Copyright (c) 2005 Henrik Gustafsson <henrik.gustafsson@fnord.se>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef _TYPES_H_
#define _TYPES_H_
#include <sys/types.h>
#include <sys/queue.h>
#define IP(a, b, c, d) ((a << 24) | (b << 16) | (c << 8) | d)
struct ip4_range {
u_int32_t start;
u_int32_t end;
};
struct ip4_range_list_element {
TAILQ_ENTRY(ip4_range_list_element) ip4_range_list_links;
struct ip4_range range;
};
typedef TAILQ_HEAD(ip4_range_list, ip4_range_list_element) ip4_range_list_t;
struct variable {
int temporary;
char *name;
ip4_range_list_t table;
};
struct variable_list_element {
TAILQ_ENTRY(variable_list_element) variable_list_links;
struct variable *v;
};
typedef TAILQ_HEAD(variable_list, variable_list_element) variable_list_t;
#endif /*_TYPES_H_*/
syntax highlighted by Code2HTML, v. 0.9.1