xref: /illumos-gate/usr/src/lib/libdwarf/common/dwarf_debuglink.h (revision 4d9fdb46b215739778ebc12079842c9905586999)
1*4d9fdb46SRobert Mustacchi /*
2*4d9fdb46SRobert Mustacchi Copyright (c) 2019, 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 #ifndef DWARF_DEBUGLINK_H
33*4d9fdb46SRobert Mustacchi #define DWARF_DEBUGLINK_H
34*4d9fdb46SRobert Mustacchi #ifdef __cplusplus
35*4d9fdb46SRobert Mustacchi extern "C" {
36*4d9fdb46SRobert Mustacchi #endif /* __cplusplus */
37*4d9fdb46SRobert Mustacchi 
38*4d9fdb46SRobert Mustacchi int _dwarf_pathjoinl(dwarfstring *target,dwarfstring * input);
39*4d9fdb46SRobert Mustacchi 
40*4d9fdb46SRobert Mustacchi int _dwarf_construct_linkedto_path(
41*4d9fdb46SRobert Mustacchi    char         **global_prefixes_in,
42*4d9fdb46SRobert Mustacchi    unsigned       length_global_prefixes_in,
43*4d9fdb46SRobert Mustacchi    char          *pathname_in,
44*4d9fdb46SRobert Mustacchi    char          *link_string_in, /* from debug link */
45*4d9fdb46SRobert Mustacchi    dwarfstring   *link_string_fullpath,
46*4d9fdb46SRobert Mustacchi    unsigned char *crc_in, /* from debug_link, 4 bytes */
47*4d9fdb46SRobert Mustacchi    unsigned char *buildid, /* from gnu buildid */
48*4d9fdb46SRobert Mustacchi    unsigned       buildid_length, /* from gnu buildid */
49*4d9fdb46SRobert Mustacchi    char        ***paths_out,
50*4d9fdb46SRobert Mustacchi    unsigned      *paths_out_length,
51*4d9fdb46SRobert Mustacchi    int *errcode);
52*4d9fdb46SRobert Mustacchi #ifdef __cplusplus
53*4d9fdb46SRobert Mustacchi }
54*4d9fdb46SRobert Mustacchi #endif /* __cplusplus */
55*4d9fdb46SRobert Mustacchi #endif /* DWARF_DEBUGLINK_H */
56