38# if defined(BU_DLL_EXPORTS) && defined(BU_DLL_IMPORTS)
39# error "Only BU_DLL_EXPORTS or BU_DLL_IMPORTS can be defined, not both."
40# elif defined(BU_DLL_EXPORTS)
41# define BU_EXPORT COMPILER_DLLEXPORT
42# elif defined(BU_DLL_IMPORTS)
43# define BU_EXPORT COMPILER_DLLIMPORT
49#define BRLCAD_OK 0x0000
50#define BRLCAD_ERROR 0x0001
57# define BU_DIR_SEPARATOR DIR_SEPARATOR
59# ifdef DIR_SEPARATOR_2
60# define BU_DIR_SEPARATOR DIR_SEPARATOR_2
63# define BU_DIR_SEPARATOR '\\'
65# define BU_DIR_SEPARATOR '/'
73#if defined(PATH_SEPARATOR)
74# define BU_PATH_SEPARATOR PATH_SEPARATOR
77# define BU_PATH_SEPARATOR ';'
79# define BU_PATH_SEPARATOR ':'
87#ifdef HAVE_PRINTF12_ATTRIBUTE
88# define _BU_ATTR_PRINTF12 __attribute__((__format__ (__printf__, 1, 2)))
89#elif !defined(_BU_ATTR_PRINTF12)
90# define _BU_ATTR_PRINTF12
92#ifdef HAVE_PRINTF23_ATTRIBUTE
93# define _BU_ATTR_PRINTF23 __attribute__((__format__ (__printf__, 2, 3)))
94#elif !defined(_BU_ATTR_PRINTF23)
95# define _BU_ATTR_PRINTF23
97#ifdef HAVE_PRINTF34_ATTRIBUTE
98# define _BU_ATTR_PRINTF34 __attribute__((__format__ (__printf__, 3, 4)))
99#elif !defined(_BU_ATTR_PRINTF34)
100# define _BU_ATTR_PRINTF34
102#ifdef HAVE_SCANF23_ATTRIBUTE
103# define _BU_ATTR_SCANF23 __attribute__((__format__ (__scanf__, 2, 3)))
104#elif !defined(_BU_ATTR_SCANF23)
105# define _BU_ATTR_SCANF23
113#ifdef HAVE_ALWAYS_INLINE_ATTRIBUTE
114# define _BU_ATTR_ALWAYS_INLINE __attribute__((always_inline))
116# define _BU_ATTR_ALWAYS_INLINE
126#ifdef HAVE_CONST_ATTRIBUTE
127# define _BU_ATTR_CONST __attribute__((const))
129# define _BU_ATTR_CONST
139#ifdef HAVE_PURE_ATTRIBUTE
140# define _BU_ATTR_PURE __attribute__((pure))
142# define _BU_ATTR_PURE
149#ifdef HAVE_COLD_ATTRIBUTE
150# define _BU_ATTR_COLD __attribute__((cold))
152# define _BU_ATTR_COLD
160#ifdef HAVE_NONNULL_ATTRIBUTE
161# define _BU_ATTR_NONNULL __attribute__((nonnull))
163# define _BU_ATTR_NONNULL
171#ifdef HAVE_WARN_UNUSED_RESULT_ATTRIBUTE
172# define _BU_ATTR_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
174# define _BU_ATTR_WARN_UNUSED_RESULT
184#ifdef HAVE_FLATTEN_ATTRIBUTE
185# define _BU_ATTR_FLATTEN __attribute__((flatten))
187# define _BU_ATTR_FLATTEN
196#define BU_FORTRAN(lc, uc) lc ## _
212#define BU_CLBK_PRE -1
213#define BU_CLBK_DURING 0
214#define BU_CLBK_POST 1
218#define BU_CLBK_LINGER 2
Header file for the BRL-CAD common definitions.
int(* bu_clbk_t)(int, const char **, void *, void *)