1 // Copyright (c) 2025-present The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 5 #ifndef BITCOIN_UTIL_EXEC_H
6 #define BITCOIN_UTIL_EXEC_H
7 8 #include <util/fs.h>
9 10 #include <string_view>
11 12 namespace util {
13 //! Cross-platform wrapper for POSIX execvp function.
14 //! Arguments and return value are the same as for POSIX execvp, and the argv
15 //! array should consist of null terminated strings and be null terminated
16 //! itself, like the POSIX function.
17 int ExecVp(const char* file, char* const argv[]);
18 //! Return path to current executable assuming it was invoked with argv0.
19 //! If path could not be determined, returns an empty path.
20 fs::path GetExePath(std::string_view argv0);
21 } // namespace util
22 23 #endif // BITCOIN_UTIL_EXEC_H
24