# openrelik_worker_common v0.1.0 - API Reference

## Modules

- Core
  - [OpenrelikWorkerCommon](OpenrelikWorkerCommon.md): Elixir port of Python's `openrelik_worker_common` library.
  - [OpenrelikWorkerCommon.DataTypes](OpenrelikWorkerCommon.DataTypes.md): OpenRelik data types (`openrelik_worker_common.data_types`).
  - [OpenrelikWorkerCommon.DataTypes.DataType](OpenrelikWorkerCommon.DataTypes.DataType.md): OpenRelik data types (`StrEnum` equivalent).

- Tasks &amp; Files
  - [OpenrelikWorkerCommon.FileUtils](OpenrelikWorkerCommon.FileUtils.md): File helper functions for OpenRelik workers
(Elixir port of `openrelik_worker_common.file_utils`).

  - [OpenrelikWorkerCommon.FileUtils.OutputFile](OpenrelikWorkerCommon.FileUtils.OutputFile.md): Represents an output file created by an OpenRelik worker task
(Elixir port of `openrelik_worker_common.file_utils.OutputFile`).
  - [OpenrelikWorkerCommon.FileUtils.TemporaryDirectory](OpenrelikWorkerCommon.FileUtils.TemporaryDirectory.md): Represents a temporary directory on disk, equivalent to Python's `tempfile.TemporaryDirectory`.

  - [OpenrelikWorkerCommon.TaskUtils](OpenrelikWorkerCommon.TaskUtils.md): Helper functions for tasks (`openrelik_worker_common.task_utils`).

- Reporting
  - [OpenrelikWorkerCommon.Reporting](OpenrelikWorkerCommon.Reporting.md): Helper functions and structs for reporting (`openrelik_worker_common.reporting`).

  - [OpenrelikWorkerCommon.Reporting.MarkdownDocument](OpenrelikWorkerCommon.Reporting.MarkdownDocument.md): Represents a Markdown document (`openrelik_worker_common.reporting.MarkdownDocument`).

  - [OpenrelikWorkerCommon.Reporting.MarkdownDocumentSection](OpenrelikWorkerCommon.Reporting.MarkdownDocumentSection.md): Represents a section of a Markdown document
(`openrelik_worker_common.reporting.MarkdownDocumentSection`).

  - [OpenrelikWorkerCommon.Reporting.MarkdownFormatter](OpenrelikWorkerCommon.Reporting.MarkdownFormatter.md): Formats strings into Markdown elements (`openrelik_worker_common.reporting.MarkdownFormatter`).

  - [OpenrelikWorkerCommon.Reporting.MarkdownTable](OpenrelikWorkerCommon.Reporting.MarkdownTable.md): Represents a Markdown table (`openrelik_worker_common.reporting.MarkdownTable`).

  - [OpenrelikWorkerCommon.Reporting.Priority](OpenrelikWorkerCommon.Reporting.Priority.md): Reporting priority enum to store common values (`IntEnum` equivalent).
  - [OpenrelikWorkerCommon.Reporting.Report](OpenrelikWorkerCommon.Reporting.Report.md): Represents a task report (`openrelik_worker_common.reporting.Report`), inheriting behavior
from `MarkdownDocument`.

- Archives, Mounting &amp; Passwords
  - [OpenrelikWorkerCommon.ArchiveUtils](OpenrelikWorkerCommon.ArchiveUtils.md): Helper functions for extracting archives (`openrelik_worker_common.archive_utils`).

  - [OpenrelikWorkerCommon.MountUtils](OpenrelikWorkerCommon.MountUtils.md): Disk image mounting utilities (`openrelik_worker_common.mount_utils`).

  - [OpenrelikWorkerCommon.MountUtils.BlockDevice](OpenrelikWorkerCommon.MountUtils.BlockDevice.md): Provides functionality to map a disk image file to block devices (`loop` or `nbd`)
and mount them (`openrelik_worker_common.mount_utils.BlockDevice`).
  - [OpenrelikWorkerCommon.MountUtils.RedisLock](OpenrelikWorkerCommon.MountUtils.RedisLock.md): Distributed Redis lock for NBD device coordination across containers/nodes,
matching Python `redis.lock.Lock` (`name`, `timeout`, `token`, `acquire/1`, `release/1`).

  - [OpenrelikWorkerCommon.PasswordUtils](OpenrelikWorkerCommon.PasswordUtils.md): Helper functions for password hash cracking (`openrelik_worker_common.password_utils`).

