ossp-pkg/act/act_p.h.in
/*
** OSSP act - Abstract Container Types
** Copyright (c) 1999-2003 Ralf S. Engelschall <rse@engelschall.com>
** Copyright (c) 1999-2003 The OSSP Project <http://www.ossp.org/>
**
** This file is part of OSSP act, an abstract container type library
** which can be found at http://www.ossp.org/pkg/lib/act/.
**
** 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.
**
** THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
** WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
** IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
** OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
** SUCH DAMAGE.
**
** act_p.h: private global header
*/
#ifndef _ACT_P_H_
#define _ACT_P_H_
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <unistd.h>
#include <errno.h>
/* library version */
#define _ACT_VERS_C_AS_HEADER_
#include "act_vers.c"
#undef _ACT_VERS_C_AS_HEADER_
/* temporarily preserve and restore errno */
#define errno_preserve \
do { pth_errno_storage = errno; } while (0)
#define errno_restore \
do { errno = pth_errno_storage; } while (0)
#define errno_safe(cmd) \
do { int __local_errno = errno; cmd; errno = __local_errno; } while (0)
#define return_errno(return_val,errno_val) \
do { errno = (errno_val); return (return_val); } while (0)
#include "act_cfg.h"
#include "act_lib.h"
#include "act_ctx.h"
#include "act_mem.h"
#include "act_chain.h"
#include "act_grid.h"
#include "act_hash.h"
#define insist(expr,false) if (!(expr)) return false
#define act_insist(expr,false) if (!(expr)) return false
#define act_argcheck(expr) if (!(expr)) return ACT_ERR_ARG
/* compiler happyness: avoid ``empty compilation unit'' problem */
#define COMPILER_HAPPYNESS(name) \
int __##name##_unit = 0;
/* generated contents */
BEGIN_DECLARATION
==#==
END_DECLARATION
#endif /* _ACT_P_H_ */