ax25 namespace
Classes
- struct Address
- One decoded AX.25 address field.
- class FrameDecoder
- AX.25 frame decoder with FCS validation.
- struct FrameDecoderStats
- Receiver statistics for AX.25 frame validation stage.
- struct ParsedUiFrame
- Parsed AX.25 UI frame.
- struct RawFrame
- One validated AX.25 frame without trailing FCS bytes.
Enums
- enum class ParseError: std::uint8_t { kNone = 0, kTooShort = 1, kAddressFieldMalformed = 2, kTooManyRepeaters = 3, kNotUiControl = 4, kMissingPid = 5, kInfoTooLong = 6 }
- Parse failure reason for parse_
ui_ frame.
Functions
- auto compute_fcs(std::span<const std::uint8_t> bytes) -> std::uint16_t
- Compute AX.25 FCS over frame bytes.
- auto parse_ui_frame(std::span<const std::uint8_t> raw_frame, ParsedUiFrame* out, ParseError* out_error) -> bool
- Parse raw AX.25 frame bytes (without FCS) as UI frame.
- auto pid_is_ipv4(const std::uint8_t pid) -> bool constexpr
- Return
trueif PID indicates IPv4 payload. - auto validate_fcs(std::span<const std::uint8_t> bytes_with_fcs) -> bool
- Validate trailing FCS for a frame that includes FCS bytes.
Enum documentation
enum class prf:: pr:: ax25:: ParseError: std::uint8_t
#include <pr/ax25/parser.hpp>
Parse failure reason for parse_
Function documentation
std::uint16_t prf:: pr:: ax25:: compute_fcs(std::span<const std::uint8_t> bytes)
#include <pr/ax25/fcs.hpp>
Compute AX.25 FCS over frame bytes.
| Parameters | |
|---|---|
| bytes | AX.25 frame bytes without trailing FCS field. |
| Returns | FCS value in host endianness. On-wire order is little-endian. |
bool prf:: pr:: ax25:: parse_ui_frame(std::span<const std::uint8_t> raw_frame,
ParsedUiFrame* out,
ParseError* out_error)
#include <pr/ax25/parser.hpp>
Parse raw AX.25 frame bytes (without FCS) as UI frame.
| Parameters | |
|---|---|
| raw_frame | AX.25 bytes without trailing FCS. |
| out out | Parsed frame destination. |
| out_error out | Parse failure details on error. |
| Returns | true on successful parse and UI control validation. |
bool prf:: pr:: ax25:: pid_is_ipv4(const std::uint8_t pid) constexpr
#include <pr/ax25/parser.hpp>
Return true if PID indicates IPv4 payload.
bool prf:: pr:: ax25:: validate_fcs(std::span<const std::uint8_t> bytes_with_fcs)
#include <pr/ax25/fcs.hpp>
Validate trailing FCS for a frame that includes FCS bytes.
| Parameters | |
|---|---|
| bytes_with_fcs | AX.25 frame bytes including trailing 2-byte FCS. |
| Returns | true if FCS is valid. |