55 #define BU_AVS_MAGIC 0x41765321
56 #define BU_BITV_MAGIC 0x62697476
57 #define BU_COLOR_MAGIC 0x6275636c
58 #define BU_EXTERNAL_MAGIC 0x768dbbd0
59 #define BU_HASH_ENTRY_MAGIC 0x48454e54
60 #define BU_HASH_RECORD_MAGIC 0x68617368
61 #define BU_HASH_TBL_MAGIC 0x48415348
62 #define BU_HIST_MAGIC 0x48697374
63 #define BU_HOOK_LIST_MAGIC 0x90d5dead
64 #define BU_IMAGE_FILE_MAGIC 0x6269666d
65 #define BU_LIST_HEAD_MAGIC 0x01016580
66 #define BU_MAPPED_FILE_MAGIC 0x4d617066
67 #define BU_OBSERVER_MAGIC 0x65796573
68 #define BU_PTBL_MAGIC 0x7074626c
69 #define BU_RB_LIST_MAGIC 0x72626c73
70 #define BU_RB_NODE_MAGIC 0x72626e6f
71 #define BU_RB_PKG_MAGIC 0x7262706b
72 #define BU_RB_TREE_MAGIC 0x72627472
73 #define BU_VLB_MAGIC 0x5f564c42
74 #define BU_VLS_MAGIC 0x89333bbb
78 #define BN_GAUSS_MAGIC 0x1e886880
79 #define BN_POLY_MAGIC 0x506f4c79
80 #define BN_SPM_MAGIC 0x41278678
81 #define BN_TABDATA_MAGIC 0x53736d70
82 #define BN_TABLE_MAGIC 0x53706374
83 #define BN_TOL_MAGIC 0x98c734bb
84 #define BN_UNIF_MAGIC 0x00be7460
85 #define BN_VERT_TREE_MAGIC 0x56455254
86 #define BV_VLBLOCK_MAGIC 0x981bd112
87 #define BV_VLIST_MAGIC 0x98237474
90 #define BG_TESS_TOL_MAGIC 0xb9090dab
94 #define RT_ARBN_INTERNAL_MAGIC 0x18236461
95 #define RT_ARB_INTERNAL_MAGIC 0x9befd010
96 #define RT_ARS_INTERNAL_MAGIC 0x77ddbbe3
97 #define RT_BINUNIF_INTERNAL_MAGIC 0x42696e55
98 #define RT_BOT_INTERNAL_MAGIC 0x626f7472
99 #define RT_BREP_INTERNAL_MAGIC 0x42524550
100 #define RT_CLINE_INTERNAL_MAGIC 0x43767378
101 #define RT_DATUM_INTERNAL_MAGIC 0x6461746d
102 #define RT_DSP_INTERNAL_MAGIC 0x00000de6
103 #define RT_EBM_INTERNAL_MAGIC 0xf901b231
104 #define RT_EHY_INTERNAL_MAGIC 0xaaccee91
105 #define RT_ELL_INTERNAL_MAGIC 0x93bb23ff
106 #define RT_EPA_INTERNAL_MAGIC 0xaaccee90
107 #define RT_ETO_INTERNAL_MAGIC 0xaaccee92
108 #define RT_EXTRUDE_INTERNAL_MAGIC 0x65787472
109 #define RT_GRIP_INTERNAL_MAGIC 0x31196205
110 #define RT_HALF_INTERNAL_MAGIC 0xaa87bbdd
111 #define RT_HF_INTERNAL_MAGIC 0x4846494d
112 #define RT_HYP_INTERNAL_MAGIC 0x68797065
113 #define RT_JOINT_INTERNAL_MAGIC 0x4a6f696e
114 #define RT_METABALL_INTERNAL_MAGIC 0x62616c6c
115 #define RT_NURB_INTERNAL_MAGIC 0x002b2bdd
116 #define RT_PART_INTERNAL_MAGIC 0xaaccee87
117 #define RT_PG_INTERNAL_MAGIC 0x9bfed887
118 #define RT_PIPE_INTERNAL_MAGIC 0x7dd7bb3e
119 #define RT_REVOLVE_INTERNAL_MAGIC 0x7265766C
120 #define RT_RHC_INTERNAL_MAGIC 0xaaccee89
121 #define RT_RPC_INTERNAL_MAGIC 0xaaccee88
122 #define RT_SKETCH_INTERNAL_MAGIC 0x736b6574
123 #define RT_SUBMODEL_INTERNAL_MAGIC 0x7375626d
124 #define RT_SUPERELL_INTERNAL_MAGIC 0xff93bb23
125 #define RT_TGC_INTERNAL_MAGIC 0xaabbdd87
126 #define RT_TOR_INTERNAL_MAGIC 0x9bffed87
127 #define RT_VOL_INTERNAL_MAGIC 0x987ba1d0
128 #define RT_PNTS_INTERNAL_MAGIC 0x706e7473
129 #define RT_ANNOT_INTERNAL_MAGIC 0x616e6e6f
130 #define RT_HRT_INTERNAL_MAGIC 0x6872743f
131 #define RT_SCRIPT_INTERNAL_MAGIC 0x73637269
135 #define NMG_EDGEUSE2_MAGIC 0x91919191
136 #define NMG_EDGEUSE_MAGIC 0x90909090
137 #define NMG_EDGE_G_CNURB_MAGIC 0x636e7262
138 #define NMG_EDGE_G_LSEG_MAGIC 0x6c696768
139 #define NMG_EDGE_MAGIC 0x33333333
140 #define NMG_FACEUSE_MAGIC 0x56565656
141 #define NMG_FACE_G_PLANE_MAGIC 0x726b6e65
142 #define NMG_FACE_G_SNURB_MAGIC 0x736e7262
143 #define NMG_FACE_MAGIC 0x45454545
144 #define NMG_INTER_STRUCT_MAGIC 0x99912120
145 #define NMG_KNOT_VECTOR_MAGIC 0x6b6e6f74
146 #define NMG_LOOPUSE_MAGIC 0x78787878
147 #define NMG_LOOP_A_MAGIC 0x6420224c
148 #define NMG_LOOP_MAGIC 0x67676767
149 #define NMG_MODEL_MAGIC 0x12121212
150 #define NMG_RADIAL_MAGIC 0x52614421
151 #define NMG_RAY_DATA_MAGIC 0x01651771
152 #define NMG_REGION_A_MAGIC 0x696e6720
153 #define NMG_REGION_MAGIC 0x23232323
154 #define NMG_RT_HIT_MAGIC 0x48697400
155 #define NMG_RT_HIT_SUB_MAGIC 0x48696d00
156 #define NMG_RT_MISS_MAGIC 0x4d697300
157 #define NMG_SHELL_A_MAGIC 0x65207761
158 #define NMG_SHELL_MAGIC 0x71077345
159 #define NMG_VERTEXUSE_A_CNURB_MAGIC 0x20416e64
160 #define NMG_VERTEXUSE_A_PLANE_MAGIC 0x69676874
161 #define NMG_VERTEXUSE_MAGIC 0x12341234
162 #define NMG_VERTEX_G_MAGIC 0x72737707
163 #define NMG_VERTEX_MAGIC 0x00123123
167 #define RT_ANP_MAGIC 0x41507270
168 #define RT_AP_MAGIC 0x4170706c
169 #define RT_COMB_MAGIC 0x436f6d49
170 #define RT_CONSTRAINT_MAGIC 0x7063696d
171 #define RT_MATERIAL_MAGIC 0x54414d55
172 #define RT_CTS_MAGIC 0x98989123
173 #define RT_DB_TRAVERSE_MAGIC 0x64627472
174 #define RT_DBTS_MAGIC 0x64627473
175 #define RT_DB_INTERNAL_MAGIC 0x0dbbd867
176 #define RT_DIR_MAGIC 0x05551212
177 #define RT_FUNCTAB_MAGIC 0x46754e63
178 #define RT_HIT_MAGIC 0x20686974
179 #define RT_HTBL_MAGIC 0x6874626c
180 #define RT_PIECELIST_MAGIC 0x70636c73
181 #define RT_PIECESTATE_MAGIC 0x70637374
182 #define RT_RAY_MAGIC 0x78726179
183 #define RT_REGION_MAGIC 0xdffb8001
184 #define RT_SEG_MAGIC 0x98bcdef1
185 #define RT_SOLTAB2_MAGIC 0x92bfcde2
186 #define RT_SOLTAB_MAGIC 0x92bfcde0
187 #define RT_TREE_MAGIC 0x91191191
188 #define RT_WDB_MAGIC 0x5f576462
192 #define GED_CMD_MAGIC 0x65786563
196 #define FB_MAGIC 0xfbfb00fb
197 #define FB_WGL_MAGIC 0x574f4642
198 #define FB_OGL_MAGIC 0x584f4642
199 #define FB_X24_MAGIC 0x58324642
200 #define FB_TK_MAGIC 0x544b4642
201 #define FB_QT_MAGIC 0x51544642
202 #define FB_QTGL_MAGIC 0x51474642
203 #define FB_DEBUG_MAGIC 0x44424642
204 #define FB_DISK_MAGIC 0x44494642
205 #define FB_STK_MAGIC 0x53544642
206 #define FB_MEMORY_MAGIC 0x4d454642
207 #define FB_REMOTE_MAGIC 0x524d4642
208 #define FB_NULL_MAGIC 0x4e554642
209 #define FB_SWFB_MAGIC 0x51474642
213 #define ANIMATE_MAGIC 0x414e4963
214 #define BV_MAGIC 0x62766965
215 #define CURVE_BEZIER_MAGIC 0x62657a69
216 #define CURVE_CARC_MAGIC 0x63617263
217 #define CURVE_LSEG_MAGIC 0x6c736567
218 #define CURVE_NURB_MAGIC 0x6e757262
219 #define ANN_TSEG_MAGIC 0x74736567
220 #define DB5_RAW_INTERNAL_MAGIC 0x64357269
221 #define DBI_MAGIC 0x57204381
222 #define DB_FULL_PATH_MAGIC 0x64626670
223 #define DM_MAGIC 0x444d4d4d
224 #define LIGHT_MAGIC 0xdbddbdb7
225 #define MF_MAGIC 0x55968058
226 #define PIXEL_EXT_MAGIC 0x50787400
227 #define PL_MAGIC 0x0beef00d
228 #define PT_HD_MAGIC 0x87687680
229 #define PT_MAGIC 0x87687681
230 #define RESOURCE_MAGIC 0x83651835
231 #define RTI_MAGIC 0x99101658
232 #define WDB_METABALLPT_MAGIC 0x6d627074
233 #define WDB_PIPESEG_MAGIC 0x9723ffef
234 #define WMEMBER_MAGIC 0x43128912
235 #define ICV_IMAGE_MAGIC 0x6269666d
243 #ifdef NO_BOMBING_MACROS
244 # define BU_CKMAG(_ptr, _magic, _str) (void)(_ptr)
246 # define BU_CKMAG(_ptr, _magic, _str) do { \
248 if (UNLIKELY(( ((uintptr_t)(_ptr) == 0) \
249 || ((uintptr_t)(_ptr) & (sizeof((uintptr_t)(_ptr))-1)) \
250 || (*((const uint32_t *)(_ptr)) != (uint32_t)(_magic)) \
252 bu_badmagic((const uint32_t *)(_ptr), (uint32_t)(_magic), _str, __FILE__, __LINE__); \
263 BU_EXPORT
NORETURN extern void bu_badmagic(
const uint32_t *ptr, uint32_t magic,
const char *str,
const char *file,
int line);
Header file for the BRL-CAD common definitions.
const char * bu_identify_magic(uint32_t magic)
Routines involved with handling "magic numbers" used to identify various in-memory data structures.
NORETURN void bu_badmagic(const uint32_t *ptr, uint32_t magic, const char *str, const char *file, int line)