Files
epics-base/src/libCom/misc/dbDefs.h
Andrew Johnson fbda9f3280 RCS keyword updates for Bazaar
Replaced $Id$ and $Header$ keywords with $Revision-Id$
Deleted $Log$ keywords and any log messages
2010-10-05 14:27:37 -05:00

66 lines
1.7 KiB
C

/*************************************************************************\
* Copyright (c) 2009 UChicago Argonne LLC, as Operator of Argonne
* National Laboratory.
* Copyright (c) 2002 The Regents of the University of California, as
* Operator of Los Alamos National Laboratory.
* EPICS BASE is distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
/* $Revision-Id$
*
* Author: Marty Kraimer
* Date: 6-1-90
*/
#ifndef INC_dbDefs_H
#define INC_dbDefs_H
#include <stddef.h>
#ifdef TRUE
# undef TRUE
#endif
#define TRUE 1
#ifdef FALSE
# undef FALSE
#endif
#define FALSE 0
/* deprecated, use static */
#ifndef LOCAL
# define LOCAL static
#endif
/* number of elements in an array */
#ifndef NELEMENTS
# define NELEMENTS(array) (sizeof (array) / sizeof ((array) [0]))
#endif
/* byte offset of member in structure - deprecated, use offsetof */
#ifndef OFFSET
# define OFFSET(structure, member) offsetof(structure, member)
#endif
/* Subtract member byte offset, returning pointer to parent object */
#ifndef CONTAINER
# ifdef __GNUC__
# define CONTAINER(ptr, structure, member) ({ \
const __typeof(((structure*)0)->member) *_ptr = (ptr); \
(structure*)((char*)_ptr - offsetof(structure, member)); \
})
# else
# define CONTAINER(ptr, structure, member) \
((structure*)((char*)(ptr) - offsetof(structure, member)))
# endif
#endif
/*Process Variable Name Size */
/* PVNAME_STRINGSZ includes the nil terminator */
#define PVNAME_STRINGSZ 61
#define PVNAME_SZ (PVNAME_STRINGSZ - 1)
#define DB_MAX_CHOICES 30
#endif /* INC_dbDefs_H */