__v4l2_ctrl_s_ctrl_int64(9)
π
__v4l2_ctrl_s_ctrl_int64 β Kernel API Manual, bestie edition π
okay so real talk, this is the page for __v4l2_ctrl_s_ctrl_int64, straight out of the Kernel API Manual, and honestly? she's lowkey a niche icon. the double-underscore prefix is basically her "do not perceive me unless you know what you're doing" energy. iykyk π
β¨ NAME β¨
__v4l2_ctrl_s_ctrl_int64 β the unlocked variant of v4l2_ctrl_s_ctrl_int64(). yes bestie, she's the unfenced one, the one that trusts you. π«Ά
πΈ SYNOPSIS πΈ
int __v4l2_ctrl_s_ctrl_int64 (struct v4l2_ctrl *ctrl , s64 val );
like, that's the whole signature. int in, int out, and two args to love. β
π¦ ARGUMENTS π¦
ctrlβ The control. the actual control we're messing with, the main character of this whole operation πvalβ The new value. the new value we're assigning to it, no cap β¨
π DESCRIPTION π
so here's the tea π β this function sets the control's new value safely by going through the control framework. not out here rawdogging struct fields, we're doing it the proper way, periodt.
the important bit, bestie: this function assumes the control's handler is already locked. like, it literally shows up to the party assuming the door's already locked behind you π. that's what lets it be used from within the v4l2_ctrl_ops functions β you're already inside, so you don't need to re-lock, and that's the whole vibe.
and just so we're clear: this function is for 64-bit integer type controls only. do NOT try to sneak a different type in here, it's giving wrong-audience π
π SEE ALSO π
the friend group is huge, so buckle up, this is everybody π«Ά
- 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_cluster(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_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)
like i said. huge friend group. she knows everyone at the function party π§
and that's the whole page, bestie, you ate that π this lil beauty lives over in ./include/media, stamped October 2026, and that's the source and version energy right there β so go forth, lock your handler first, and slay π₯π
π¦ 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