STRUCT MOST_CHANNEL_CAPABILITY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME

okay so bestie, gather round: this is struct most_channel_capability β€” literally the Channel capability struct, and she is the main character of this page. We're deep in the Kernel API Manual πŸŽ€ so buckle up.


✨ SYNOPSIS

struct most_channel_capability {
    u16 direction;
    u16 data_type;
    u16 num_buffers_packet;
    u16 buffer_size_packet;
    u16 num_buffers_streaming;
    u16 buffer_size_streaming;
    const char *name_suffix;
 };

yes bestie, that's the whole vibe. copy it exactly, don't get creative πŸ™ˆ


🫢 Members

  • direction β€” the supported channel directions, no cap. it's a bitwise OR-combination of the values from the enumeration most_channel_direction. and listen β€” zero is an allowed value and it means "channel may not be used" πŸ’€ so if you see a zero, that channel is literally not invited to the party.
  • data_type β€” the supported channel data types ✨. again, bitwise OR-combination of the values from the enumeration most_channel_data_type. zero is allowed here too, and same energy: "channel may not be used".
  • num_buffers_packet β€” the maximum number of buffers this channel supports for packet data types (Async,Control,QoS). that's the packet girlies' buffer budget πŸ”₯.
  • buffer_size_packet β€” the maximum buffer size this channel supports for packet data types (Async,Control,QoS). how big each one can be, periodt.
  • num_buffers_streaming β€” the maximum number of buffers this channel supports for streaming data types (Sync,AV Packetized). different data types, different budget, we love range πŸ’œ.
  • buffer_size_streaming β€” the maximum buffer size this channel supports for streaming data types (Sync,AV Packetized). yes bestie, streaming gets her own size limit too.
  • name_suffix β€” an optional suffix provided by an HDM that gets attached to the regular channel name πŸŽ€. like a little accessory. iconic.

🌸 Description

so this struct describes the capabilities of a MOST channel β€” things like supported Data Types and directions, iykyk. this info is provided by an HDM for the MostCore πŸ¦‹.

then the Core creates read only sysfs attribute files in /sys/devices/most/mdev#/<channel>/ with the following attributes:

  • -available_directions
  • -available_datatypes
  • -number_of_packet_buffers
  • -number_of_stream_buffers
  • -size_of_packet_buffer
  • -size_of_stream_buffer

and ngl the content of each file is a string with all the supported properties of this very channel attribute. cute, consistent, slay πŸ’…

lowkey reminder: read only. you're admiring the attributes, not editing them. hands off bestie 🫢

πŸ‘‘ SEE ALSO

Kernel file ./include/linux/most.h plus all these besties:


okay that's the whole page bestie, go be iconic with your channel capabilities 🌈✨

signed, sealed, delivered from ./include/linux β€” October 2026 β€” and yeah, the footer still says struct most_...l_capability(9) because some things are simply too iconic to abbreviate properly πŸ’…πŸ’–

πŸ“¦ where this page comes from