v4l2_ctrl_cluster(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– v4l2_ctrl_cluster β€” the "we're a package deal" declaration πŸ’–

okay bestie, welcome to the Kernel API Manual ✨ this one's short and sweet and it's about telling the kernel that a whole lil squad of controls rolls together. no cap.


🌸 NAME 🌸

v4l2_ctrl_cluster β€” marks, like, every control in the cluster as belonging to that cluster. that's the whole job. she's a one-line icon πŸ’…


✨ SYNOPSIS ✨

void v4l2_ctrl_cluster (unsigned int ncontrols , struct v4l2_ctrl **controls );

πŸŽ€ ARGUMENTS πŸŽ€

  • ncontrols β€” how many controls live in this cluster. the headcount, fr fr.
  • controls β€” the cluster control array, sized ncontrols. it's giving "here's the whole friend group, in order" 🫢

πŸ¦‹ SEE ALSO πŸ¦‹

the entire extended universe, bestie β€” every single one, no skipping πŸ’€

  • Kernel file ./include/media/v4l2-ctrls.h
  • union v4l2_ctrl_ptr(9)
  • v4l2_ctrl_ptr_create(9)
  • struct v4l2_ctrl_ops(9)
  • struct v4l2_ctrl_type_ops(9)
  • v4l2_ctrl_notify_fnc(9)
  • struct v4l2_ctrl(9)
  • struct v4l2_ctrl_ref(9)
  • struct v4l2_ctrl_handler(9)
  • struct v4l2_ctrl_config(9)
  • v4l2_ctrl_fill(9)
  • v4l2_ctrl_handler_init_class(9)
  • v4l2_ctrl_handler_init(9)
  • v4l2_ctrl_handler_free(9)
  • v4l2_ctrl_lock(9)
  • v4l2_ctrl_unlock(9)
  • __v4l2_ctrl_handler_setup(9)
  • v4l2_ctrl_handler_setup(9)
  • v4l2_ctrl_handler_log_status(9)
  • v4l2_ctrl_new_custom(9)
  • v4l2_ctrl_new_std(9)
  • v4l2_ctrl_new_std_menu(9)
  • v4l2_ctrl_new_std_menu_items(9)
  • v4l2_ctrl_new_std_compound(9)
  • v4l2_ctrl_new_int_menu(9)
  • v4l2_ctrl_filter(9)
  • v4l2_ctrl_add_handler(9)
  • v4l2_ctrl_radio_filter(9)
  • v4l2_ctrl_auto_cluster(9)
  • v4l2_ctrl_find(9)
  • v4l2_ctrl_activate(9)
  • __v4l2_ctrl_grab(9)
  • v4l2_ctrl_grab(9)
  • __v4l2_ctrl_modify_range(9)
  • v4l2_ctrl_modify_range(9)
  • __v4l2_ctrl_modify_dimensions(9)
  • v4l2_ctrl_modify_dimensions(9)
  • v4l2_ctrl_notify(9)
  • v4l2_ctrl_get_name(9)
  • v4l2_ctrl_get_menu(9)
  • v4l2_ctrl_get_int_menu(9)
  • v4l2_ctrl_g_ctrl(9)
  • __v4l2_ctrl_s_ctrl(9)
  • v4l2_ctrl_s_ctrl(9)
  • v4l2_ctrl_g_ctrl_int64(9)
  • __v4l2_ctrl_s_ctrl_int64(9)
  • v4l2_ctrl_s_ctrl_int64(9)
  • __v4l2_ctrl_s_ctrl_string(9)
  • v4l2_ctrl_s_ctrl_string(9)
  • __v4l2_ctrl_s_ctrl_compound(9)
  • v4l2_ctrl_s_ctrl_compound(9)
  • v4l2_ctrl_replace(9)
  • v4l2_ctrl_merge(9)
  • v4l2_ctrl_log_status(9)
  • v4l2_ctrl_subscribe_event(9)
  • v4l2_ctrl_poll(9)
  • v4l2_ctrl_request_setup(9)
  • v4l2_ctrl_request_complete(9)
  • v4l2_ctrl_request_hdl_find(9)
  • v4l2_ctrl_request_hdl_put(9)
  • v4l2_ctrl_request_hdl_ctrl_find(9)
  • v4l2_queryctrl(9)
  • v4l2_query_ext_ctrl_to_v4l2_queryctrl(9)
  • v4l2_query_ext_ctrl(9)
  • v4l2_querymenu(9)
  • v4l2_g_ctrl(9)
  • v4l2_s_ctrl(9)
  • v4l2_g_ext_ctrls(9)
  • v4l2_try_ext_ctrls(9)
  • v4l2_s_ext_ctrls(9)
  • v4l2_ctrl_subdev_subscribe_event(9)
  • v4l2_ctrl_subdev_log_status(9)
  • v4l2_ctrl_new_fwnode_properties(9)
  • v4l2_ctrl_type_op_equal(9)
  • v4l2_ctrl_type_op_init(9)
  • v4l2_ctrl_type_op_log(9)
  • v4l2_ctrl_type_op_validate(9)

quick vibe check πŸ’œ β€” this page is literally just the NAME / SYNOPSIS / ARGUMENTS / SEE ALSO combo. no hidden options, no env vars, no exit statuses. what you see is what you get. slay.

and that's the whole page, bestie πŸŽ€βœ¨ this little beauty lives in ./include/media and it's dated October 2026, so go forth and cluster responsibly πŸ’–πŸ‘‘

πŸ“¦ where this page comes from