download cdefs.h
Language: C
License: BSD
Copyright: (c) 1991, 1993
LOC: 59
Project Info
Snort
Server: SourceForge
Type: cvs
...ge\s\snort\snort\snort\src\
   .cvsignore
   bounds.h
   byte_extract.c
   byte_extract.h
   cdefs.h
   checksum.h
   codes.c
   codes.h
   debug.c
   debug.h
   decode.c
   decode.h
   detect.c
   detect.h
   event.h
   event_queue.c
   event_queue.h
   event_wrapper.c
   event_wrapper.h
   fatal.h
   fpcreate.c
   fpcreate.h
   fpdetect.c
   fpdetect.h
   generators.h
   log.c
   log.h
   Makefile.am
   mempool.c
   mempool.h
   mstring.c
   mstring.h
   packet_time.c
   packet_time.h
   parser.c
   parser.h
   pcrm.c
   pcrm.h
   plugbase.c
   plugbase.h
   plugin_enum.h
   prototypes.h
   rules.h
   sf_sdlist.c
   sf_sdlist.h
   sfthreshold.c
   sfthreshold.h
   signature.c
   signature.h
   smalloc.h
   snort.c
   snort.h
   snort_packet_header.h
   snprintf.c
   snprintf.h
   spo_plugbase.h
   strlcatu.c
   strlcatu.h
   strlcpyu.c
   strlcpyu.h
   sys_include.h
   tag.c
   tag.h
   timersub.h
   ubi_BinTree.c
   ubi_BinTree.h
   ubi_SplayTree.c
   ubi_SplayTree.h
   util.c
   util.h

/*
 * Copyright (c) 1991, 1993
 *	The Regents of the University of California.  All rights reserved.
 *
 * By using this file, you agree to the terms and conditions set
 * forth in the LICENSE file which can be found at the top level of
 * the sendmail distribution.
 *
 *	$Id: cdefs.h,v 1.2 2003/10/20 15:03:16 chrisgreen Exp $
 *	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
 */

#ifndef _CDEFS_H_
# define	_CDEFS_H_

# if defined(__cplusplus)
#  define	__BEGIN_DECLS	extern "C" {
#  define	__END_DECLS	};
# else /* defined(__cplusplus) */
#  define	__BEGIN_DECLS
#  define	__END_DECLS
# endif /* defined(__cplusplus) */

/*
 * The __CONCAT macro is used to concatenate parts of symbol names, e.g.
 * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
 * The __CONCAT macro is a bit tricky -- make sure you don't put spaces
 * in between its arguments.  __CONCAT can also concatenate double-quoted
 * strings produced by the __STRING macro, but this only works with ANSI C.
 */
# if defined(__STDC__) || defined(__cplusplus)
#  define	__P(protos)	protos		/* full-blown ANSI C */
#  ifndef __CONCAT
#   define	__CONCAT(x,y)	x ## y
#  endif /* ! __CONCAT */
#  define	__STRING(x)	#x

#  ifndef __const
#   define	__const		const		/* define reserved names to standard */
#  endif /* ! __const */
#  define	__signed	signed
#  define	__volatile	volatile
#  if defined(__cplusplus)
#   define	__inline	inline		/* convert to C++ keyword */
#  else /* defined(__cplusplus) */
#   ifndef __GNUC__
#    define	__inline			/* delete GCC keyword */
#   endif /* ! __GNUC__ */
#  endif /* defined(__cplusplus) */

# else /* defined(__STDC__) || defined(__cplusplus) */
#  define	__P(protos)	()		/* traditional C preprocessor */
#  ifndef __CONCAT
#   define	__CONCAT(x,y)	x/**/y
#  endif /* ! __CONCAT */
#  define	__STRING(x)	"x"

#  ifndef __GNUC__
#   define	__const				/* delete pseudo-ANSI C keywords */
#   define	__inline
#   define	__signed
#   define	__volatile
/*
 * In non-ANSI C environments, new programs will want ANSI-only C keywords
 * deleted from the program and old programs will want them left alone.
 * When using a compiler other than gcc, programs using the ANSI C keywords
 * const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
 * When using "gcc -traditional", we assume that this is the intent; if
 * __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
 */
#   ifndef NO_ANSI_KEYWORDS
#    define	const				/* delete ANSI C keywords */
#    define	inline
#    define	signed
#    define	volatile
#   endif /* ! NO_ANSI_KEYWORDS */
#  endif /* ! __GNUC__ */
# endif /* defined(__STDC__) || defined(__cplusplus) */

/*
 * GCC1 and some versions of GCC2 declare dead (non-returning) and
 * pure (no side effects) functions using "volatile" and "const";
 * unfortunately, these then cause warnings under "-ansi -pedantic".
 * GCC2 uses a new, peculiar __attribute__((attrs)) style.  All of
 * these work for GNU C++ (modulo a slight glitch in the C++ grammar
 * in the distribution version of 2.5.5).
 */
# if !defined(__GNUC__) || __GNUC__ < 2 || \
	(__GNUC__ == 2 && __GNUC_MINOR__ < 5)
#  define	__attribute__(x)	/* delete __attribute__ if non-gcc or gcc1 */
#  if defined(__GNUC__) && !defined(__STRICT_ANSI__)
#   define	__dead		__volatile
#   define	__pure		__const
#  endif /* defined(__GNUC__) && !defined(__STRICT_ANSI__) */
# endif /* !defined(__GNUC__) || __GNUC__ < 2 || \ */

/* Delete pseudo-keywords wherever they are not available or needed. */
# ifndef __dead
#  define	__dead
#  define	__pure
# endif /* ! __dead */

#endif /* ! _CDEFS_H_ */

About Koders | Resources | Downloads | Support | Black Duck | Submit Project | Terms of Service | DMCA | Privacy Policy | Site Map| Contact Us