10#ifndef TEUCHOS_SYSTEMINFORMATION_HPP 
   11#define TEUCHOS_SYSTEMINFORMATION_HPP 
   30namespace Teuchos::SystemInformation {
 
   33bool commandIsAvailable(
const std::string &command);
 
   36std::string runCommandAndCaptureOutput(
const std::string &command);
 
   38enum RegistrationResult { REGISTERED, ALREADY_PRESENT, FAILURE };
 
   41RegistrationResult registerEnvironmentVariable(
const std::string &variableName);
 
   45void registerAllPrefixedVariables(
const std::string &prefix);
 
   49registerCommand(
const std::string &commandLabel,
 
   50                const std::string &commandToRunAndCapture = 
"",
 
   51                const std::string &commandToCheckForExistence = 
"");
 
   54void initializeCollection();
 
   57std::map<std::string, std::string> collectSystemInformation();