SYNOPSIS
struct v4l2_ctrl_config {
const struct v4l2_ctrl_ops * ops;
const struct v4l2_ctrl_type_ops * type_ops;
u32 id;
const char * name;
enum v4l2_ctrl_type type;
s64 min;
s64 max;
u64 step;
s64 def;
u32 dims[V4L2_CTRL_MAX_DIMS];
u32 elem_size;
u32 flags;
u64 menu_skip_mask;
const char *const * qmenu;
const s64 * qmenu_int;
unsigned int is_private:1;
};
MEMBERS
ops
- The control ops.
type_ops
- The control type ops. Only needed for compound controls.
id
- The control ID.
name
- The control name.
type
- The control type.
min
- The control's minimum value.
max
- The control's maximum value.
step
- The control's step value for non-menu controls.
def
- The control's default value.
dims[V4L2_CTRL_MAX_DIMS]
- The size of each dimension.
elem_size
- The size in bytes of the control.
flags
- The control's flags.
menu_skip_mask
- The control's skip mask for menu controls. This makes it easy to skip menu items that are not valid. If bit X is set, then menu item X is skipped. Of course, this only works for menus with <= 64 menu items. There are no menus that come close to that number, so this is OK. Should we ever need more, then this will have to be extended to a bit array.
qmenu
- A const char * array for all menu items. Array entries that are empty strings ("") correspond to non-existing menu items (this is in addition to the menu_skip_mask above). The last entry must be NULL.
qmenu_int
- A const s64 integer array for all menu items of the type V4L2_CTRL_TYPE_INTEGER_MENU.
is_private
- If set, then this control is private to its handler and it will not be added to any other handlers.
COPYRIGHT