File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / ipsec-tools / src / racoon / misc.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 22:39:10 2012 UTC (12 years, 4 months ago) by misho
Branches: ipsec-tools, MAIN
CVS tags: v0_8_2p2, v0_8_1p0, v0_8_1, v0_8_0p0, v0_8_0, HEAD
ipsec-tools

    1: /*	$NetBSD: misc.h,v 1.6 2008/07/15 00:47:09 mgrooms Exp $	*/
    2: 
    3: /* Id: misc.h,v 1.9 2006/04/06 14:00:06 manubsd Exp */
    4: 
    5: /*
    6:  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
    7:  * All rights reserved.
    8:  * 
    9:  * Redistribution and use in source and binary forms, with or without
   10:  * modification, are permitted provided that the following conditions
   11:  * are met:
   12:  * 1. Redistributions of source code must retain the above copyright
   13:  *    notice, this list of conditions and the following disclaimer.
   14:  * 2. Redistributions in binary form must reproduce the above copyright
   15:  *    notice, this list of conditions and the following disclaimer in the
   16:  *    documentation and/or other materials provided with the distribution.
   17:  * 3. Neither the name of the project nor the names of its contributors
   18:  *    may be used to endorse or promote products derived from this software
   19:  *    without specific prior written permission.
   20:  * 
   21:  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
   22:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   23:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   24:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
   25:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   26:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   27:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   28:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   29:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   30:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   31:  * SUCH DAMAGE.
   32:  */
   33: 
   34: #ifndef _MISC_H
   35: #define _MISC_H
   36: 
   37: #define BIT2STR(b) bit2str(b, sizeof(b)<<3)
   38: 
   39: #ifdef HAVE_FUNC_MACRO
   40: #define LOCATION        debug_location(__FILE__, __LINE__, __func__)
   41: #else
   42: #define LOCATION        debug_location(__FILE__, __LINE__, NULL)
   43: #endif
   44: 
   45: extern int racoon_hexdump __P((void *, size_t));
   46: extern char *bit2str __P((int, int));
   47: extern void *get_newbuf __P((void *, size_t));
   48: extern const char *debug_location __P((const char *, int, const char *));
   49: extern int getfsize __P((char *));
   50: struct timeval;
   51: extern double timedelta __P((struct timeval *, struct timeval *));
   52: char *strdup __P((const char *));
   53: extern void close_on_exec __P((int fd));
   54: 
   55: #if defined(__APPLE__) && defined(__MACH__)
   56: #define RACOON_TAILQ_FOREACH_REVERSE(var, head, headname ,field)	\
   57:   TAILQ_FOREACH_REVERSE(var, head, field, headname)
   58: #else
   59: #define RACOON_TAILQ_FOREACH_REVERSE(var, head, headname ,field)	\
   60:     TAILQ_FOREACH_REVERSE(var, head, headname, field)
   61: #endif
   62: 
   63: #ifndef HAVE_STRLCPY
   64: #define strlcpy(d,s,l) (strncpy(d,s,l), (d)[(l)-1] = '\0')
   65: #endif
   66: 
   67: #ifndef HAVE_STRLCAT
   68: #define strlcat(d,s,l) strncat(d,s,(l)-strlen(d)-1)
   69: #endif
   70: 
   71: #define STRDUP_FATAL(x) if (x == NULL) {			\
   72: 	plog(LLV_ERROR, LOCATION, NULL, "strdup failed\n");	\
   73: 	exit(1);						\
   74: }
   75: 
   76: #include "libpfkey.h"
   77: 
   78: #endif /* _MISC_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>