ioctl VIDIOC_S_HW_FREQ_SEEK
&manvol;

# VIDIOC_S_HW_FREQ_SEEK

Perform a hardware frequency seek

    	int ioctl
    	int fd
    	int request
    	struct v4l2_hw_freq_seek
    *argp

## Arguments

`fd`

  &fd;

`request`

  VIDIOC_S_HW_FREQ_SEEK

`argp`

## Description

Start a hardware frequency seek from the current frequency. To do this applications initialize the tuner, type, seek_upward, spacing and wrap_around fields, and zero out the reserved array of a &v4l2-hw-freq-seek; and call the `VIDIOC_S_HW_FREQ_SEEK` ioctl with a pointer to this structure.

This ioctl is supported if the `V4L2_CAP_HW_FREQ_SEEK` capability is set.

### struct v4l2_hw_freq_seek

&cs-str;
__u32 | tuner | The tuner index number. This is the same value as in the &v4l2-input; tuner field and the &v4l2-tuner; index field.
&v4l2-tuner-type; | type | The tuner type. This is the same value as in the &v4l2-tuner; type field.
__u32 | seek_upward | If non-zero, seek upward from the current frequency, else seek downward.
__u32 | wrap_around | If non-zero, wrap around when at the end of the frequency range, else stop seeking.
__u32 | spacing | If non-zero, defines the hardware seek resolution in Hz. The driver selects the nearest value that is supported by the device. If spacing is zero a reasonable default value is used.
__u32 | reserved[7] | Reserved for future extensions. Applications must set the array to zero.

&return-value;

EINVAL

  The tuner index is out of bounds, the wrap_around value is not supported or the value in the type field is wrong.

EAGAIN

  The ioctl timed-out. Try again.