ProcessInfo.hpp

1. Overview

Process metadata model. Declares the process identity, executable, arguments, environment, working directory, checksums and ancestry data attached to network connections.

The original source path is:

include/bsc/model/ProcessInfo.hpp

2. Role in the Daemon

This file participates in the privileged BastionGuard Secure Connection daemon. It uses the shared bsc models and follows the daemon-wide fallback strategy: optional high-fidelity backends are used when available, while portable polling or stub behavior preserves service startup.


3. Namespaces

  • bsc::model

4. Dependencies and Included Interfaces

  • cstdint
  • map
  • string
  • utility
  • vector

5. Declared Types

  • struct ProcessInfo

6. State and Data Members

The interface declares the following relevant state members:

  • std::string comm
  • std::string path
  • std::vector<std::string> args
  • std::map<std::string, std::string> env
  • std::string cwd
  • std::map<std::string, std::string> checksums
  • std::vector<std::pair<std::string, std::uint32_t>> process_tree

7. Process Data

The structure stores kernel command name, executable path, argv, environment, current working directory, hashes and parent-process chain. This information can be attached to a connection even after a short-lived process exits, using ProcMon caches.


8. Implementation Considerations

  • The file follows the daemon-wide convention of returning status values or optional objects instead of making recoverable conditions fatal.

9. Source Metrics

MetricValue
File size648 bytes
Lines27
Detected API entries0
Detected types1