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