1*4d9fdb46SRobert Mustacchi /*
2*4d9fdb46SRobert Mustacchi Copyright (c) 2018, David Anderson
3*4d9fdb46SRobert Mustacchi All rights reserved.
4*4d9fdb46SRobert Mustacchi 
5*4d9fdb46SRobert Mustacchi Redistribution and use in source and binary forms, with
6*4d9fdb46SRobert Mustacchi or without modification, are permitted provided that the
7*4d9fdb46SRobert Mustacchi following conditions are met:
8*4d9fdb46SRobert Mustacchi 
9*4d9fdb46SRobert Mustacchi     Redistributions of source code must retain the above
10*4d9fdb46SRobert Mustacchi     copyright notice, this list of conditions and the following
11*4d9fdb46SRobert Mustacchi     disclaimer.
12*4d9fdb46SRobert Mustacchi 
13*4d9fdb46SRobert Mustacchi     Redistributions in binary form must reproduce the above
14*4d9fdb46SRobert Mustacchi     copyright notice, this list of conditions and the following
15*4d9fdb46SRobert Mustacchi     disclaimer in the documentation and/or other materials
16*4d9fdb46SRobert Mustacchi     provided with the distribution.
17*4d9fdb46SRobert Mustacchi 
18*4d9fdb46SRobert Mustacchi THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
19*4d9fdb46SRobert Mustacchi CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20*4d9fdb46SRobert Mustacchi INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21*4d9fdb46SRobert Mustacchi OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22*4d9fdb46SRobert Mustacchi ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
23*4d9fdb46SRobert Mustacchi CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24*4d9fdb46SRobert Mustacchi SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25*4d9fdb46SRobert Mustacchi NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26*4d9fdb46SRobert Mustacchi LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27*4d9fdb46SRobert Mustacchi HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28*4d9fdb46SRobert Mustacchi CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29*4d9fdb46SRobert Mustacchi OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30*4d9fdb46SRobert Mustacchi EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31*4d9fdb46SRobert Mustacchi 
32*4d9fdb46SRobert Mustacchi */
33*4d9fdb46SRobert Mustacchi #ifndef DWARF_READING_H
34*4d9fdb46SRobert Mustacchi #define DWARF_READING_H
35*4d9fdb46SRobert Mustacchi 
36*4d9fdb46SRobert Mustacchi #ifdef __cplusplus
37*4d9fdb46SRobert Mustacchi extern "C" {
38*4d9fdb46SRobert Mustacchi #endif /* __cplusplus */
39*4d9fdb46SRobert Mustacchi 
40*4d9fdb46SRobert Mustacchi #ifndef DW_DLV_OK
41*4d9fdb46SRobert Mustacchi /* DW_DLV_OK  must match libdwarf.h */
42*4d9fdb46SRobert Mustacchi /* DW_DLV_NO_ENTRY  must match libdwarf.h  */
43*4d9fdb46SRobert Mustacchi #define DW_DLV_OK 0
44*4d9fdb46SRobert Mustacchi #define DW_DLV_NO_ENTRY -1
45*4d9fdb46SRobert Mustacchi #define DW_DLV_ERROR 1
46*4d9fdb46SRobert Mustacchi #endif /* DW_DLV_OK */
47*4d9fdb46SRobert Mustacchi 
48*4d9fdb46SRobert Mustacchi #define TRUE 1
49*4d9fdb46SRobert Mustacchi #define FALSE 0
50*4d9fdb46SRobert Mustacchi 
51*4d9fdb46SRobert Mustacchi #define ALIGN4 4
52*4d9fdb46SRobert Mustacchi #define ALIGN8 8
53*4d9fdb46SRobert Mustacchi 
54*4d9fdb46SRobert Mustacchi #define PREFIX "\t"
55*4d9fdb46SRobert Mustacchi #define LUFMT "%lu"
56*4d9fdb46SRobert Mustacchi #define UFMT "%u"
57*4d9fdb46SRobert Mustacchi #define DFMT "%d"
58*4d9fdb46SRobert Mustacchi #define XFMT "0x%x"
59*4d9fdb46SRobert Mustacchi 
60*4d9fdb46SRobert Mustacchi /* even if already seen, values must match, so no #ifdef needed. */
61*4d9fdb46SRobert Mustacchi #define DW_DLV_NO_ENTRY  -1
62*4d9fdb46SRobert Mustacchi #define DW_DLV_OK         0
63*4d9fdb46SRobert Mustacchi #define DW_DLV_ERROR      1
64*4d9fdb46SRobert Mustacchi 
65*4d9fdb46SRobert Mustacchi #define P printf
66*4d9fdb46SRobert Mustacchi #define F fflush(stdout)
67*4d9fdb46SRobert Mustacchi 
68*4d9fdb46SRobert Mustacchi #define RRMOA(f,buf,loc,siz,fsiz,errc) _dwarf_object_read_random(f, \
69*4d9fdb46SRobert Mustacchi     (char *)buf,loc,siz,fsiz,errc);
70*4d9fdb46SRobert Mustacchi 
71*4d9fdb46SRobert Mustacchi #ifdef __cplusplus
72*4d9fdb46SRobert Mustacchi }
73*4d9fdb46SRobert Mustacchi #endif /* __cplusplus */
74*4d9fdb46SRobert Mustacchi 
75*4d9fdb46SRobert Mustacchi #endif /* DWARF_READING_H */
76