BRL-CAD
bu.h
Go to the documentation of this file.
1
/* B U . H
2
* BRL-CAD
3
*
4
* Copyright (c) 2004-2023 United States Government as represented by
5
* the U.S. Army Research Laboratory.
6
*
7
* This library is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public License
9
* version 2.1 as published by the Free Software Foundation.
10
*
11
* This library is distributed in the hope that it will be useful, but
12
* WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with this file; see the file named COPYING for more
18
* information.
19
*/
20
21
22
/** @addtogroup libbu
23
*
24
* @brief
25
* The two letters "BU" stand for "BRL-CAD" and "Utility". This library
26
* provides several layers of low-level utility routines, providing features
27
* that make cross-platform coding easier.
28
*
29
* Parallel processing support: threads, semaphores, parallel-malloc.
30
* Consolidated logging support: bu_log(), bu_exit(), and bu_bomb().
31
*
32
* The intention is that these routines are general extensions to the data
33
* types offered by the C language itself, and to the basic C runtime support
34
* provided by the system LIBC. All routines in LIBBU are designed to be
35
* "parallel-safe" (sometimes called "mp-safe" or "thread-safe" if parallelism
36
* is via threading) to greatly ease code development for multiprocessor
37
* systems.
38
*
39
* The LIBBU API is defined in bu.h or appropriate included files from the ./bu
40
* subdirectory; none of the routines in this library will depend on data types
41
* defined in other BRL-CAD header files, such as vmath.h. Look for those
42
* routines in LIBBN.
43
*
44
* All truly fatal errors detected by the library use bu_bomb() to exit with a
45
* status of 12. The LIBBU variants of system calls (e.g., bu_malloc()) do not
46
* return to the caller (unless there's a bomb hook defined) unless they
47
* succeed, thus sparing the programmer from constantly having to check for
48
* NULL return codes.
49
*
50
* The two headers bio.h and bnetwork.h are not LIBBU API but rather are
51
* intended as convenience headers used to package up the somewhat finicky
52
* logic needed to correctly include operating system file I/O and networking
53
* headers.
54
*/
55
/** @{ */
56
/** @brief Main header file for the BRL-CAD Utility Library, LIBBU. */
57
/** @file bu.h */
58
/** @} */
59
60
#ifndef BU_H
61
#define BU_H
62
63
#include "
./bu/defines.h
"
64
#include "
./bu/version.h
"
65
#include "
./bu/app.h
"
66
#include "
./bu/avs.h
"
67
#include "
./bu/bitv.h
"
68
#include "
./bu/cmd.h
"
69
#include "
./bu/color.h
"
70
#include "
./bu/cv.h
"
71
#include "
./bu/debug.h
"
72
#include "
./bu/dylib.h
"
73
#include "
./bu/endian.h
"
74
#include "
./bu/env.h
"
75
#include "
./bu/file.h
"
76
#include "
./bu/glob.h
"
77
#include "
./bu/interrupt.h
"
78
#include "
./bu/path.h
"
79
#include "
./bu/getopt.h
"
80
#include "
./bu/hash.h
"
81
#include "
./bu/hist.h
"
82
#include "
./bu/list.h
"
83
#include "
./bu/log.h
"
84
#include "
./bu/magic.h
"
85
#include "
./bu/malloc.h
"
86
#include "
./bu/mapped_file.h
"
87
#include "
./bu/mime.h
"
88
#include "
./bu/observer.h
"
89
#include "
./bu/opt.h
"
90
#include "
./bu/parallel.h
"
91
#include "
./bu/parse.h
"
92
#include "
./bu/path.h
"
93
#include "
./bu/process.h
"
94
#include "
./bu/ptbl.h
"
95
#include "
./bu/redblack.h
"
96
#include "
./bu/simd.h
"
97
#include "
./bu/snooze.h
"
98
#include "
./bu/sort.h
"
99
#include "
./bu/str.h
"
100
#include "
./bu/time.h
"
101
#include "
./bu/units.h
"
102
#include "
./bu/vfont.h
"
103
#include "
./bu/vlb.h
"
104
#include "
./bu/vls.h
"
105
106
#endif
/* BU_H */
107
108
/*
109
* Local Variables:
110
* mode: C
111
* tab-width: 8
112
* indent-tabs-mode: t
113
* c-file-style: "stroustrup"
114
* End:
115
* ex: shiftwidth=4 tabstop=8
116
*/
app.h
avs.h
bitv.h
cmd.h
debug.h
defines.h
str.h
version.h
color.h
cv.h
dylib.h
endian.h
env.h
file.h
getopt.h
glob.h
hash.h
hist.h
interrupt.h
list.h
log.h
magic.h
Global registry of recognized magic numbers.
malloc.h
mapped_file.h
mime.h
observer.h
opt.h
parallel.h
parse.h
path.h
process.h
ptbl.h
redblack.h
simd.h
snooze.h
sort.h
time.h
units.h
vfont.h
vlb.h
vls.h
include
bu.h
Generated on Tue Mar 7 2023 23:41:49 for BRL-CAD by
1.9.3