1f9021888SMariusz Zaborski /*- 2*4d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 3f9021888SMariusz Zaborski * Copyright 2014 Jonathan Anderson. 4f9021888SMariusz Zaborski * Copyright 2021 Mariusz Zaborski <oshogbo@vexillium.org> 5f9021888SMariusz Zaborski * 6f9021888SMariusz Zaborski * Redistribution and use in source and binary forms, with or without 7f9021888SMariusz Zaborski * modification, are permitted provided that the following conditions 8f9021888SMariusz Zaborski * are met: 9f9021888SMariusz Zaborski * 1. Redistributions of source code must retain the above copyright 10f9021888SMariusz Zaborski * notice, this list of conditions and the following disclaimer. 11f9021888SMariusz Zaborski * 2. Redistributions in binary form must reproduce the above copyright 12f9021888SMariusz Zaborski * notice, this list of conditions and the following disclaimer in the 13f9021888SMariusz Zaborski * documentation and/or other materials provided with the distribution. 14f9021888SMariusz Zaborski * 15f9021888SMariusz Zaborski * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16f9021888SMariusz Zaborski * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17f9021888SMariusz Zaborski * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18f9021888SMariusz Zaborski * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19f9021888SMariusz Zaborski * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20f9021888SMariusz Zaborski * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21f9021888SMariusz Zaborski * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22f9021888SMariusz Zaborski * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23f9021888SMariusz Zaborski * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24f9021888SMariusz Zaborski * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25f9021888SMariusz Zaborski */ 26f9021888SMariusz Zaborski 27f9021888SMariusz Zaborski #ifndef _LD_COMMON_H_ 28f9021888SMariusz Zaborski #define _LD_COMMON_H_ 29f9021888SMariusz Zaborski 30f9021888SMariusz Zaborski #define TARGET_ELF_NAME "target" 31f9021888SMariusz Zaborski #define TARGET_LIBRARY "libpythagoras.so.0" 32f9021888SMariusz Zaborski 33f9021888SMariusz Zaborski void expect_success(int binary, char *senv); 34f9021888SMariusz Zaborski void expect_missing_library(int binary, char *senv); 35f9021888SMariusz Zaborski 36f9021888SMariusz Zaborski void try_to_run(int binary, int expected_exit_status, char * const *env, 37f9021888SMariusz Zaborski const char *expected_out, const char *expected_err); 38e34c713bSAlex Richardson int opendir_fd(const char *name); 39f9021888SMariusz Zaborski int opendirat(int parent, const char *name); 40f9021888SMariusz Zaborski 41f9021888SMariusz Zaborski #endif /* _LD_COMMON_H_ */ 42