STRUCT MEDIA_LINK(9)
π NAME π
okay so bestie, we're in the Kernel API Manual, and this is struct media_link(9) β literally a link object that's part of a media graph. That's the whole vibe. slay π
β¨ SYNOPSIS β¨
No cap, here's the exact struct, character for character:
struct media_link {
struct media_gobj graph_obj;
struct list_head list;
union {
struct media_gobj *gobj0;
struct media_pad *source;
struct media_interface *intf;
};
union {
struct media_gobj *gobj1;
struct media_pad *sink;
struct media_entity *entity;
};
struct media_link *reverse;
unsigned long flags;
bool is_backlink;
};
π«Ά Members π«Ά
field-by-field tea, no skipping: π
graph_objβ embedded structure containing the media object common data. it's giving "shared info passport" β¨listβ linked list associated with an entity or an interface that owns the link.{unnamed_union}β anonymous. mysterious, unnamed, iconic πgobj0β part of a union. Used to get the pointer for the firstgraph_objectof the link.sourceβ part of a union. Used only if the first object (gobj0) is a pad. In that case, it represents the source pad.intfβ part of a union. Used only if the first object (gobj0) is an interface.{unnamed_union}β anonymous. again, no name, still main character πgobj1β part of a union. Used to get the pointer for the secondgraph_objectof the link.sinkβ part of a union. Used only if the second object (gobj1) is a pad. In that case, it represents the sink pad.entityβ part of a union. Used only if the second object (gobj1) is an entity.reverseβ pointer to the link for the reverse direction of a pad to pad link. the link's other-direction bestie π¦flagsβ link flags, as defined inuapi/media.h(MEDIA_LNK_FL_*).is_backlinkβ indicate if the link is a backlink. yes, it tells you if it's a backlink π
π SEE ALSO π
Kernel file ./include/media/media-entity.h β and honestly the whole friend group is here, no cap:
enum media_gobj_type(9),struct media_gobj(9),struct media_entity_enum(9),struct media_graph(9),struct media_pipeline(9),struct media_pipeline_pad(9),struct media_pipeline_pad_iter(9),struct media_pipeline_entity_iter(9),enum media_pad_signal_type(9),struct media_pad(9),struct media_entity_operations(9),enum media_entity_type(9),struct media_entity(9),media_entity_for_each_pad(9),struct media_interface(9),struct media_intf_devnode(9)media_entity_id(9),media_type(9),media_id(9),media_gobj_gen_id(9),is_media_entity_v4l2_video_device(9),is_media_entity_v4l2_subdev(9),media_entity_enum_init(9),media_entity_enum_cleanup(9),media_entity_enum_zero(9),media_entity_enum_set(9),media_entity_enum_clear(9),media_entity_enum_test(9),media_entity_enum_test_and_set(9),media_entity_enum_empty(9),media_entity_enum_intersects(9)gobj_to_entity(9),gobj_to_pad(9),gobj_to_link(9),gobj_to_intf(9),intf_to_devnode(9),media_gobj_create(9),media_gobj_destroy(9),media_entity_pads_init(9),media_entity_cleanup(9),media_get_pad_index(9),media_create_pad_link(9),media_create_pad_links(9),media_entity_remove_links(9),__media_entity_setup_link(9),media_entity_setup_link(9),media_entity_find_link(9)media_pad_remote_pad_first(9),media_pad_remote_pad_unique(9),media_entity_remote_pad_unique(9),media_entity_remote_source_pad_unique(9),media_pad_is_streaming(9),media_entity_is_streaming(9),media_entity_pipeline(9),media_pad_pipeline(9),media_entity_get_fwnode_pad(9),media_graph_walk_init(9),media_graph_walk_cleanup(9),media_graph_walk_start(9),media_graph_walk_next(9),media_pipeline_start(9),__media_pipeline_start(9),media_pipeline_stop(9)__media_pipeline_stop(9),media_pipeline_for_each_pad(9),media_pipeline_entity_iter_init(9),media_pipeline_entity_iter_cleanup(9),media_pipeline_for_each_entity(9),media_pipeline_alloc_start(9),media_devnode_create(9),media_devnode_remove(9),media_create_intf_link(9),__media_remove_intf_link(9),media_remove_intf_link(9),__media_remove_intf_links(9),media_remove_intf_links(9),media_entity_call(9),media_create_ancillary_link(9),__media_entity_next_link(9),for_each_media_entity_data_link(9)
this cutie came from ./include/media, dated October 2026, and it's literally struct media_link(9) saying byeee ππβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms