exec.h raw

   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