OSSP CVS Repository

ossp - ossp-pkg/act/act_p.h.in
Not logged in
[Honeypot]  [Browse]  [Directory]  [Home]  [Login
[Reports]  [Search]  [Ticket]  [Timeline
  [Raw

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_ */

CVSTrac 2.0.1