{-# OPTIONS_GHC -optc-D__OLD_VIDIOC_ #-}
{-# LINE 1 "Bindings/Linux/VideoDev2.hsc" #-}
{-# LANGUAGE DeriveDataTypeable, ForeignFunctionInterface, MultiParamTypeClasses, StandaloneDeriving, TypeSynonymInstances #-}
{-# LINE 2 "Bindings/Linux/VideoDev2.hsc" #-}
-- ...edit the generating script instead of this machine-generated file...

{-# LINE 4 "Bindings/Linux/VideoDev2.hsc" #-}

{-# LINE 5 "Bindings/Linux/VideoDev2.hsc" #-}

{-# LINE 6 "Bindings/Linux/VideoDev2.hsc" #-}

{-# LINE 7 "Bindings/Linux/VideoDev2.hsc" #-}
-- | Bindings for Video For Linux Two (v4l2), wrapping:
--   <file:///usr/include/linux/videodev2.h>
--   Upstream documentation at:
--   <http://linuxtv.org/downloads/v4l-dvb-apis/>
module Bindings.Linux.VideoDev2 where
import System.Posix.IOCtl
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 14 "Bindings/Linux/VideoDev2.hsc" #-}
import Foreign(unsafePerformIO)
import Data.Typeable (Typeable)
deriving instance Typeable C'timeval
deriving instance Typeable C'v4l2_rect
deriving instance Typeable C'v4l2_fract
deriving instance Typeable C'v4l2_capability
deriving instance Typeable C'v4l2_pix_format
deriving instance Typeable C'v4l2_fmtdesc
deriving instance Typeable C'v4l2_frmsize_discrete
deriving instance Typeable C'v4l2_frmsize_stepwise
deriving instance Typeable C'v4l2_frmsizeenum
deriving instance Typeable C'v4l2_frmsizeenum_u
deriving instance Typeable C'v4l2_frmival_stepwise
deriving instance Typeable C'v4l2_frmivalenum
deriving instance Typeable C'v4l2_frmivalenum_u
deriving instance Typeable C'v4l2_timecode
deriving instance Typeable C'v4l2_jpegcompression
deriving instance Typeable C'v4l2_requestbuffers
deriving instance Typeable C'v4l2_buffer_u
deriving instance Typeable C'v4l2_buffer
deriving instance Typeable C'v4l2_framebuffer
deriving instance Typeable C'v4l2_clip
deriving instance Typeable C'v4l2_window
deriving instance Typeable C'v4l2_captureparm
deriving instance Typeable C'v4l2_outputparm
deriving instance Typeable C'v4l2_cropcap
deriving instance Typeable C'v4l2_crop
deriving instance Typeable C'v4l2_standard
deriving instance Typeable C'v4l2_input
deriving instance Typeable C'v4l2_output
deriving instance Typeable C'v4l2_control
deriving instance Typeable C'v4l2_ext_control
deriving instance Typeable C'v4l2_ext_controls
deriving instance Typeable C'v4l2_ext_control_u
deriving instance Typeable C'v4l2_queryctrl
deriving instance Typeable C'v4l2_querymenu
deriving instance Typeable C'v4l2_tuner
deriving instance Typeable C'v4l2_modulator
deriving instance Typeable C'v4l2_frequency
deriving instance Typeable C'v4l2_hw_freq_seek
deriving instance Typeable C'v4l2_rds_data
deriving instance Typeable C'v4l2_audio
deriving instance Typeable C'v4l2_audioout
deriving instance Typeable C'v4l2_enc_idx_entry
deriving instance Typeable C'v4l2_enc_idx
deriving instance Typeable C'v4l2_vbi_format
deriving instance Typeable C'v4l2_sliced_vbi_format
deriving instance Typeable C'v4l2_sliced_vbi_cap
deriving instance Typeable C'v4l2_sliced_vbi_data
deriving instance Typeable C'v4l2_mpeg_vbi_itv0_line
deriving instance Typeable C'v4l2_mpeg_vbi_fmt_ivtv
deriving instance Typeable C'v4l2_format
deriving instance Typeable C'v4l2_mpeg_vbi_fmt_ivtv_u
deriving instance Typeable C'v4l2_streamparm
deriving instance Typeable C'v4l2_dbg_match
deriving instance Typeable C'v4l2_dbg_register
deriving instance Typeable C'v4l2_dbg_chip_ident
deriving instance Typeable C'v4l2_format_u
deriving instance Typeable C'v4l2_encoder_cmd_u
deriving instance Typeable C'v4l2_encoder_cmd
deriving instance Typeable C'v4l2_dbg_match_u
deriving instance Typeable C'v4l2_streamparm_u
data C'timeval = C'timeval{
{-# LINE 77 "Bindings/Linux/VideoDev2.hsc" #-}

  c'timeval'tv_sec :: CLong
{-# LINE 78 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'timeval'tv_usec :: CLong
{-# LINE 79 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'timeval where
  sizeOf _ = 8
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'timeval v0 v1
  poke p (C'timeval v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 80 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_std_id = Word64

{-# LINE 81 "Bindings/Linux/VideoDev2.hsc" #-}
foreign import ccall "inline_v4l2_fourcc" c'v4l2_fourcc
  :: Word8 -> Word8 -> Word8 -> Word8 -> IO Word32

{-# LINE 82 "Bindings/Linux/VideoDev2.hsc" #-}
foreign import ccall "inline_V4L2_FIELD_HAS_TOP" c'V4L2_FIELD_HAS_TOP
  :: C'v4l2_field -> IO CInt

{-# LINE 83 "Bindings/Linux/VideoDev2.hsc" #-}
foreign import ccall "inline_V4L2_FIELD_HAS_BOTTOM" c'V4L2_FIELD_HAS_BOTTOM
  :: C'v4l2_field -> IO CInt

{-# LINE 84 "Bindings/Linux/VideoDev2.hsc" #-}
foreign import ccall "inline_V4L2_FIELD_HAS_BOTH" c'V4L2_FIELD_HAS_BOTH
  :: C'v4l2_field -> IO CInt

{-# LINE 85 "Bindings/Linux/VideoDev2.hsc" #-}
foreign import ccall "inline_V4L2_CTRL_ID2CLASS" c'V4L2_CTRL_ID2CLASS
  :: Word32 -> IO Word32

{-# LINE 86 "Bindings/Linux/VideoDev2.hsc" #-}
foreign import ccall "inline_V4L2_CTRL_DRIVER_PRIV" c'V4L2_CTRL_DRIVER_PRIV
  :: Word32 -> IO Word32

{-# LINE 87 "Bindings/Linux/VideoDev2.hsc" #-}
c'VIDEO_MAX_FRAME = 32
c'VIDEO_MAX_FRAME :: (Num a) => a

{-# LINE 88 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_CAPTURE = 1
c'VID_TYPE_CAPTURE :: (Num a) => a

{-# LINE 89 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_TUNER = 2
c'VID_TYPE_TUNER :: (Num a) => a

{-# LINE 90 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_TELETEXT = 4
c'VID_TYPE_TELETEXT :: (Num a) => a

{-# LINE 91 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_OVERLAY = 8
c'VID_TYPE_OVERLAY :: (Num a) => a

{-# LINE 92 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_CHROMAKEY = 16
c'VID_TYPE_CHROMAKEY :: (Num a) => a

{-# LINE 93 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_CLIPPING = 32
c'VID_TYPE_CLIPPING :: (Num a) => a

{-# LINE 94 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_FRAMERAM = 64
c'VID_TYPE_FRAMERAM :: (Num a) => a

{-# LINE 95 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_SCALES = 128
c'VID_TYPE_SCALES :: (Num a) => a

{-# LINE 96 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_MONOCHROME = 256
c'VID_TYPE_MONOCHROME :: (Num a) => a

{-# LINE 97 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_SUBCAPTURE = 512
c'VID_TYPE_SUBCAPTURE :: (Num a) => a

{-# LINE 98 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_MPEG_DECODER = 1024
c'VID_TYPE_MPEG_DECODER :: (Num a) => a

{-# LINE 99 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_MPEG_ENCODER = 2048
c'VID_TYPE_MPEG_ENCODER :: (Num a) => a

{-# LINE 100 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_MJPEG_DECODER = 4096
c'VID_TYPE_MJPEG_DECODER :: (Num a) => a

{-# LINE 101 "Bindings/Linux/VideoDev2.hsc" #-}
c'VID_TYPE_MJPEG_ENCODER = 8192
c'VID_TYPE_MJPEG_ENCODER :: (Num a) => a

{-# LINE 102 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_field = CUInt

{-# LINE 103 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FIELD_ANY = 0
c'V4L2_FIELD_ANY :: (Num a) => a

{-# LINE 104 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FIELD_NONE = 1
c'V4L2_FIELD_NONE :: (Num a) => a

{-# LINE 105 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FIELD_TOP = 2
c'V4L2_FIELD_TOP :: (Num a) => a

{-# LINE 106 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FIELD_BOTTOM = 3
c'V4L2_FIELD_BOTTOM :: (Num a) => a

{-# LINE 107 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FIELD_INTERLACED = 4
c'V4L2_FIELD_INTERLACED :: (Num a) => a

{-# LINE 108 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FIELD_SEQ_TB = 5
c'V4L2_FIELD_SEQ_TB :: (Num a) => a

{-# LINE 109 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FIELD_SEQ_BT = 6
c'V4L2_FIELD_SEQ_BT :: (Num a) => a

{-# LINE 110 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FIELD_ALTERNATE = 7
c'V4L2_FIELD_ALTERNATE :: (Num a) => a

{-# LINE 111 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FIELD_INTERLACED_TB = 8
c'V4L2_FIELD_INTERLACED_TB :: (Num a) => a

{-# LINE 112 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FIELD_INTERLACED_BT = 9
c'V4L2_FIELD_INTERLACED_BT :: (Num a) => a

{-# LINE 113 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_buf_type = CUInt

{-# LINE 114 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_TYPE_VIDEO_CAPTURE = 1
c'V4L2_BUF_TYPE_VIDEO_CAPTURE :: (Num a) => a

{-# LINE 115 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_TYPE_VIDEO_OUTPUT = 2
c'V4L2_BUF_TYPE_VIDEO_OUTPUT :: (Num a) => a

{-# LINE 116 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_TYPE_VIDEO_OVERLAY = 3
c'V4L2_BUF_TYPE_VIDEO_OVERLAY :: (Num a) => a

{-# LINE 117 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_TYPE_VBI_CAPTURE = 4
c'V4L2_BUF_TYPE_VBI_CAPTURE :: (Num a) => a

{-# LINE 118 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_TYPE_VBI_OUTPUT = 5
c'V4L2_BUF_TYPE_VBI_OUTPUT :: (Num a) => a

{-# LINE 119 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6
c'V4L2_BUF_TYPE_SLICED_VBI_CAPTURE :: (Num a) => a

{-# LINE 120 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7
c'V4L2_BUF_TYPE_SLICED_VBI_OUTPUT :: (Num a) => a

{-# LINE 121 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8
c'V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY :: (Num a) => a

{-# LINE 122 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_TYPE_PRIVATE = 128
c'V4L2_BUF_TYPE_PRIVATE :: (Num a) => a

{-# LINE 123 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_ctrl_type = CUInt

{-# LINE 124 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_TYPE_INTEGER = 1
c'V4L2_CTRL_TYPE_INTEGER :: (Num a) => a

{-# LINE 125 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_TYPE_BOOLEAN = 2
c'V4L2_CTRL_TYPE_BOOLEAN :: (Num a) => a

{-# LINE 126 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_TYPE_MENU = 3
c'V4L2_CTRL_TYPE_MENU :: (Num a) => a

{-# LINE 127 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_TYPE_BUTTON = 4
c'V4L2_CTRL_TYPE_BUTTON :: (Num a) => a

{-# LINE 128 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_TYPE_INTEGER64 = 5
c'V4L2_CTRL_TYPE_INTEGER64 :: (Num a) => a

{-# LINE 129 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_TYPE_CTRL_CLASS = 6
c'V4L2_CTRL_TYPE_CTRL_CLASS :: (Num a) => a

{-# LINE 130 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_TYPE_STRING = 7
c'V4L2_CTRL_TYPE_STRING :: (Num a) => a

{-# LINE 131 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_tuner_type = CUInt

{-# LINE 132 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_RADIO = 1
c'V4L2_TUNER_RADIO :: (Num a) => a

{-# LINE 133 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_ANALOG_TV = 2
c'V4L2_TUNER_ANALOG_TV :: (Num a) => a

{-# LINE 134 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_DIGITAL_TV = 3
c'V4L2_TUNER_DIGITAL_TV :: (Num a) => a

{-# LINE 135 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_memory = CUInt

{-# LINE 136 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MEMORY_MMAP = 1
c'V4L2_MEMORY_MMAP :: (Num a) => a

{-# LINE 137 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MEMORY_USERPTR = 2
c'V4L2_MEMORY_USERPTR :: (Num a) => a

{-# LINE 138 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MEMORY_OVERLAY = 3
c'V4L2_MEMORY_OVERLAY :: (Num a) => a

{-# LINE 139 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_colorspace = CUInt

{-# LINE 140 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_COLORSPACE_SMPTE170M = 1
c'V4L2_COLORSPACE_SMPTE170M :: (Num a) => a

{-# LINE 141 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_COLORSPACE_SMPTE240M = 2
c'V4L2_COLORSPACE_SMPTE240M :: (Num a) => a

{-# LINE 142 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_COLORSPACE_REC709 = 3
c'V4L2_COLORSPACE_REC709 :: (Num a) => a

{-# LINE 143 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_COLORSPACE_BT878 = 4
c'V4L2_COLORSPACE_BT878 :: (Num a) => a

{-# LINE 144 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_COLORSPACE_470_SYSTEM_M = 5
c'V4L2_COLORSPACE_470_SYSTEM_M :: (Num a) => a

{-# LINE 145 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_COLORSPACE_470_SYSTEM_BG = 6
c'V4L2_COLORSPACE_470_SYSTEM_BG :: (Num a) => a

{-# LINE 146 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_COLORSPACE_JPEG = 7
c'V4L2_COLORSPACE_JPEG :: (Num a) => a

{-# LINE 147 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_COLORSPACE_SRGB = 8
c'V4L2_COLORSPACE_SRGB :: (Num a) => a

{-# LINE 148 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_priority = CUInt

{-# LINE 149 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PRIORITY_UNSET = 0
c'V4L2_PRIORITY_UNSET :: (Num a) => a

{-# LINE 150 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PRIORITY_BACKGROUND = 1
c'V4L2_PRIORITY_BACKGROUND :: (Num a) => a

{-# LINE 151 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PRIORITY_INTERACTIVE = 2
c'V4L2_PRIORITY_INTERACTIVE :: (Num a) => a

{-# LINE 152 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PRIORITY_RECORD = 3
c'V4L2_PRIORITY_RECORD :: (Num a) => a

{-# LINE 153 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PRIORITY_DEFAULT = 2
c'V4L2_PRIORITY_DEFAULT :: (Num a) => a

{-# LINE 154 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_rect = C'v4l2_rect{
{-# LINE 155 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_rect'left :: Int32
{-# LINE 156 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_rect'top :: Int32
{-# LINE 157 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_rect'width :: Int32
{-# LINE 158 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_rect'height :: Int32
{-# LINE 159 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_rect where
  sizeOf _ = 16
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    return $ C'v4l2_rect v0 v1 v2 v3
  poke p (C'v4l2_rect v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    return ()

{-# LINE 160 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_fract = C'v4l2_fract{
{-# LINE 161 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_fract'numerator :: Word32
{-# LINE 162 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_fract'denominator :: Word32
{-# LINE 163 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_fract where
  sizeOf _ = 8
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'v4l2_fract v0 v1
  poke p (C'v4l2_fract v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 164 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_capability = C'v4l2_capability{
{-# LINE 165 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_capability'driver :: [Word8]
{-# LINE 166 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_capability'card :: [Word8]
{-# LINE 167 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_capability'bus_info :: [Word8]
{-# LINE 168 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_capability'version :: Word32
{-# LINE 169 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_capability'capabilities :: Word32
{-# LINE 170 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_capability'reserved :: [Word32]
{-# LINE 171 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_capability where
  sizeOf _ = 104
  alignment = sizeOf
  peek p = do
    v0 <- peekArray 16 (plusPtr p 0)
    v1 <- peekArray 32 (plusPtr p 16)
    v2 <- peekArray 32 (plusPtr p 48)
    v3 <- peekByteOff p 80
    v4 <- peekByteOff p 84
    v5 <- peekArray 4 (plusPtr p 88)
    return $ C'v4l2_capability v0 v1 v2 v3 v4 v5
  poke p (C'v4l2_capability v0 v1 v2 v3 v4 v5) = do
    pokeArray (plusPtr p 0) (take 16 v0)
    pokeArray (plusPtr p 16) (take 32 v1)
    pokeArray (plusPtr p 48) (take 32 v2)
    pokeByteOff p 80 v3
    pokeByteOff p 84 v4
    pokeArray (plusPtr p 88) (take 4 v5)
    return ()

{-# LINE 172 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_VIDEO_CAPTURE = 1
c'V4L2_CAP_VIDEO_CAPTURE :: (Num a) => a

{-# LINE 173 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_VIDEO_OUTPUT = 2
c'V4L2_CAP_VIDEO_OUTPUT :: (Num a) => a

{-# LINE 174 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_VIDEO_OVERLAY = 4
c'V4L2_CAP_VIDEO_OVERLAY :: (Num a) => a

{-# LINE 175 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_VBI_CAPTURE = 16
c'V4L2_CAP_VBI_CAPTURE :: (Num a) => a

{-# LINE 176 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_VBI_OUTPUT = 32
c'V4L2_CAP_VBI_OUTPUT :: (Num a) => a

{-# LINE 177 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_SLICED_VBI_CAPTURE = 64
c'V4L2_CAP_SLICED_VBI_CAPTURE :: (Num a) => a

{-# LINE 178 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_SLICED_VBI_OUTPUT = 128
c'V4L2_CAP_SLICED_VBI_OUTPUT :: (Num a) => a

{-# LINE 179 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_RDS_CAPTURE = 256
c'V4L2_CAP_RDS_CAPTURE :: (Num a) => a

{-# LINE 180 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_VIDEO_OUTPUT_OVERLAY = 512
c'V4L2_CAP_VIDEO_OUTPUT_OVERLAY :: (Num a) => a

{-# LINE 181 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_HW_FREQ_SEEK = 1024
c'V4L2_CAP_HW_FREQ_SEEK :: (Num a) => a

{-# LINE 182 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_RDS_OUTPUT = 2048
c'V4L2_CAP_RDS_OUTPUT :: (Num a) => a

{-# LINE 183 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_TUNER = 65536
c'V4L2_CAP_TUNER :: (Num a) => a

{-# LINE 184 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_AUDIO = 131072
c'V4L2_CAP_AUDIO :: (Num a) => a

{-# LINE 185 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_RADIO = 262144
c'V4L2_CAP_RADIO :: (Num a) => a

{-# LINE 186 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_MODULATOR = 524288
c'V4L2_CAP_MODULATOR :: (Num a) => a

{-# LINE 187 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_READWRITE = 16777216
c'V4L2_CAP_READWRITE :: (Num a) => a

{-# LINE 188 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_ASYNCIO = 33554432
c'V4L2_CAP_ASYNCIO :: (Num a) => a

{-# LINE 189 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_STREAMING = 67108864
c'V4L2_CAP_STREAMING :: (Num a) => a

{-# LINE 190 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_pix_format = C'v4l2_pix_format{
{-# LINE 191 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_pix_format'width :: Word32
{-# LINE 192 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_pix_format'height :: Word32
{-# LINE 193 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_pix_format'pixelformat :: Word32
{-# LINE 194 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_pix_format'field :: C'v4l2_field
{-# LINE 195 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_pix_format'bytesperline :: Word32
{-# LINE 196 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_pix_format'sizeimage :: Word32
{-# LINE 197 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_pix_format'colorspace :: C'v4l2_colorspace
{-# LINE 198 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_pix_format'priv :: Word32
{-# LINE 199 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_pix_format where
  sizeOf _ = 32
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekByteOff p 16
    v5 <- peekByteOff p 20
    v6 <- peekByteOff p 24
    v7 <- peekByteOff p 28
    return $ C'v4l2_pix_format v0 v1 v2 v3 v4 v5 v6 v7
  poke p (C'v4l2_pix_format v0 v1 v2 v3 v4 v5 v6 v7) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeByteOff p 16 v4
    pokeByteOff p 20 v5
    pokeByteOff p 24 v6
    pokeByteOff p 28 v7
    return ()

{-# LINE 200 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_RGB332 = 826427218
c'V4L2_PIX_FMT_RGB332 :: (Num a) => a

{-# LINE 201 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_RGB444 = 875836498
c'V4L2_PIX_FMT_RGB444 :: (Num a) => a

{-# LINE 202 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_RGB555 = 1329743698
c'V4L2_PIX_FMT_RGB555 :: (Num a) => a

{-# LINE 203 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_RGB565 = 1346520914
c'V4L2_PIX_FMT_RGB565 :: (Num a) => a

{-# LINE 204 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_RGB555X = 1363298130
c'V4L2_PIX_FMT_RGB555X :: (Num a) => a

{-# LINE 205 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_RGB565X = 1380075346
c'V4L2_PIX_FMT_RGB565X :: (Num a) => a

{-# LINE 206 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_BGR24 = 861030210
c'V4L2_PIX_FMT_BGR24 :: (Num a) => a

{-# LINE 207 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_RGB24 = 859981650
c'V4L2_PIX_FMT_RGB24 :: (Num a) => a

{-# LINE 208 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_BGR32 = 877807426
c'V4L2_PIX_FMT_BGR32 :: (Num a) => a

{-# LINE 209 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_RGB32 = 876758866
c'V4L2_PIX_FMT_RGB32 :: (Num a) => a

{-# LINE 210 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_GREY = 1497715271
c'V4L2_PIX_FMT_GREY :: (Num a) => a

{-# LINE 211 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_Y16 = 540422489
c'V4L2_PIX_FMT_Y16 :: (Num a) => a

{-# LINE 212 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_PAL8 = 944521552
c'V4L2_PIX_FMT_PAL8 :: (Num a) => a

{-# LINE 213 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YVU410 = 961893977
c'V4L2_PIX_FMT_YVU410 :: (Num a) => a

{-# LINE 214 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YVU420 = 842094169
c'V4L2_PIX_FMT_YVU420 :: (Num a) => a

{-# LINE 215 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YUYV = 1448695129
c'V4L2_PIX_FMT_YUYV :: (Num a) => a

{-# LINE 216 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YYUV = 1448434009
c'V4L2_PIX_FMT_YYUV :: (Num a) => a

{-# LINE 217 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YVYU = 1431918169
c'V4L2_PIX_FMT_YVYU :: (Num a) => a

{-# LINE 218 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_UYVY = 1498831189
c'V4L2_PIX_FMT_UYVY :: (Num a) => a

{-# LINE 219 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_VYUY = 1498765654
c'V4L2_PIX_FMT_VYUY :: (Num a) => a

{-# LINE 220 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YUV422P = 1345466932
c'V4L2_PIX_FMT_YUV422P :: (Num a) => a

{-# LINE 221 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YUV411P = 1345401140
c'V4L2_PIX_FMT_YUV411P :: (Num a) => a

{-# LINE 222 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_Y41P = 1345401945
c'V4L2_PIX_FMT_Y41P :: (Num a) => a

{-# LINE 223 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YUV444 = 875836505
c'V4L2_PIX_FMT_YUV444 :: (Num a) => a

{-# LINE 224 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YUV555 = 1331058009
c'V4L2_PIX_FMT_YUV555 :: (Num a) => a

{-# LINE 225 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YUV565 = 1347835225
c'V4L2_PIX_FMT_YUV565 :: (Num a) => a

{-# LINE 226 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YUV32 = 878073177
c'V4L2_PIX_FMT_YUV32 :: (Num a) => a

{-# LINE 227 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YUV410 = 961959257
c'V4L2_PIX_FMT_YUV410 :: (Num a) => a

{-# LINE 228 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_YUV420 = 842093913
c'V4L2_PIX_FMT_YUV420 :: (Num a) => a

{-# LINE 229 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_HI240 = 875710792
c'V4L2_PIX_FMT_HI240 :: (Num a) => a

{-# LINE 230 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_HM12 = 842091848
c'V4L2_PIX_FMT_HM12 :: (Num a) => a

{-# LINE 231 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_NV12 = 842094158
c'V4L2_PIX_FMT_NV12 :: (Num a) => a

{-# LINE 232 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_NV21 = 825382478
c'V4L2_PIX_FMT_NV21 :: (Num a) => a

{-# LINE 233 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_NV16 = 909203022
c'V4L2_PIX_FMT_NV16 :: (Num a) => a

{-# LINE 234 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_NV61 = 825644622
c'V4L2_PIX_FMT_NV61 :: (Num a) => a

{-# LINE 235 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SBGGR8 = 825770306
c'V4L2_PIX_FMT_SBGGR8 :: (Num a) => a

{-# LINE 236 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SGBRG8 = 1196573255
c'V4L2_PIX_FMT_SGBRG8 :: (Num a) => a

{-# LINE 237 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SGRBG8 = 1195528775
c'V4L2_PIX_FMT_SGRBG8 :: (Num a) => a

{-# LINE 238 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SGRBG10 = 808534338
c'V4L2_PIX_FMT_SGRBG10 :: (Num a) => a

{-# LINE 239 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SGRBG10DPCM8 = 808535106
c'V4L2_PIX_FMT_SGRBG10DPCM8 :: (Num a) => a

{-# LINE 240 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SBGGR16 = 844257602
c'V4L2_PIX_FMT_SBGGR16 :: (Num a) => a

{-# LINE 241 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_MJPEG = 1196444237
c'V4L2_PIX_FMT_MJPEG :: (Num a) => a

{-# LINE 242 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_JPEG = 1195724874
c'V4L2_PIX_FMT_JPEG :: (Num a) => a

{-# LINE 243 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_DV = 1685288548
c'V4L2_PIX_FMT_DV :: (Num a) => a

{-# LINE 244 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_MPEG = 1195724877
c'V4L2_PIX_FMT_MPEG :: (Num a) => a

{-# LINE 245 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_WNVA = 1096175191
c'V4L2_PIX_FMT_WNVA :: (Num a) => a

{-# LINE 246 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SN9C10X = 808532307
c'V4L2_PIX_FMT_SN9C10X :: (Num a) => a

{-# LINE 247 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SN9C20X_I420 = 808597843
c'V4L2_PIX_FMT_SN9C20X_I420 :: (Num a) => a

{-# LINE 248 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_PWC1 = 826496848
c'V4L2_PIX_FMT_PWC1 :: (Num a) => a

{-# LINE 249 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_PWC2 = 843274064
c'V4L2_PIX_FMT_PWC2 :: (Num a) => a

{-# LINE 250 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_ET61X251 = 892483141
c'V4L2_PIX_FMT_ET61X251 :: (Num a) => a

{-# LINE 251 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SPCA501 = 825242963
c'V4L2_PIX_FMT_SPCA501 :: (Num a) => a

{-# LINE 252 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SPCA505 = 892351827
c'V4L2_PIX_FMT_SPCA505 :: (Num a) => a

{-# LINE 253 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SPCA508 = 942683475
c'V4L2_PIX_FMT_SPCA508 :: (Num a) => a

{-# LINE 254 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SPCA561 = 825636179
c'V4L2_PIX_FMT_SPCA561 :: (Num a) => a

{-# LINE 255 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_PAC207 = 925905488
c'V4L2_PIX_FMT_PAC207 :: (Num a) => a

{-# LINE 256 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_MR97310A = 808530765
c'V4L2_PIX_FMT_MR97310A :: (Num a) => a

{-# LINE 257 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_SQ905C = 1127559225
c'V4L2_PIX_FMT_SQ905C :: (Num a) => a

{-# LINE 258 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_PJPG = 1196444240
c'V4L2_PIX_FMT_PJPG :: (Num a) => a

{-# LINE 259 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_OV511 = 825308495
c'V4L2_PIX_FMT_OV511 :: (Num a) => a

{-# LINE 260 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PIX_FMT_OV518 = 942749007
c'V4L2_PIX_FMT_OV518 :: (Num a) => a

{-# LINE 261 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_fmtdesc = C'v4l2_fmtdesc{
{-# LINE 262 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_fmtdesc'index :: Word32
{-# LINE 263 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_fmtdesc'type :: C'v4l2_buf_type
{-# LINE 264 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_fmtdesc'flags :: Word32
{-# LINE 265 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_fmtdesc'description :: [Word8]
{-# LINE 266 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_fmtdesc'pixelformat :: Word32
{-# LINE 267 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_fmtdesc'reserved :: [Word32]
{-# LINE 268 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_fmtdesc where
  sizeOf _ = 64
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekArray 32 (plusPtr p 12)
    v4 <- peekByteOff p 44
    v5 <- peekArray 4 (plusPtr p 48)
    return $ C'v4l2_fmtdesc v0 v1 v2 v3 v4 v5
  poke p (C'v4l2_fmtdesc v0 v1 v2 v3 v4 v5) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeArray (plusPtr p 12) (take 32 v3)
    pokeByteOff p 44 v4
    pokeArray (plusPtr p 48) (take 4 v5)
    return ()

{-# LINE 269 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FMT_FLAG_COMPRESSED = 1
c'V4L2_FMT_FLAG_COMPRESSED :: (Num a) => a

{-# LINE 270 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FMT_FLAG_EMULATED = 2
c'V4L2_FMT_FLAG_EMULATED :: (Num a) => a

{-# LINE 271 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_frmsizetypes = CUInt

{-# LINE 272 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FRMSIZE_TYPE_DISCRETE = 1
c'V4L2_FRMSIZE_TYPE_DISCRETE :: (Num a) => a

{-# LINE 273 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FRMSIZE_TYPE_CONTINUOUS = 2
c'V4L2_FRMSIZE_TYPE_CONTINUOUS :: (Num a) => a

{-# LINE 274 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FRMSIZE_TYPE_STEPWISE = 3
c'V4L2_FRMSIZE_TYPE_STEPWISE :: (Num a) => a

{-# LINE 275 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_frmsize_discrete = C'v4l2_frmsize_discrete{
{-# LINE 276 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_frmsize_discrete'width :: Word32
{-# LINE 277 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmsize_discrete'height :: Word32
{-# LINE 278 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_frmsize_discrete where
  sizeOf _ = 8
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'v4l2_frmsize_discrete v0 v1
  poke p (C'v4l2_frmsize_discrete v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 279 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_frmsize_stepwise = C'v4l2_frmsize_stepwise{
{-# LINE 280 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_frmsize_stepwise'min_width :: Word32
{-# LINE 281 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmsize_stepwise'max_width :: Word32
{-# LINE 282 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmsize_stepwise'step_width :: Word32
{-# LINE 283 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmsize_stepwise'min_height :: Word32
{-# LINE 284 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmsize_stepwise'max_height :: Word32
{-# LINE 285 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmsize_stepwise'step_height :: Word32
{-# LINE 286 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_frmsize_stepwise where
  sizeOf _ = 24
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekByteOff p 16
    v5 <- peekByteOff p 20
    return $ C'v4l2_frmsize_stepwise v0 v1 v2 v3 v4 v5
  poke p (C'v4l2_frmsize_stepwise v0 v1 v2 v3 v4 v5) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeByteOff p 16 v4
    pokeByteOff p 20 v5
    return ()

{-# LINE 287 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_frmsizeenum_u = C'v4l2_frmsizeenum_u{
{-# LINE 288 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_frmsizeenum_u'discrete :: C'v4l2_frmsize_discrete
{-# LINE 289 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmsizeenum_u'stepwise :: C'v4l2_frmsize_stepwise
{-# LINE 290 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
u'v4l2_frmsizeenum_u'discrete v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_frmsizeenum_u'discrete = c'v4l2_frmsizeenum_u'discrete vu}
    {c'v4l2_frmsizeenum_u'stepwise = c'v4l2_frmsizeenum_u'stepwise vu}
u'v4l2_frmsizeenum_u'discrete :: C'v4l2_frmsizeenum_u -> C'v4l2_frmsize_discrete -> IO C'v4l2_frmsizeenum_u
u'v4l2_frmsizeenum_u'stepwise v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_frmsizeenum_u'discrete = c'v4l2_frmsizeenum_u'discrete vu}
    {c'v4l2_frmsizeenum_u'stepwise = c'v4l2_frmsizeenum_u'stepwise vu}
u'v4l2_frmsizeenum_u'stepwise :: C'v4l2_frmsizeenum_u -> C'v4l2_frmsize_stepwise -> IO C'v4l2_frmsizeenum_u
instance Storable C'v4l2_frmsizeenum_u where
  sizeOf _ = 24
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    return $ C'v4l2_frmsizeenum_u v0 v1
  poke p (C'v4l2_frmsizeenum_u v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    return ()

{-# LINE 291 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_frmsizeenum = C'v4l2_frmsizeenum{
{-# LINE 292 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_frmsizeenum'index :: Word32
{-# LINE 293 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmsizeenum'pixel_format :: Word32
{-# LINE 294 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmsizeenum'type :: Word32
{-# LINE 295 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmsizeenum'u :: C'v4l2_frmsizeenum_u
{-# LINE 296 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmsizeenum'reserved :: [Word32]
{-# LINE 297 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_frmsizeenum where
  sizeOf _ = 44
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekArray 2 (plusPtr p 36)
    return $ C'v4l2_frmsizeenum v0 v1 v2 v3 v4
  poke p (C'v4l2_frmsizeenum v0 v1 v2 v3 v4) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeArray (plusPtr p 36) (take 2 v4)
    return ()

{-# LINE 298 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_frmivaltypes = CUInt

{-# LINE 299 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FRMIVAL_TYPE_DISCRETE = 1
c'V4L2_FRMIVAL_TYPE_DISCRETE :: (Num a) => a

{-# LINE 300 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FRMIVAL_TYPE_CONTINUOUS = 2
c'V4L2_FRMIVAL_TYPE_CONTINUOUS :: (Num a) => a

{-# LINE 301 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FRMIVAL_TYPE_STEPWISE = 3
c'V4L2_FRMIVAL_TYPE_STEPWISE :: (Num a) => a

{-# LINE 302 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_frmival_stepwise = C'v4l2_frmival_stepwise{
{-# LINE 303 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_frmival_stepwise'min :: C'v4l2_fract
{-# LINE 304 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmival_stepwise'max :: C'v4l2_fract
{-# LINE 305 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmival_stepwise'step :: C'v4l2_fract
{-# LINE 306 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_frmival_stepwise where
  sizeOf _ = 24
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 16
    return $ C'v4l2_frmival_stepwise v0 v1 v2
  poke p (C'v4l2_frmival_stepwise v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 16 v2
    return ()

{-# LINE 307 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_frmivalenum_u = C'v4l2_frmivalenum_u{
{-# LINE 308 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_frmivalenum_u'discrete :: C'v4l2_fract
{-# LINE 309 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmivalenum_u'stepwise :: C'v4l2_frmival_stepwise
{-# LINE 310 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
u'v4l2_frmivalenum_u'discrete v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_frmivalenum_u'discrete = c'v4l2_frmivalenum_u'discrete vu}
    {c'v4l2_frmivalenum_u'stepwise = c'v4l2_frmivalenum_u'stepwise vu}
u'v4l2_frmivalenum_u'discrete :: C'v4l2_frmivalenum_u -> C'v4l2_fract -> IO C'v4l2_frmivalenum_u
u'v4l2_frmivalenum_u'stepwise v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_frmivalenum_u'discrete = c'v4l2_frmivalenum_u'discrete vu}
    {c'v4l2_frmivalenum_u'stepwise = c'v4l2_frmivalenum_u'stepwise vu}
u'v4l2_frmivalenum_u'stepwise :: C'v4l2_frmivalenum_u -> C'v4l2_frmival_stepwise -> IO C'v4l2_frmivalenum_u
instance Storable C'v4l2_frmivalenum_u where
  sizeOf _ = 24
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    return $ C'v4l2_frmivalenum_u v0 v1
  poke p (C'v4l2_frmivalenum_u v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    return ()

{-# LINE 311 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_frmivalenum = C'v4l2_frmivalenum{
{-# LINE 312 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_frmivalenum'index :: Word32
{-# LINE 313 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmivalenum'pixel_format :: Word32
{-# LINE 314 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmivalenum'width :: Word32
{-# LINE 315 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmivalenum'height :: Word32
{-# LINE 316 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmivalenum'type :: Word32
{-# LINE 317 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmivalenum'u :: C'v4l2_frmivalenum_u
{-# LINE 318 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frmivalenum'reserved :: [Word32]
{-# LINE 319 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_frmivalenum where
  sizeOf _ = 52
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekByteOff p 16
    v5 <- peekByteOff p 20
    v6 <- peekArray 2 (plusPtr p 44)
    return $ C'v4l2_frmivalenum v0 v1 v2 v3 v4 v5 v6
  poke p (C'v4l2_frmivalenum v0 v1 v2 v3 v4 v5 v6) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeByteOff p 16 v4
    pokeByteOff p 20 v5
    pokeArray (plusPtr p 44) (take 2 v6)
    return ()

{-# LINE 320 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_timecode = C'v4l2_timecode{
{-# LINE 321 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_timecode'type :: Word32
{-# LINE 322 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_timecode'flags :: Word32
{-# LINE 323 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_timecode'frames :: Word8
{-# LINE 324 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_timecode'seconds :: Word8
{-# LINE 325 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_timecode'minutes :: Word8
{-# LINE 326 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_timecode'hours :: Word8
{-# LINE 327 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_timecode'userbits :: [Word8]
{-# LINE 328 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_timecode where
  sizeOf _ = 16
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 9
    v4 <- peekByteOff p 10
    v5 <- peekByteOff p 11
    v6 <- peekArray 4 (plusPtr p 12)
    return $ C'v4l2_timecode v0 v1 v2 v3 v4 v5 v6
  poke p (C'v4l2_timecode v0 v1 v2 v3 v4 v5 v6) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 9 v3
    pokeByteOff p 10 v4
    pokeByteOff p 11 v5
    pokeArray (plusPtr p 12) (take 4 v6)
    return ()

{-# LINE 329 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TC_TYPE_24FPS = 1
c'V4L2_TC_TYPE_24FPS :: (Num a) => a

{-# LINE 330 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TC_TYPE_25FPS = 2
c'V4L2_TC_TYPE_25FPS :: (Num a) => a

{-# LINE 331 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TC_TYPE_30FPS = 3
c'V4L2_TC_TYPE_30FPS :: (Num a) => a

{-# LINE 332 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TC_TYPE_50FPS = 4
c'V4L2_TC_TYPE_50FPS :: (Num a) => a

{-# LINE 333 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TC_TYPE_60FPS = 5
c'V4L2_TC_TYPE_60FPS :: (Num a) => a

{-# LINE 334 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TC_FLAG_DROPFRAME = 1
c'V4L2_TC_FLAG_DROPFRAME :: (Num a) => a

{-# LINE 335 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TC_FLAG_COLORFRAME = 2
c'V4L2_TC_FLAG_COLORFRAME :: (Num a) => a

{-# LINE 336 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TC_USERBITS_field = 12
c'V4L2_TC_USERBITS_field :: (Num a) => a

{-# LINE 337 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TC_USERBITS_USERDEFINED = 0
c'V4L2_TC_USERBITS_USERDEFINED :: (Num a) => a

{-# LINE 338 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TC_USERBITS_8BITCHARS = 8
c'V4L2_TC_USERBITS_8BITCHARS :: (Num a) => a

{-# LINE 339 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_jpegcompression = C'v4l2_jpegcompression{
{-# LINE 340 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_jpegcompression'quality :: CInt
{-# LINE 341 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_jpegcompression'APPn :: CInt
{-# LINE 342 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_jpegcompression'APP_len :: CInt
{-# LINE 343 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_jpegcompression'APP_data :: [CChar]
{-# LINE 344 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_jpegcompression'COM_len :: CInt
{-# LINE 345 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_jpegcompression'COM_data :: [CChar]
{-# LINE 346 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_jpegcompression'jpeg_markers :: Word32
{-# LINE 347 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_jpegcompression where
  sizeOf _ = 140
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekArray 60 (plusPtr p 12)
    v4 <- peekByteOff p 72
    v5 <- peekArray 60 (plusPtr p 76)
    v6 <- peekByteOff p 136
    return $ C'v4l2_jpegcompression v0 v1 v2 v3 v4 v5 v6
  poke p (C'v4l2_jpegcompression v0 v1 v2 v3 v4 v5 v6) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeArray (plusPtr p 12) (take 60 v3)
    pokeByteOff p 72 v4
    pokeArray (plusPtr p 76) (take 60 v5)
    pokeByteOff p 136 v6
    return ()

{-# LINE 348 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_JPEG_MARKER_DHT = 8
c'V4L2_JPEG_MARKER_DHT :: (Num a) => a

{-# LINE 349 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_JPEG_MARKER_DQT = 16
c'V4L2_JPEG_MARKER_DQT :: (Num a) => a

{-# LINE 350 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_JPEG_MARKER_DRI = 32
c'V4L2_JPEG_MARKER_DRI :: (Num a) => a

{-# LINE 351 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_JPEG_MARKER_COM = 64
c'V4L2_JPEG_MARKER_COM :: (Num a) => a

{-# LINE 352 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_JPEG_MARKER_APP = 128
c'V4L2_JPEG_MARKER_APP :: (Num a) => a

{-# LINE 353 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_requestbuffers = C'v4l2_requestbuffers{
{-# LINE 354 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_requestbuffers'count :: Word32
{-# LINE 355 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_requestbuffers'type :: C'v4l2_buf_type
{-# LINE 356 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_requestbuffers'memory :: C'v4l2_memory
{-# LINE 357 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_requestbuffers'reserved :: [Word32]
{-# LINE 358 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_requestbuffers where
  sizeOf _ = 20
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekArray 2 (plusPtr p 12)
    return $ C'v4l2_requestbuffers v0 v1 v2 v3
  poke p (C'v4l2_requestbuffers v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeArray (plusPtr p 12) (take 2 v3)
    return ()

{-# LINE 359 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_buffer_u = C'v4l2_buffer_u{
{-# LINE 360 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_buffer_u'offset :: Word32
{-# LINE 361 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer_u'userptr :: CULong
{-# LINE 362 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
u'v4l2_buffer_u'offset v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_buffer_u'offset = c'v4l2_buffer_u'offset vu}
    {c'v4l2_buffer_u'userptr = c'v4l2_buffer_u'userptr vu}
u'v4l2_buffer_u'offset :: C'v4l2_buffer_u -> Word32 -> IO C'v4l2_buffer_u
u'v4l2_buffer_u'userptr v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_buffer_u'offset = c'v4l2_buffer_u'offset vu}
    {c'v4l2_buffer_u'userptr = c'v4l2_buffer_u'userptr vu}
u'v4l2_buffer_u'userptr :: C'v4l2_buffer_u -> CULong -> IO C'v4l2_buffer_u
instance Storable C'v4l2_buffer_u where
  sizeOf _ = 4
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    return $ C'v4l2_buffer_u v0 v1
  poke p (C'v4l2_buffer_u v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    return ()

{-# LINE 363 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_buffer = C'v4l2_buffer{
{-# LINE 364 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_buffer'index :: Word32
{-# LINE 365 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'type :: C'v4l2_buf_type
{-# LINE 366 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'bytesused :: Word32
{-# LINE 367 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'flags :: Word32
{-# LINE 368 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'field :: C'v4l2_field
{-# LINE 369 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'timestamp :: C'timeval
{-# LINE 370 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'timecode :: C'v4l2_timecode
{-# LINE 371 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'sequence :: Word32
{-# LINE 372 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'memory :: C'v4l2_memory
{-# LINE 373 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'u :: C'v4l2_buffer_u
{-# LINE 374 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'length :: Word32
{-# LINE 375 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'input :: Word32
{-# LINE 376 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_buffer'reserved :: Word32
{-# LINE 377 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_buffer where
  sizeOf _ = 68
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekByteOff p 16
    v5 <- peekByteOff p 20
    v6 <- peekByteOff p 28
    v7 <- peekByteOff p 44
    v8 <- peekByteOff p 48
    v9 <- peekByteOff p 52
    v10 <- peekByteOff p 56
    v11 <- peekByteOff p 60
    v12 <- peekByteOff p 64
    return $ C'v4l2_buffer v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
  poke p (C'v4l2_buffer v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeByteOff p 16 v4
    pokeByteOff p 20 v5
    pokeByteOff p 28 v6
    pokeByteOff p 44 v7
    pokeByteOff p 48 v8
    pokeByteOff p 52 v9
    pokeByteOff p 56 v10
    pokeByteOff p 60 v11
    pokeByteOff p 64 v12
    return ()

{-# LINE 378 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_FLAG_MAPPED = 1
c'V4L2_BUF_FLAG_MAPPED :: (Num a) => a

{-# LINE 379 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_FLAG_QUEUED = 2
c'V4L2_BUF_FLAG_QUEUED :: (Num a) => a

{-# LINE 380 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_FLAG_DONE = 4
c'V4L2_BUF_FLAG_DONE :: (Num a) => a

{-# LINE 381 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_FLAG_KEYFRAME = 8
c'V4L2_BUF_FLAG_KEYFRAME :: (Num a) => a

{-# LINE 382 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_FLAG_PFRAME = 16
c'V4L2_BUF_FLAG_PFRAME :: (Num a) => a

{-# LINE 383 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_FLAG_BFRAME = 32
c'V4L2_BUF_FLAG_BFRAME :: (Num a) => a

{-# LINE 384 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_FLAG_TIMECODE = 256
c'V4L2_BUF_FLAG_TIMECODE :: (Num a) => a

{-# LINE 385 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_BUF_FLAG_INPUT = 512
c'V4L2_BUF_FLAG_INPUT :: (Num a) => a

{-# LINE 386 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_framebuffer = C'v4l2_framebuffer{
{-# LINE 387 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_framebuffer'capability :: Word32
{-# LINE 388 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_framebuffer'flags :: Word32
{-# LINE 389 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_framebuffer'base :: Ptr ()
{-# LINE 390 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_framebuffer'fmt :: C'v4l2_pix_format
{-# LINE 391 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_framebuffer where
  sizeOf _ = 44
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    return $ C'v4l2_framebuffer v0 v1 v2 v3
  poke p (C'v4l2_framebuffer v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    return ()

{-# LINE 392 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_CAP_EXTERNOVERLAY = 1
c'V4L2_FBUF_CAP_EXTERNOVERLAY :: (Num a) => a

{-# LINE 393 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_CAP_CHROMAKEY = 2
c'V4L2_FBUF_CAP_CHROMAKEY :: (Num a) => a

{-# LINE 394 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_CAP_LIST_CLIPPING = 4
c'V4L2_FBUF_CAP_LIST_CLIPPING :: (Num a) => a

{-# LINE 395 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_CAP_BITMAP_CLIPPING = 8
c'V4L2_FBUF_CAP_BITMAP_CLIPPING :: (Num a) => a

{-# LINE 396 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_CAP_LOCAL_ALPHA = 16
c'V4L2_FBUF_CAP_LOCAL_ALPHA :: (Num a) => a

{-# LINE 397 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_CAP_GLOBAL_ALPHA = 32
c'V4L2_FBUF_CAP_GLOBAL_ALPHA :: (Num a) => a

{-# LINE 398 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_CAP_LOCAL_INV_ALPHA = 64
c'V4L2_FBUF_CAP_LOCAL_INV_ALPHA :: (Num a) => a

{-# LINE 399 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_FLAG_PRIMARY = 1
c'V4L2_FBUF_FLAG_PRIMARY :: (Num a) => a

{-# LINE 400 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_FLAG_OVERLAY = 2
c'V4L2_FBUF_FLAG_OVERLAY :: (Num a) => a

{-# LINE 401 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_FLAG_CHROMAKEY = 4
c'V4L2_FBUF_FLAG_CHROMAKEY :: (Num a) => a

{-# LINE 402 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_FLAG_LOCAL_ALPHA = 8
c'V4L2_FBUF_FLAG_LOCAL_ALPHA :: (Num a) => a

{-# LINE 403 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_FLAG_GLOBAL_ALPHA = 16
c'V4L2_FBUF_FLAG_GLOBAL_ALPHA :: (Num a) => a

{-# LINE 404 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_FBUF_FLAG_LOCAL_INV_ALPHA = 32
c'V4L2_FBUF_FLAG_LOCAL_INV_ALPHA :: (Num a) => a

{-# LINE 405 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_clip = C'v4l2_clip{
{-# LINE 406 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_clip'c :: C'v4l2_rect
{-# LINE 407 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_clip'next :: Ptr C'v4l2_clip
{-# LINE 408 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_clip where
  sizeOf _ = 20
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 16
    return $ C'v4l2_clip v0 v1
  poke p (C'v4l2_clip v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 16 v1
    return ()

{-# LINE 409 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_window = C'v4l2_window{
{-# LINE 410 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_window'w :: C'v4l2_rect
{-# LINE 411 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_window'field :: C'v4l2_field
{-# LINE 412 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_window'chromakey :: Word32
{-# LINE 413 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_window'clips :: Ptr C'v4l2_clip
{-# LINE 414 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_window'clipcount :: Word32
{-# LINE 415 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_window'bitmap :: Ptr ()
{-# LINE 416 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_window'global_alpha :: Word8
{-# LINE 417 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_window where
  sizeOf _ = 40
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 16
    v2 <- peekByteOff p 20
    v3 <- peekByteOff p 24
    v4 <- peekByteOff p 28
    v5 <- peekByteOff p 32
    v6 <- peekByteOff p 36
    return $ C'v4l2_window v0 v1 v2 v3 v4 v5 v6
  poke p (C'v4l2_window v0 v1 v2 v3 v4 v5 v6) = do
    pokeByteOff p 0 v0
    pokeByteOff p 16 v1
    pokeByteOff p 20 v2
    pokeByteOff p 24 v3
    pokeByteOff p 28 v4
    pokeByteOff p 32 v5
    pokeByteOff p 36 v6
    return ()

{-# LINE 418 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_captureparm = C'v4l2_captureparm{
{-# LINE 419 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_captureparm'capability :: Word32
{-# LINE 420 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_captureparm'capturemode :: Word32
{-# LINE 421 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_captureparm'timeperframe :: C'v4l2_fract
{-# LINE 422 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_captureparm'extendedmode :: Word32
{-# LINE 423 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_captureparm'readbuffers :: Word32
{-# LINE 424 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_captureparm'reserved :: [Word32]
{-# LINE 425 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_captureparm where
  sizeOf _ = 40
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 16
    v4 <- peekByteOff p 20
    v5 <- peekArray 4 (plusPtr p 24)
    return $ C'v4l2_captureparm v0 v1 v2 v3 v4 v5
  poke p (C'v4l2_captureparm v0 v1 v2 v3 v4 v5) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 16 v3
    pokeByteOff p 20 v4
    pokeArray (plusPtr p 24) (take 4 v5)
    return ()

{-# LINE 426 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MODE_HIGHQUALITY = 1
c'V4L2_MODE_HIGHQUALITY :: (Num a) => a

{-# LINE 427 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CAP_TIMEPERFRAME = 4096
c'V4L2_CAP_TIMEPERFRAME :: (Num a) => a

{-# LINE 428 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_outputparm = C'v4l2_outputparm{
{-# LINE 429 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_outputparm'capability :: Word32
{-# LINE 430 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_outputparm'outputmode :: Word32
{-# LINE 431 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_outputparm'timeperframe :: C'v4l2_fract
{-# LINE 432 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_outputparm'extendedmode :: Word32
{-# LINE 433 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_outputparm'writebuffers :: Word32
{-# LINE 434 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_outputparm'reserved :: [Word32]
{-# LINE 435 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_outputparm where
  sizeOf _ = 40
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 16
    v4 <- peekByteOff p 20
    v5 <- peekArray 4 (plusPtr p 24)
    return $ C'v4l2_outputparm v0 v1 v2 v3 v4 v5
  poke p (C'v4l2_outputparm v0 v1 v2 v3 v4 v5) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 16 v3
    pokeByteOff p 20 v4
    pokeArray (plusPtr p 24) (take 4 v5)
    return ()

{-# LINE 436 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_cropcap = C'v4l2_cropcap{
{-# LINE 437 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_cropcap'type :: C'v4l2_buf_type
{-# LINE 438 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_cropcap'bounds :: C'v4l2_rect
{-# LINE 439 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_cropcap'defrect :: C'v4l2_rect
{-# LINE 440 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_cropcap'pixelaspect :: C'v4l2_fract
{-# LINE 441 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_cropcap where
  sizeOf _ = 44
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 20
    v3 <- peekByteOff p 36
    return $ C'v4l2_cropcap v0 v1 v2 v3
  poke p (C'v4l2_cropcap v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 20 v2
    pokeByteOff p 36 v3
    return ()

{-# LINE 442 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_crop = C'v4l2_crop{
{-# LINE 443 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_crop'type :: C'v4l2_buf_type
{-# LINE 444 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_crop'c :: C'v4l2_rect
{-# LINE 445 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_crop where
  sizeOf _ = 20
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'v4l2_crop v0 v1
  poke p (C'v4l2_crop v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 446 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_B = 1
c'V4L2_STD_PAL_B :: (Num a) => a

{-# LINE 447 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_B1 = 2
c'V4L2_STD_PAL_B1 :: (Num a) => a

{-# LINE 448 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_G = 4
c'V4L2_STD_PAL_G :: (Num a) => a

{-# LINE 449 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_H = 8
c'V4L2_STD_PAL_H :: (Num a) => a

{-# LINE 450 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_I = 16
c'V4L2_STD_PAL_I :: (Num a) => a

{-# LINE 451 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_D = 32
c'V4L2_STD_PAL_D :: (Num a) => a

{-# LINE 452 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_D1 = 64
c'V4L2_STD_PAL_D1 :: (Num a) => a

{-# LINE 453 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_K = 128
c'V4L2_STD_PAL_K :: (Num a) => a

{-# LINE 454 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_M = 256
c'V4L2_STD_PAL_M :: (Num a) => a

{-# LINE 455 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_N = 512
c'V4L2_STD_PAL_N :: (Num a) => a

{-# LINE 456 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_Nc = 1024
c'V4L2_STD_PAL_Nc :: (Num a) => a

{-# LINE 457 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_60 = 2048
c'V4L2_STD_PAL_60 :: (Num a) => a

{-# LINE 458 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_NTSC_M = 4096
c'V4L2_STD_NTSC_M :: (Num a) => a

{-# LINE 459 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_NTSC_M_JP = 8192
c'V4L2_STD_NTSC_M_JP :: (Num a) => a

{-# LINE 460 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_NTSC_443 = 16384
c'V4L2_STD_NTSC_443 :: (Num a) => a

{-# LINE 461 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_NTSC_M_KR = 32768
c'V4L2_STD_NTSC_M_KR :: (Num a) => a

{-# LINE 462 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_SECAM_B = 65536
c'V4L2_STD_SECAM_B :: (Num a) => a

{-# LINE 463 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_SECAM_D = 131072
c'V4L2_STD_SECAM_D :: (Num a) => a

{-# LINE 464 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_SECAM_G = 262144
c'V4L2_STD_SECAM_G :: (Num a) => a

{-# LINE 465 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_SECAM_H = 524288
c'V4L2_STD_SECAM_H :: (Num a) => a

{-# LINE 466 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_SECAM_K = 1048576
c'V4L2_STD_SECAM_K :: (Num a) => a

{-# LINE 467 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_SECAM_K1 = 2097152
c'V4L2_STD_SECAM_K1 :: (Num a) => a

{-# LINE 468 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_SECAM_L = 4194304
c'V4L2_STD_SECAM_L :: (Num a) => a

{-# LINE 469 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_SECAM_LC = 8388608
c'V4L2_STD_SECAM_LC :: (Num a) => a

{-# LINE 470 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_ATSC_8_VSB = 16777216
c'V4L2_STD_ATSC_8_VSB :: (Num a) => a

{-# LINE 471 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_ATSC_16_VSB = 33554432
c'V4L2_STD_ATSC_16_VSB :: (Num a) => a

{-# LINE 472 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_MN = 46848
c'V4L2_STD_MN :: (Num a) => a

{-# LINE 473 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_B = 65539
c'V4L2_STD_B :: (Num a) => a

{-# LINE 474 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_GH = 786444
c'V4L2_STD_GH :: (Num a) => a

{-# LINE 475 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_DK = 3277024
c'V4L2_STD_DK :: (Num a) => a

{-# LINE 476 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_BG = 7
c'V4L2_STD_PAL_BG :: (Num a) => a

{-# LINE 477 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL_DK = 224
c'V4L2_STD_PAL_DK :: (Num a) => a

{-# LINE 478 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_PAL = 255
c'V4L2_STD_PAL :: (Num a) => a

{-# LINE 479 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_NTSC = 45056
c'V4L2_STD_NTSC :: (Num a) => a

{-# LINE 480 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_SECAM_DK = 3276800
c'V4L2_STD_SECAM_DK :: (Num a) => a

{-# LINE 481 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_SECAM = 16711680
c'V4L2_STD_SECAM :: (Num a) => a

{-# LINE 482 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_525_60 = 63744
c'V4L2_STD_525_60 :: (Num a) => a

{-# LINE 483 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_625_50 = 16713471
c'V4L2_STD_625_50 :: (Num a) => a

{-# LINE 484 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_ATSC = 50331648
c'V4L2_STD_ATSC :: (Num a) => a

{-# LINE 485 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_UNKNOWN = 0
c'V4L2_STD_UNKNOWN :: (Num a) => a

{-# LINE 486 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_STD_ALL = 16777215
c'V4L2_STD_ALL :: (Num a) => a

{-# LINE 487 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_standard = C'v4l2_standard{
{-# LINE 488 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_standard'index :: Word32
{-# LINE 489 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_standard'id :: C'v4l2_std_id
{-# LINE 490 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_standard'name :: [Word8]
{-# LINE 491 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_standard'frameperiod :: C'v4l2_fract
{-# LINE 492 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_standard'framelines :: Word32
{-# LINE 493 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_standard'reserved :: [Word32]
{-# LINE 494 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_standard where
  sizeOf _ = 64
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekArray 24 (plusPtr p 12)
    v3 <- peekByteOff p 36
    v4 <- peekByteOff p 44
    v5 <- peekArray 4 (plusPtr p 48)
    return $ C'v4l2_standard v0 v1 v2 v3 v4 v5
  poke p (C'v4l2_standard v0 v1 v2 v3 v4 v5) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeArray (plusPtr p 12) (take 24 v2)
    pokeByteOff p 36 v3
    pokeByteOff p 44 v4
    pokeArray (plusPtr p 48) (take 4 v5)
    return ()

{-# LINE 495 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_input = C'v4l2_input{
{-# LINE 496 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_input'index :: Word32
{-# LINE 497 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_input'name :: [Word8]
{-# LINE 498 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_input'type :: Word32
{-# LINE 499 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_input'audioset :: Word32
{-# LINE 500 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_input'tuner :: Word32
{-# LINE 501 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_input'std :: C'v4l2_std_id
{-# LINE 502 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_input'status :: Word32
{-# LINE 503 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_input'reserved :: [Word32]
{-# LINE 504 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_input where
  sizeOf _ = 76
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekArray 32 (plusPtr p 4)
    v2 <- peekByteOff p 36
    v3 <- peekByteOff p 40
    v4 <- peekByteOff p 44
    v5 <- peekByteOff p 48
    v6 <- peekByteOff p 56
    v7 <- peekArray 4 (plusPtr p 60)
    return $ C'v4l2_input v0 v1 v2 v3 v4 v5 v6 v7
  poke p (C'v4l2_input v0 v1 v2 v3 v4 v5 v6 v7) = do
    pokeByteOff p 0 v0
    pokeArray (plusPtr p 4) (take 32 v1)
    pokeByteOff p 36 v2
    pokeByteOff p 40 v3
    pokeByteOff p 44 v4
    pokeByteOff p 48 v5
    pokeByteOff p 56 v6
    pokeArray (plusPtr p 60) (take 4 v7)
    return ()

{-# LINE 505 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_INPUT_TYPE_TUNER = 1
c'V4L2_INPUT_TYPE_TUNER :: (Num a) => a

{-# LINE 506 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_INPUT_TYPE_CAMERA = 2
c'V4L2_INPUT_TYPE_CAMERA :: (Num a) => a

{-# LINE 507 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_NO_POWER = 1
c'V4L2_IN_ST_NO_POWER :: (Num a) => a

{-# LINE 508 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_NO_SIGNAL = 2
c'V4L2_IN_ST_NO_SIGNAL :: (Num a) => a

{-# LINE 509 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_NO_COLOR = 4
c'V4L2_IN_ST_NO_COLOR :: (Num a) => a

{-# LINE 510 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_HFLIP = 16
c'V4L2_IN_ST_HFLIP :: (Num a) => a

{-# LINE 511 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_VFLIP = 32
c'V4L2_IN_ST_VFLIP :: (Num a) => a

{-# LINE 512 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_NO_H_LOCK = 256
c'V4L2_IN_ST_NO_H_LOCK :: (Num a) => a

{-# LINE 513 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_COLOR_KILL = 512
c'V4L2_IN_ST_COLOR_KILL :: (Num a) => a

{-# LINE 514 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_NO_SYNC = 65536
c'V4L2_IN_ST_NO_SYNC :: (Num a) => a

{-# LINE 515 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_NO_EQU = 131072
c'V4L2_IN_ST_NO_EQU :: (Num a) => a

{-# LINE 516 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_NO_CARRIER = 262144
c'V4L2_IN_ST_NO_CARRIER :: (Num a) => a

{-# LINE 517 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_MACROVISION = 16777216
c'V4L2_IN_ST_MACROVISION :: (Num a) => a

{-# LINE 518 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_NO_ACCESS = 33554432
c'V4L2_IN_ST_NO_ACCESS :: (Num a) => a

{-# LINE 519 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_IN_ST_VTR = 67108864
c'V4L2_IN_ST_VTR :: (Num a) => a

{-# LINE 520 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_output = C'v4l2_output{
{-# LINE 521 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_output'index :: Word32
{-# LINE 522 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_output'name :: [Word8]
{-# LINE 523 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_output'type :: Word32
{-# LINE 524 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_output'audioset :: Word32
{-# LINE 525 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_output'modulator :: Word32
{-# LINE 526 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_output'std :: C'v4l2_std_id
{-# LINE 527 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_output'reserved :: [Word32]
{-# LINE 528 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_output where
  sizeOf _ = 72
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekArray 32 (plusPtr p 4)
    v2 <- peekByteOff p 36
    v3 <- peekByteOff p 40
    v4 <- peekByteOff p 44
    v5 <- peekByteOff p 48
    v6 <- peekArray 4 (plusPtr p 56)
    return $ C'v4l2_output v0 v1 v2 v3 v4 v5 v6
  poke p (C'v4l2_output v0 v1 v2 v3 v4 v5 v6) = do
    pokeByteOff p 0 v0
    pokeArray (plusPtr p 4) (take 32 v1)
    pokeByteOff p 36 v2
    pokeByteOff p 40 v3
    pokeByteOff p 44 v4
    pokeByteOff p 48 v5
    pokeArray (plusPtr p 56) (take 4 v6)
    return ()

{-# LINE 529 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_OUTPUT_TYPE_MODULATOR = 1
c'V4L2_OUTPUT_TYPE_MODULATOR :: (Num a) => a

{-# LINE 530 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_OUTPUT_TYPE_ANALOG = 2
c'V4L2_OUTPUT_TYPE_ANALOG :: (Num a) => a

{-# LINE 531 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY = 3
c'V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY :: (Num a) => a

{-# LINE 532 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_control = C'v4l2_control{
{-# LINE 533 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_control'id :: Word32
{-# LINE 534 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_control'value :: Int32
{-# LINE 535 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_control where
  sizeOf _ = 8
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'v4l2_control v0 v1
  poke p (C'v4l2_control v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 536 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_ext_control_u = C'v4l2_ext_control_u{
{-# LINE 537 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_ext_control_u'value :: Int32
{-# LINE 538 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_ext_control_u'value64 :: Int64
{-# LINE 539 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_ext_control_u'string :: Ptr CChar
{-# LINE 540 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
u'v4l2_ext_control_u'value v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_ext_control_u'value = c'v4l2_ext_control_u'value vu}
    {c'v4l2_ext_control_u'value64 = c'v4l2_ext_control_u'value64 vu}
    {c'v4l2_ext_control_u'string = c'v4l2_ext_control_u'string vu}
u'v4l2_ext_control_u'value :: C'v4l2_ext_control_u -> Int32 -> IO C'v4l2_ext_control_u
u'v4l2_ext_control_u'value64 v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_ext_control_u'value = c'v4l2_ext_control_u'value vu}
    {c'v4l2_ext_control_u'value64 = c'v4l2_ext_control_u'value64 vu}
    {c'v4l2_ext_control_u'string = c'v4l2_ext_control_u'string vu}
u'v4l2_ext_control_u'value64 :: C'v4l2_ext_control_u -> Int64 -> IO C'v4l2_ext_control_u
u'v4l2_ext_control_u'string v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_ext_control_u'value = c'v4l2_ext_control_u'value vu}
    {c'v4l2_ext_control_u'value64 = c'v4l2_ext_control_u'value64 vu}
    {c'v4l2_ext_control_u'string = c'v4l2_ext_control_u'string vu}
u'v4l2_ext_control_u'string :: C'v4l2_ext_control_u -> Ptr CChar -> IO C'v4l2_ext_control_u
instance Storable C'v4l2_ext_control_u where
  sizeOf _ = 8
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    v2 <- peekByteOff p 0
    return $ C'v4l2_ext_control_u v0 v1 v2
  poke p (C'v4l2_ext_control_u v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    pokeByteOff p 0 v2
    return ()

{-# LINE 541 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_ext_control = C'v4l2_ext_control{
{-# LINE 542 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_ext_control'id :: Word32
{-# LINE 543 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_ext_control'size :: Word32
{-# LINE 544 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_ext_control'reserved2 :: [Word32]
{-# LINE 545 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_ext_control'u :: C'v4l2_ext_control_u
{-# LINE 546 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_ext_control where
  sizeOf _ = 20
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekArray 1 (plusPtr p 8)
    v3 <- peekByteOff p 12
    return $ C'v4l2_ext_control v0 v1 v2 v3
  poke p (C'v4l2_ext_control v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeArray (plusPtr p 8) (take 1 v2)
    pokeByteOff p 12 v3
    return ()

{-# LINE 547 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_ext_controls = C'v4l2_ext_controls{
{-# LINE 548 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_ext_controls'ctrl_class :: Word32
{-# LINE 549 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_ext_controls'count :: Word32
{-# LINE 550 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_ext_controls'error_idx :: Word32
{-# LINE 551 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_ext_controls'reserved :: [Word32]
{-# LINE 552 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_ext_controls'controls :: Ptr C'v4l2_ext_control
{-# LINE 553 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_ext_controls where
  sizeOf _ = 24
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekArray 2 (plusPtr p 12)
    v4 <- peekByteOff p 20
    return $ C'v4l2_ext_controls v0 v1 v2 v3 v4
  poke p (C'v4l2_ext_controls v0 v1 v2 v3 v4) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeArray (plusPtr p 12) (take 2 v3)
    pokeByteOff p 20 v4
    return ()

{-# LINE 554 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_CLASS_USER = 9961472
c'V4L2_CTRL_CLASS_USER :: (Num a) => a

{-# LINE 555 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_CLASS_MPEG = 10027008
c'V4L2_CTRL_CLASS_MPEG :: (Num a) => a

{-# LINE 556 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_CLASS_CAMERA = 10092544
c'V4L2_CTRL_CLASS_CAMERA :: (Num a) => a

{-# LINE 557 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_CLASS_FM_TX = 10158080
c'V4L2_CTRL_CLASS_FM_TX :: (Num a) => a

{-# LINE 558 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_ID_MASK = 268435455
c'V4L2_CTRL_ID_MASK :: (Num a) => a

{-# LINE 559 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_queryctrl = C'v4l2_queryctrl{
{-# LINE 560 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_queryctrl'id :: Word32
{-# LINE 561 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_queryctrl'type :: C'v4l2_ctrl_type
{-# LINE 562 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_queryctrl'name :: [Word8]
{-# LINE 563 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_queryctrl'minimum :: Int32
{-# LINE 564 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_queryctrl'maximum :: Int32
{-# LINE 565 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_queryctrl'step :: Int32
{-# LINE 566 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_queryctrl'default_value :: Int32
{-# LINE 567 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_queryctrl'flags :: Word32
{-# LINE 568 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_queryctrl'reserved :: [Word32]
{-# LINE 569 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_queryctrl where
  sizeOf _ = 68
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekArray 32 (plusPtr p 8)
    v3 <- peekByteOff p 40
    v4 <- peekByteOff p 44
    v5 <- peekByteOff p 48
    v6 <- peekByteOff p 52
    v7 <- peekByteOff p 56
    v8 <- peekArray 2 (plusPtr p 60)
    return $ C'v4l2_queryctrl v0 v1 v2 v3 v4 v5 v6 v7 v8
  poke p (C'v4l2_queryctrl v0 v1 v2 v3 v4 v5 v6 v7 v8) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeArray (plusPtr p 8) (take 32 v2)
    pokeByteOff p 40 v3
    pokeByteOff p 44 v4
    pokeByteOff p 48 v5
    pokeByteOff p 52 v6
    pokeByteOff p 56 v7
    pokeArray (plusPtr p 60) (take 2 v8)
    return ()

{-# LINE 570 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_querymenu = C'v4l2_querymenu{
{-# LINE 571 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_querymenu'id :: Word32
{-# LINE 572 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_querymenu'index :: Word32
{-# LINE 573 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_querymenu'name :: [Word8]
{-# LINE 574 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_querymenu'reserved :: Word32
{-# LINE 575 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_querymenu where
  sizeOf _ = 44
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekArray 32 (plusPtr p 8)
    v3 <- peekByteOff p 40
    return $ C'v4l2_querymenu v0 v1 v2 v3
  poke p (C'v4l2_querymenu v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeArray (plusPtr p 8) (take 32 v2)
    pokeByteOff p 40 v3
    return ()

{-# LINE 576 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_FLAG_DISABLED = 1
c'V4L2_CTRL_FLAG_DISABLED :: (Num a) => a

{-# LINE 577 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_FLAG_GRABBED = 2
c'V4L2_CTRL_FLAG_GRABBED :: (Num a) => a

{-# LINE 578 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_FLAG_READ_ONLY = 4
c'V4L2_CTRL_FLAG_READ_ONLY :: (Num a) => a

{-# LINE 579 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_FLAG_UPDATE = 8
c'V4L2_CTRL_FLAG_UPDATE :: (Num a) => a

{-# LINE 580 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_FLAG_INACTIVE = 16
c'V4L2_CTRL_FLAG_INACTIVE :: (Num a) => a

{-# LINE 581 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_FLAG_SLIDER = 32
c'V4L2_CTRL_FLAG_SLIDER :: (Num a) => a

{-# LINE 582 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_FLAG_WRITE_ONLY = 64
c'V4L2_CTRL_FLAG_WRITE_ONLY :: (Num a) => a

{-# LINE 583 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CTRL_FLAG_NEXT_CTRL = 2147483648
c'V4L2_CTRL_FLAG_NEXT_CTRL :: (Num a) => a

{-# LINE 584 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_BASE = 9963776
c'V4L2_CID_BASE :: (Num a) => a

{-# LINE 585 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_USER_BASE = 9963776
c'V4L2_CID_USER_BASE :: (Num a) => a

{-# LINE 586 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_PRIVATE_BASE = 134217728
c'V4L2_CID_PRIVATE_BASE :: (Num a) => a

{-# LINE 587 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_USER_CLASS = 9961473
c'V4L2_CID_USER_CLASS :: (Num a) => a

{-# LINE 588 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_BRIGHTNESS = 9963776
c'V4L2_CID_BRIGHTNESS :: (Num a) => a

{-# LINE 589 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_CONTRAST = 9963777
c'V4L2_CID_CONTRAST :: (Num a) => a

{-# LINE 590 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_SATURATION = 9963778
c'V4L2_CID_SATURATION :: (Num a) => a

{-# LINE 591 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_HUE = 9963779
c'V4L2_CID_HUE :: (Num a) => a

{-# LINE 592 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_VOLUME = 9963781
c'V4L2_CID_AUDIO_VOLUME :: (Num a) => a

{-# LINE 593 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_BALANCE = 9963782
c'V4L2_CID_AUDIO_BALANCE :: (Num a) => a

{-# LINE 594 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_BASS = 9963783
c'V4L2_CID_AUDIO_BASS :: (Num a) => a

{-# LINE 595 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_TREBLE = 9963784
c'V4L2_CID_AUDIO_TREBLE :: (Num a) => a

{-# LINE 596 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_MUTE = 9963785
c'V4L2_CID_AUDIO_MUTE :: (Num a) => a

{-# LINE 597 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_LOUDNESS = 9963786
c'V4L2_CID_AUDIO_LOUDNESS :: (Num a) => a

{-# LINE 598 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_BLACK_LEVEL = 9963787
c'V4L2_CID_BLACK_LEVEL :: (Num a) => a

{-# LINE 599 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUTO_WHITE_BALANCE = 9963788
c'V4L2_CID_AUTO_WHITE_BALANCE :: (Num a) => a

{-# LINE 600 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_DO_WHITE_BALANCE = 9963789
c'V4L2_CID_DO_WHITE_BALANCE :: (Num a) => a

{-# LINE 601 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_RED_BALANCE = 9963790
c'V4L2_CID_RED_BALANCE :: (Num a) => a

{-# LINE 602 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_BLUE_BALANCE = 9963791
c'V4L2_CID_BLUE_BALANCE :: (Num a) => a

{-# LINE 603 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_GAMMA = 9963792
c'V4L2_CID_GAMMA :: (Num a) => a

{-# LINE 604 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_WHITENESS = 9963792
c'V4L2_CID_WHITENESS :: (Num a) => a

{-# LINE 605 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_EXPOSURE = 9963793
c'V4L2_CID_EXPOSURE :: (Num a) => a

{-# LINE 606 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUTOGAIN = 9963794
c'V4L2_CID_AUTOGAIN :: (Num a) => a

{-# LINE 607 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_GAIN = 9963795
c'V4L2_CID_GAIN :: (Num a) => a

{-# LINE 608 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_HFLIP = 9963796
c'V4L2_CID_HFLIP :: (Num a) => a

{-# LINE 609 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_VFLIP = 9963797
c'V4L2_CID_VFLIP :: (Num a) => a

{-# LINE 610 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_HCENTER = 9963798
c'V4L2_CID_HCENTER :: (Num a) => a

{-# LINE 611 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_VCENTER = 9963799
c'V4L2_CID_VCENTER :: (Num a) => a

{-# LINE 612 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_POWER_LINE_FREQUENCY = 9963800
c'V4L2_CID_POWER_LINE_FREQUENCY :: (Num a) => a

{-# LINE 613 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_power_line_frequency = CUInt

{-# LINE 614 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0
c'V4L2_CID_POWER_LINE_FREQUENCY_DISABLED :: (Num a) => a

{-# LINE 615 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_POWER_LINE_FREQUENCY_50HZ = 1
c'V4L2_CID_POWER_LINE_FREQUENCY_50HZ :: (Num a) => a

{-# LINE 616 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_POWER_LINE_FREQUENCY_60HZ = 2
c'V4L2_CID_POWER_LINE_FREQUENCY_60HZ :: (Num a) => a

{-# LINE 617 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_HUE_AUTO = 9963801
c'V4L2_CID_HUE_AUTO :: (Num a) => a

{-# LINE 618 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_WHITE_BALANCE_TEMPERATURE = 9963802
c'V4L2_CID_WHITE_BALANCE_TEMPERATURE :: (Num a) => a

{-# LINE 619 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_SHARPNESS = 9963803
c'V4L2_CID_SHARPNESS :: (Num a) => a

{-# LINE 620 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_BACKLIGHT_COMPENSATION = 9963804
c'V4L2_CID_BACKLIGHT_COMPENSATION :: (Num a) => a

{-# LINE 621 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_CHROMA_AGC = 9963805
c'V4L2_CID_CHROMA_AGC :: (Num a) => a

{-# LINE 622 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_COLOR_KILLER = 9963806
c'V4L2_CID_COLOR_KILLER :: (Num a) => a

{-# LINE 623 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_COLORFX = 9963807
c'V4L2_CID_COLORFX :: (Num a) => a

{-# LINE 624 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_colorfx = CUInt

{-# LINE 625 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_COLORFX_NONE = 0
c'V4L2_COLORFX_NONE :: (Num a) => a

{-# LINE 626 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_COLORFX_BW = 1
c'V4L2_COLORFX_BW :: (Num a) => a

{-# LINE 627 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_COLORFX_SEPIA = 2
c'V4L2_COLORFX_SEPIA :: (Num a) => a

{-# LINE 628 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUTOBRIGHTNESS = 9963808
c'V4L2_CID_AUTOBRIGHTNESS :: (Num a) => a

{-# LINE 629 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_BAND_STOP_FILTER = 9963809
c'V4L2_CID_BAND_STOP_FILTER :: (Num a) => a

{-# LINE 630 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_LASTP1 = 9963810
c'V4L2_CID_LASTP1 :: (Num a) => a

{-# LINE 631 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_BASE = 10029312
c'V4L2_CID_MPEG_BASE :: (Num a) => a

{-# LINE 632 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CLASS = 10027009
c'V4L2_CID_MPEG_CLASS :: (Num a) => a

{-# LINE 633 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_STREAM_TYPE = 10029312
c'V4L2_CID_MPEG_STREAM_TYPE :: (Num a) => a

{-# LINE 634 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_stream_type = CUInt

{-# LINE 635 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0
c'V4L2_MPEG_STREAM_TYPE_MPEG2_PS :: (Num a) => a

{-# LINE 636 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1
c'V4L2_MPEG_STREAM_TYPE_MPEG2_TS :: (Num a) => a

{-# LINE 637 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_STREAM_TYPE_MPEG1_SS = 2
c'V4L2_MPEG_STREAM_TYPE_MPEG1_SS :: (Num a) => a

{-# LINE 638 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_STREAM_TYPE_MPEG2_DVD = 3
c'V4L2_MPEG_STREAM_TYPE_MPEG2_DVD :: (Num a) => a

{-# LINE 639 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4
c'V4L2_MPEG_STREAM_TYPE_MPEG1_VCD :: (Num a) => a

{-# LINE 640 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5
c'V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD :: (Num a) => a

{-# LINE 641 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_STREAM_PID_PMT = 10029313
c'V4L2_CID_MPEG_STREAM_PID_PMT :: (Num a) => a

{-# LINE 642 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_STREAM_PID_AUDIO = 10029314
c'V4L2_CID_MPEG_STREAM_PID_AUDIO :: (Num a) => a

{-# LINE 643 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_STREAM_PID_VIDEO = 10029315
c'V4L2_CID_MPEG_STREAM_PID_VIDEO :: (Num a) => a

{-# LINE 644 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_STREAM_PID_PCR = 10029316
c'V4L2_CID_MPEG_STREAM_PID_PCR :: (Num a) => a

{-# LINE 645 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_STREAM_PES_ID_AUDIO = 10029317
c'V4L2_CID_MPEG_STREAM_PES_ID_AUDIO :: (Num a) => a

{-# LINE 646 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_STREAM_PES_ID_VIDEO = 10029318
c'V4L2_CID_MPEG_STREAM_PES_ID_VIDEO :: (Num a) => a

{-# LINE 647 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_STREAM_VBI_FMT = 10029319
c'V4L2_CID_MPEG_STREAM_VBI_FMT :: (Num a) => a

{-# LINE 648 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_stream_vbi_fmt = CUInt

{-# LINE 649 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_STREAM_VBI_FMT_NONE = 0
c'V4L2_MPEG_STREAM_VBI_FMT_NONE :: (Num a) => a

{-# LINE 650 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1
c'V4L2_MPEG_STREAM_VBI_FMT_IVTV :: (Num a) => a

{-# LINE 651 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ = 10029412
c'V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ :: (Num a) => a

{-# LINE 652 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_audio_sampling_freq = CUInt

{-# LINE 653 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0
c'V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 :: (Num a) => a

{-# LINE 654 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1
c'V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 :: (Num a) => a

{-# LINE 655 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2
c'V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 :: (Num a) => a

{-# LINE 656 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_ENCODING = 10029413
c'V4L2_CID_MPEG_AUDIO_ENCODING :: (Num a) => a

{-# LINE 657 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_audio_encoding = CUInt

{-# LINE 658 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0
c'V4L2_MPEG_AUDIO_ENCODING_LAYER_1 :: (Num a) => a

{-# LINE 659 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1
c'V4L2_MPEG_AUDIO_ENCODING_LAYER_2 :: (Num a) => a

{-# LINE 660 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_ENCODING_LAYER_3 = 2
c'V4L2_MPEG_AUDIO_ENCODING_LAYER_3 :: (Num a) => a

{-# LINE 661 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_ENCODING_AAC = 3
c'V4L2_MPEG_AUDIO_ENCODING_AAC :: (Num a) => a

{-# LINE 662 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_ENCODING_AC3 = 4
c'V4L2_MPEG_AUDIO_ENCODING_AC3 :: (Num a) => a

{-# LINE 663 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_L1_BITRATE = 10029414
c'V4L2_CID_MPEG_AUDIO_L1_BITRATE :: (Num a) => a

{-# LINE 664 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_audio_l1_bitrate = CUInt

{-# LINE 665 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0
c'V4L2_MPEG_AUDIO_L1_BITRATE_32K :: (Num a) => a

{-# LINE 666 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1
c'V4L2_MPEG_AUDIO_L1_BITRATE_64K :: (Num a) => a

{-# LINE 667 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_96K = 2
c'V4L2_MPEG_AUDIO_L1_BITRATE_96K :: (Num a) => a

{-# LINE 668 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_128K = 3
c'V4L2_MPEG_AUDIO_L1_BITRATE_128K :: (Num a) => a

{-# LINE 669 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_160K = 4
c'V4L2_MPEG_AUDIO_L1_BITRATE_160K :: (Num a) => a

{-# LINE 670 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_192K = 5
c'V4L2_MPEG_AUDIO_L1_BITRATE_192K :: (Num a) => a

{-# LINE 671 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_224K = 6
c'V4L2_MPEG_AUDIO_L1_BITRATE_224K :: (Num a) => a

{-# LINE 672 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_256K = 7
c'V4L2_MPEG_AUDIO_L1_BITRATE_256K :: (Num a) => a

{-# LINE 673 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_288K = 8
c'V4L2_MPEG_AUDIO_L1_BITRATE_288K :: (Num a) => a

{-# LINE 674 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_320K = 9
c'V4L2_MPEG_AUDIO_L1_BITRATE_320K :: (Num a) => a

{-# LINE 675 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_352K = 10
c'V4L2_MPEG_AUDIO_L1_BITRATE_352K :: (Num a) => a

{-# LINE 676 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_384K = 11
c'V4L2_MPEG_AUDIO_L1_BITRATE_384K :: (Num a) => a

{-# LINE 677 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12
c'V4L2_MPEG_AUDIO_L1_BITRATE_416K :: (Num a) => a

{-# LINE 678 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13
c'V4L2_MPEG_AUDIO_L1_BITRATE_448K :: (Num a) => a

{-# LINE 679 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_L2_BITRATE = 10029415
c'V4L2_CID_MPEG_AUDIO_L2_BITRATE :: (Num a) => a

{-# LINE 680 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_audio_l2_bitrate = CUInt

{-# LINE 681 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0
c'V4L2_MPEG_AUDIO_L2_BITRATE_32K :: (Num a) => a

{-# LINE 682 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1
c'V4L2_MPEG_AUDIO_L2_BITRATE_48K :: (Num a) => a

{-# LINE 683 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_56K = 2
c'V4L2_MPEG_AUDIO_L2_BITRATE_56K :: (Num a) => a

{-# LINE 684 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_64K = 3
c'V4L2_MPEG_AUDIO_L2_BITRATE_64K :: (Num a) => a

{-# LINE 685 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_80K = 4
c'V4L2_MPEG_AUDIO_L2_BITRATE_80K :: (Num a) => a

{-# LINE 686 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_96K = 5
c'V4L2_MPEG_AUDIO_L2_BITRATE_96K :: (Num a) => a

{-# LINE 687 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_112K = 6
c'V4L2_MPEG_AUDIO_L2_BITRATE_112K :: (Num a) => a

{-# LINE 688 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_128K = 7
c'V4L2_MPEG_AUDIO_L2_BITRATE_128K :: (Num a) => a

{-# LINE 689 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_160K = 8
c'V4L2_MPEG_AUDIO_L2_BITRATE_160K :: (Num a) => a

{-# LINE 690 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_192K = 9
c'V4L2_MPEG_AUDIO_L2_BITRATE_192K :: (Num a) => a

{-# LINE 691 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_224K = 10
c'V4L2_MPEG_AUDIO_L2_BITRATE_224K :: (Num a) => a

{-# LINE 692 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_256K = 11
c'V4L2_MPEG_AUDIO_L2_BITRATE_256K :: (Num a) => a

{-# LINE 693 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12
c'V4L2_MPEG_AUDIO_L2_BITRATE_320K :: (Num a) => a

{-# LINE 694 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13
c'V4L2_MPEG_AUDIO_L2_BITRATE_384K :: (Num a) => a

{-# LINE 695 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_L3_BITRATE = 10029416
c'V4L2_CID_MPEG_AUDIO_L3_BITRATE :: (Num a) => a

{-# LINE 696 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_audio_l3_bitrate = CUInt

{-# LINE 697 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0
c'V4L2_MPEG_AUDIO_L3_BITRATE_32K :: (Num a) => a

{-# LINE 698 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1
c'V4L2_MPEG_AUDIO_L3_BITRATE_40K :: (Num a) => a

{-# LINE 699 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_48K = 2
c'V4L2_MPEG_AUDIO_L3_BITRATE_48K :: (Num a) => a

{-# LINE 700 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_56K = 3
c'V4L2_MPEG_AUDIO_L3_BITRATE_56K :: (Num a) => a

{-# LINE 701 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_64K = 4
c'V4L2_MPEG_AUDIO_L3_BITRATE_64K :: (Num a) => a

{-# LINE 702 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_80K = 5
c'V4L2_MPEG_AUDIO_L3_BITRATE_80K :: (Num a) => a

{-# LINE 703 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_96K = 6
c'V4L2_MPEG_AUDIO_L3_BITRATE_96K :: (Num a) => a

{-# LINE 704 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_112K = 7
c'V4L2_MPEG_AUDIO_L3_BITRATE_112K :: (Num a) => a

{-# LINE 705 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_128K = 8
c'V4L2_MPEG_AUDIO_L3_BITRATE_128K :: (Num a) => a

{-# LINE 706 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_160K = 9
c'V4L2_MPEG_AUDIO_L3_BITRATE_160K :: (Num a) => a

{-# LINE 707 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_192K = 10
c'V4L2_MPEG_AUDIO_L3_BITRATE_192K :: (Num a) => a

{-# LINE 708 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_224K = 11
c'V4L2_MPEG_AUDIO_L3_BITRATE_224K :: (Num a) => a

{-# LINE 709 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12
c'V4L2_MPEG_AUDIO_L3_BITRATE_256K :: (Num a) => a

{-# LINE 710 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13
c'V4L2_MPEG_AUDIO_L3_BITRATE_320K :: (Num a) => a

{-# LINE 711 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_MODE = 10029417
c'V4L2_CID_MPEG_AUDIO_MODE :: (Num a) => a

{-# LINE 712 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_audio_mode = CUInt

{-# LINE 713 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_MODE_STEREO = 0
c'V4L2_MPEG_AUDIO_MODE_STEREO :: (Num a) => a

{-# LINE 714 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1
c'V4L2_MPEG_AUDIO_MODE_JOINT_STEREO :: (Num a) => a

{-# LINE 715 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_MODE_DUAL = 2
c'V4L2_MPEG_AUDIO_MODE_DUAL :: (Num a) => a

{-# LINE 716 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_MODE_MONO = 3
c'V4L2_MPEG_AUDIO_MODE_MONO :: (Num a) => a

{-# LINE 717 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_MODE_EXTENSION = 10029418
c'V4L2_CID_MPEG_AUDIO_MODE_EXTENSION :: (Num a) => a

{-# LINE 718 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_audio_mode_extension = CUInt

{-# LINE 719 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0
c'V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 :: (Num a) => a

{-# LINE 720 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1
c'V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 :: (Num a) => a

{-# LINE 721 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2
c'V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 :: (Num a) => a

{-# LINE 722 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3
c'V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 :: (Num a) => a

{-# LINE 723 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_EMPHASIS = 10029419
c'V4L2_CID_MPEG_AUDIO_EMPHASIS :: (Num a) => a

{-# LINE 724 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_audio_emphasis = CUInt

{-# LINE 725 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0
c'V4L2_MPEG_AUDIO_EMPHASIS_NONE :: (Num a) => a

{-# LINE 726 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1
c'V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS :: (Num a) => a

{-# LINE 727 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2
c'V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 :: (Num a) => a

{-# LINE 728 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_CRC = 10029420
c'V4L2_CID_MPEG_AUDIO_CRC :: (Num a) => a

{-# LINE 729 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_audio_crc = CUInt

{-# LINE 730 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_CRC_NONE = 0
c'V4L2_MPEG_AUDIO_CRC_NONE :: (Num a) => a

{-# LINE 731 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_CRC_CRC16 = 1
c'V4L2_MPEG_AUDIO_CRC_CRC16 :: (Num a) => a

{-# LINE 732 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_MUTE = 10029421
c'V4L2_CID_MPEG_AUDIO_MUTE :: (Num a) => a

{-# LINE 733 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_AAC_BITRATE = 10029422
c'V4L2_CID_MPEG_AUDIO_AAC_BITRATE :: (Num a) => a

{-# LINE 734 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_AUDIO_AC3_BITRATE = 10029423
c'V4L2_CID_MPEG_AUDIO_AC3_BITRATE :: (Num a) => a

{-# LINE 735 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_audio_ac3_bitrate = CUInt

{-# LINE 736 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0
c'V4L2_MPEG_AUDIO_AC3_BITRATE_32K :: (Num a) => a

{-# LINE 737 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1
c'V4L2_MPEG_AUDIO_AC3_BITRATE_40K :: (Num a) => a

{-# LINE 738 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_48K = 2
c'V4L2_MPEG_AUDIO_AC3_BITRATE_48K :: (Num a) => a

{-# LINE 739 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_56K = 3
c'V4L2_MPEG_AUDIO_AC3_BITRATE_56K :: (Num a) => a

{-# LINE 740 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_64K = 4
c'V4L2_MPEG_AUDIO_AC3_BITRATE_64K :: (Num a) => a

{-# LINE 741 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_80K = 5
c'V4L2_MPEG_AUDIO_AC3_BITRATE_80K :: (Num a) => a

{-# LINE 742 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_96K = 6
c'V4L2_MPEG_AUDIO_AC3_BITRATE_96K :: (Num a) => a

{-# LINE 743 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_112K = 7
c'V4L2_MPEG_AUDIO_AC3_BITRATE_112K :: (Num a) => a

{-# LINE 744 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_128K = 8
c'V4L2_MPEG_AUDIO_AC3_BITRATE_128K :: (Num a) => a

{-# LINE 745 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_160K = 9
c'V4L2_MPEG_AUDIO_AC3_BITRATE_160K :: (Num a) => a

{-# LINE 746 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_192K = 10
c'V4L2_MPEG_AUDIO_AC3_BITRATE_192K :: (Num a) => a

{-# LINE 747 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_224K = 11
c'V4L2_MPEG_AUDIO_AC3_BITRATE_224K :: (Num a) => a

{-# LINE 748 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_256K = 12
c'V4L2_MPEG_AUDIO_AC3_BITRATE_256K :: (Num a) => a

{-# LINE 749 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_320K = 13
c'V4L2_MPEG_AUDIO_AC3_BITRATE_320K :: (Num a) => a

{-# LINE 750 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_384K = 14
c'V4L2_MPEG_AUDIO_AC3_BITRATE_384K :: (Num a) => a

{-# LINE 751 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_448K = 15
c'V4L2_MPEG_AUDIO_AC3_BITRATE_448K :: (Num a) => a

{-# LINE 752 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_512K = 16
c'V4L2_MPEG_AUDIO_AC3_BITRATE_512K :: (Num a) => a

{-# LINE 753 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17
c'V4L2_MPEG_AUDIO_AC3_BITRATE_576K :: (Num a) => a

{-# LINE 754 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18
c'V4L2_MPEG_AUDIO_AC3_BITRATE_640K :: (Num a) => a

{-# LINE 755 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_ENCODING = 10029512
c'V4L2_CID_MPEG_VIDEO_ENCODING :: (Num a) => a

{-# LINE 756 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_video_encoding = CUInt

{-# LINE 757 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0
c'V4L2_MPEG_VIDEO_ENCODING_MPEG_1 :: (Num a) => a

{-# LINE 758 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1
c'V4L2_MPEG_VIDEO_ENCODING_MPEG_2 :: (Num a) => a

{-# LINE 759 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2
c'V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC :: (Num a) => a

{-# LINE 760 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_ASPECT = 10029513
c'V4L2_CID_MPEG_VIDEO_ASPECT :: (Num a) => a

{-# LINE 761 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_video_aspect = CUInt

{-# LINE 762 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VIDEO_ASPECT_1x1 = 0
c'V4L2_MPEG_VIDEO_ASPECT_1x1 :: (Num a) => a

{-# LINE 763 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VIDEO_ASPECT_4x3 = 1
c'V4L2_MPEG_VIDEO_ASPECT_4x3 :: (Num a) => a

{-# LINE 764 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VIDEO_ASPECT_16x9 = 2
c'V4L2_MPEG_VIDEO_ASPECT_16x9 :: (Num a) => a

{-# LINE 765 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VIDEO_ASPECT_221x100 = 3
c'V4L2_MPEG_VIDEO_ASPECT_221x100 :: (Num a) => a

{-# LINE 766 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_B_FRAMES = 10029514
c'V4L2_CID_MPEG_VIDEO_B_FRAMES :: (Num a) => a

{-# LINE 767 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_GOP_SIZE = 10029515
c'V4L2_CID_MPEG_VIDEO_GOP_SIZE :: (Num a) => a

{-# LINE 768 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_GOP_CLOSURE = 10029516
c'V4L2_CID_MPEG_VIDEO_GOP_CLOSURE :: (Num a) => a

{-# LINE 769 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_PULLDOWN = 10029517
c'V4L2_CID_MPEG_VIDEO_PULLDOWN :: (Num a) => a

{-# LINE 770 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_BITRATE_MODE = 10029518
c'V4L2_CID_MPEG_VIDEO_BITRATE_MODE :: (Num a) => a

{-# LINE 771 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_video_bitrate_mode = CUInt

{-# LINE 772 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0
c'V4L2_MPEG_VIDEO_BITRATE_MODE_VBR :: (Num a) => a

{-# LINE 773 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1
c'V4L2_MPEG_VIDEO_BITRATE_MODE_CBR :: (Num a) => a

{-# LINE 774 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_BITRATE = 10029519
c'V4L2_CID_MPEG_VIDEO_BITRATE :: (Num a) => a

{-# LINE 775 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_BITRATE_PEAK = 10029520
c'V4L2_CID_MPEG_VIDEO_BITRATE_PEAK :: (Num a) => a

{-# LINE 776 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION = 10029521
c'V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION :: (Num a) => a

{-# LINE 777 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_MUTE = 10029522
c'V4L2_CID_MPEG_VIDEO_MUTE :: (Num a) => a

{-# LINE 778 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_VIDEO_MUTE_YUV = 10029523
c'V4L2_CID_MPEG_VIDEO_MUTE_YUV :: (Num a) => a

{-# LINE 779 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_BASE = 10031104
c'V4L2_CID_MPEG_CX2341X_BASE :: (Num a) => a

{-# LINE 780 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE = 10031104
c'V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE :: (Num a) => a

{-# LINE 781 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_cx2341x_video_spatial_filter_mode = CUInt

{-# LINE 782 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0
c'V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL :: (Num a) => a

{-# LINE 783 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1
c'V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO :: (Num a) => a

{-# LINE 784 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER = 10031105
c'V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER :: (Num a) => a

{-# LINE 785 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE = 10031106
c'V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE :: (Num a) => a

{-# LINE 786 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_cx2341x_video_luma_spatial_filter_type = CUInt

{-# LINE 787 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0
c'V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF :: (Num a) => a

{-# LINE 788 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1
c'V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR :: (Num a) => a

{-# LINE 789 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT = 2
c'V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT :: (Num a) => a

{-# LINE 790 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3
c'V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE :: (Num a) => a

{-# LINE 791 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4
c'V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE :: (Num a) => a

{-# LINE 792 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE = 10031107
c'V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE :: (Num a) => a

{-# LINE 793 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type = CUInt

{-# LINE 794 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0
c'V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF :: (Num a) => a

{-# LINE 795 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1
c'V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR :: (Num a) => a

{-# LINE 796 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE = 10031108
c'V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE :: (Num a) => a

{-# LINE 797 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_cx2341x_video_temporal_filter_mode = CUInt

{-# LINE 798 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0
c'V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL :: (Num a) => a

{-# LINE 799 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1
c'V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO :: (Num a) => a

{-# LINE 800 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER = 10031109
c'V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER :: (Num a) => a

{-# LINE 801 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE = 10031110
c'V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE :: (Num a) => a

{-# LINE 802 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_mpeg_cx2341x_video_median_filter_type = CUInt

{-# LINE 803 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0
c'V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF :: (Num a) => a

{-# LINE 804 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1
c'V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR :: (Num a) => a

{-# LINE 805 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT = 2
c'V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT :: (Num a) => a

{-# LINE 806 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3
c'V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT :: (Num a) => a

{-# LINE 807 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4
c'V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG :: (Num a) => a

{-# LINE 808 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM = 10031111
c'V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM :: (Num a) => a

{-# LINE 809 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP = 10031112
c'V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP :: (Num a) => a

{-# LINE 810 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM = 10031113
c'V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM :: (Num a) => a

{-# LINE 811 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP = 10031114
c'V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP :: (Num a) => a

{-# LINE 812 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS = 10031115
c'V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS :: (Num a) => a

{-# LINE 813 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_CAMERA_CLASS_BASE = 10094848
c'V4L2_CID_CAMERA_CLASS_BASE :: (Num a) => a

{-# LINE 814 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_CAMERA_CLASS = 10092545
c'V4L2_CID_CAMERA_CLASS :: (Num a) => a

{-# LINE 815 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_EXPOSURE_AUTO = 10094849
c'V4L2_CID_EXPOSURE_AUTO :: (Num a) => a

{-# LINE 816 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_exposure_auto_type = CUInt

{-# LINE 817 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_EXPOSURE_AUTO = 0
c'V4L2_EXPOSURE_AUTO :: (Num a) => a

{-# LINE 818 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_EXPOSURE_MANUAL = 1
c'V4L2_EXPOSURE_MANUAL :: (Num a) => a

{-# LINE 819 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_EXPOSURE_SHUTTER_PRIORITY = 2
c'V4L2_EXPOSURE_SHUTTER_PRIORITY :: (Num a) => a

{-# LINE 820 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_EXPOSURE_APERTURE_PRIORITY = 3
c'V4L2_EXPOSURE_APERTURE_PRIORITY :: (Num a) => a

{-# LINE 821 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_EXPOSURE_ABSOLUTE = 10094850
c'V4L2_CID_EXPOSURE_ABSOLUTE :: (Num a) => a

{-# LINE 822 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_EXPOSURE_AUTO_PRIORITY = 10094851
c'V4L2_CID_EXPOSURE_AUTO_PRIORITY :: (Num a) => a

{-# LINE 823 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_PAN_RELATIVE = 10094852
c'V4L2_CID_PAN_RELATIVE :: (Num a) => a

{-# LINE 824 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_TILT_RELATIVE = 10094853
c'V4L2_CID_TILT_RELATIVE :: (Num a) => a

{-# LINE 825 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_PAN_RESET = 10094854
c'V4L2_CID_PAN_RESET :: (Num a) => a

{-# LINE 826 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_TILT_RESET = 10094855
c'V4L2_CID_TILT_RESET :: (Num a) => a

{-# LINE 827 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_PAN_ABSOLUTE = 10094856
c'V4L2_CID_PAN_ABSOLUTE :: (Num a) => a

{-# LINE 828 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_TILT_ABSOLUTE = 10094857
c'V4L2_CID_TILT_ABSOLUTE :: (Num a) => a

{-# LINE 829 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_FOCUS_ABSOLUTE = 10094858
c'V4L2_CID_FOCUS_ABSOLUTE :: (Num a) => a

{-# LINE 830 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_FOCUS_RELATIVE = 10094859
c'V4L2_CID_FOCUS_RELATIVE :: (Num a) => a

{-# LINE 831 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_FOCUS_AUTO = 10094860
c'V4L2_CID_FOCUS_AUTO :: (Num a) => a

{-# LINE 832 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_ZOOM_ABSOLUTE = 10094861
c'V4L2_CID_ZOOM_ABSOLUTE :: (Num a) => a

{-# LINE 833 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_ZOOM_RELATIVE = 10094862
c'V4L2_CID_ZOOM_RELATIVE :: (Num a) => a

{-# LINE 834 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_ZOOM_CONTINUOUS = 10094863
c'V4L2_CID_ZOOM_CONTINUOUS :: (Num a) => a

{-# LINE 835 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_PRIVACY = 10094864
c'V4L2_CID_PRIVACY :: (Num a) => a

{-# LINE 836 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_FM_TX_CLASS_BASE = 10160384
c'V4L2_CID_FM_TX_CLASS_BASE :: (Num a) => a

{-# LINE 837 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_FM_TX_CLASS = 10158081
c'V4L2_CID_FM_TX_CLASS :: (Num a) => a

{-# LINE 838 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_RDS_TX_DEVIATION = 10160385
c'V4L2_CID_RDS_TX_DEVIATION :: (Num a) => a

{-# LINE 839 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_RDS_TX_PI = 10160386
c'V4L2_CID_RDS_TX_PI :: (Num a) => a

{-# LINE 840 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_RDS_TX_PTY = 10160387
c'V4L2_CID_RDS_TX_PTY :: (Num a) => a

{-# LINE 841 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_RDS_TX_PS_NAME = 10160389
c'V4L2_CID_RDS_TX_PS_NAME :: (Num a) => a

{-# LINE 842 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_RDS_TX_RADIO_TEXT = 10160390
c'V4L2_CID_RDS_TX_RADIO_TEXT :: (Num a) => a

{-# LINE 843 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_LIMITER_ENABLED = 10160448
c'V4L2_CID_AUDIO_LIMITER_ENABLED :: (Num a) => a

{-# LINE 844 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_LIMITER_RELEASE_TIME = 10160449
c'V4L2_CID_AUDIO_LIMITER_RELEASE_TIME :: (Num a) => a

{-# LINE 845 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_LIMITER_DEVIATION = 10160450
c'V4L2_CID_AUDIO_LIMITER_DEVIATION :: (Num a) => a

{-# LINE 846 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_COMPRESSION_ENABLED = 10160464
c'V4L2_CID_AUDIO_COMPRESSION_ENABLED :: (Num a) => a

{-# LINE 847 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_COMPRESSION_GAIN = 10160465
c'V4L2_CID_AUDIO_COMPRESSION_GAIN :: (Num a) => a

{-# LINE 848 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_COMPRESSION_THRESHOLD = 10160466
c'V4L2_CID_AUDIO_COMPRESSION_THRESHOLD :: (Num a) => a

{-# LINE 849 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME = 10160467
c'V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME :: (Num a) => a

{-# LINE 850 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME = 10160468
c'V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME :: (Num a) => a

{-# LINE 851 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_PILOT_TONE_ENABLED = 10160480
c'V4L2_CID_PILOT_TONE_ENABLED :: (Num a) => a

{-# LINE 852 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_PILOT_TONE_DEVIATION = 10160481
c'V4L2_CID_PILOT_TONE_DEVIATION :: (Num a) => a

{-# LINE 853 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_PILOT_TONE_FREQUENCY = 10160482
c'V4L2_CID_PILOT_TONE_FREQUENCY :: (Num a) => a

{-# LINE 854 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_TUNE_PREEMPHASIS = 10160496
c'V4L2_CID_TUNE_PREEMPHASIS :: (Num a) => a

{-# LINE 855 "Bindings/Linux/VideoDev2.hsc" #-}
type C'v4l2_preemphasis = CUInt

{-# LINE 856 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PREEMPHASIS_DISABLED = 0
c'V4L2_PREEMPHASIS_DISABLED :: (Num a) => a

{-# LINE 857 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PREEMPHASIS_50_uS = 1
c'V4L2_PREEMPHASIS_50_uS :: (Num a) => a

{-# LINE 858 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_PREEMPHASIS_75_uS = 2
c'V4L2_PREEMPHASIS_75_uS :: (Num a) => a

{-# LINE 859 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_TUNE_POWER_LEVEL = 10160497
c'V4L2_CID_TUNE_POWER_LEVEL :: (Num a) => a

{-# LINE 860 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CID_TUNE_ANTENNA_CAPACITOR = 10160498
c'V4L2_CID_TUNE_ANTENNA_CAPACITOR :: (Num a) => a

{-# LINE 861 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_tuner = C'v4l2_tuner{
{-# LINE 862 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_tuner'index :: Word32
{-# LINE 863 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_tuner'name :: [Word8]
{-# LINE 864 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_tuner'type :: C'v4l2_tuner_type
{-# LINE 865 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_tuner'capability :: Word32
{-# LINE 866 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_tuner'rangelow :: Word32
{-# LINE 867 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_tuner'rangehigh :: Word32
{-# LINE 868 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_tuner'rxsubchans :: Word32
{-# LINE 869 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_tuner'audmode :: Word32
{-# LINE 870 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_tuner'signal :: Int32
{-# LINE 871 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_tuner'afc :: Int32
{-# LINE 872 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_tuner'reserved :: [Word32]
{-# LINE 873 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_tuner where
  sizeOf _ = 84
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekArray 32 (plusPtr p 4)
    v2 <- peekByteOff p 36
    v3 <- peekByteOff p 40
    v4 <- peekByteOff p 44
    v5 <- peekByteOff p 48
    v6 <- peekByteOff p 52
    v7 <- peekByteOff p 56
    v8 <- peekByteOff p 60
    v9 <- peekByteOff p 64
    v10 <- peekArray 4 (plusPtr p 68)
    return $ C'v4l2_tuner v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
  poke p (C'v4l2_tuner v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10) = do
    pokeByteOff p 0 v0
    pokeArray (plusPtr p 4) (take 32 v1)
    pokeByteOff p 36 v2
    pokeByteOff p 40 v3
    pokeByteOff p 44 v4
    pokeByteOff p 48 v5
    pokeByteOff p 52 v6
    pokeByteOff p 56 v7
    pokeByteOff p 60 v8
    pokeByteOff p 64 v9
    pokeArray (plusPtr p 68) (take 4 v10)
    return ()

{-# LINE 874 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_modulator = C'v4l2_modulator{
{-# LINE 875 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_modulator'index :: Word32
{-# LINE 876 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_modulator'name :: [Word8]
{-# LINE 877 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_modulator'capability :: Word32
{-# LINE 878 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_modulator'rangelow :: Word32
{-# LINE 879 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_modulator'rangehigh :: Word32
{-# LINE 880 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_modulator'txsubchans :: Word32
{-# LINE 881 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_modulator'reserved :: [Word32]
{-# LINE 882 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_modulator where
  sizeOf _ = 68
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekArray 32 (plusPtr p 4)
    v2 <- peekByteOff p 36
    v3 <- peekByteOff p 40
    v4 <- peekByteOff p 44
    v5 <- peekByteOff p 48
    v6 <- peekArray 4 (plusPtr p 52)
    return $ C'v4l2_modulator v0 v1 v2 v3 v4 v5 v6
  poke p (C'v4l2_modulator v0 v1 v2 v3 v4 v5 v6) = do
    pokeByteOff p 0 v0
    pokeArray (plusPtr p 4) (take 32 v1)
    pokeByteOff p 36 v2
    pokeByteOff p 40 v3
    pokeByteOff p 44 v4
    pokeByteOff p 48 v5
    pokeArray (plusPtr p 52) (take 4 v6)
    return ()

{-# LINE 883 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_CAP_LOW = 1
c'V4L2_TUNER_CAP_LOW :: (Num a) => a

{-# LINE 884 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_CAP_NORM = 2
c'V4L2_TUNER_CAP_NORM :: (Num a) => a

{-# LINE 885 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_CAP_STEREO = 16
c'V4L2_TUNER_CAP_STEREO :: (Num a) => a

{-# LINE 886 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_CAP_LANG2 = 32
c'V4L2_TUNER_CAP_LANG2 :: (Num a) => a

{-# LINE 887 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_CAP_SAP = 32
c'V4L2_TUNER_CAP_SAP :: (Num a) => a

{-# LINE 888 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_CAP_LANG1 = 64
c'V4L2_TUNER_CAP_LANG1 :: (Num a) => a

{-# LINE 889 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_CAP_RDS = 128
c'V4L2_TUNER_CAP_RDS :: (Num a) => a

{-# LINE 890 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_SUB_MONO = 1
c'V4L2_TUNER_SUB_MONO :: (Num a) => a

{-# LINE 891 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_SUB_STEREO = 2
c'V4L2_TUNER_SUB_STEREO :: (Num a) => a

{-# LINE 892 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_SUB_LANG2 = 4
c'V4L2_TUNER_SUB_LANG2 :: (Num a) => a

{-# LINE 893 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_SUB_SAP = 4
c'V4L2_TUNER_SUB_SAP :: (Num a) => a

{-# LINE 894 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_SUB_LANG1 = 8
c'V4L2_TUNER_SUB_LANG1 :: (Num a) => a

{-# LINE 895 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_SUB_RDS = 16
c'V4L2_TUNER_SUB_RDS :: (Num a) => a

{-# LINE 896 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_MODE_MONO = 0
c'V4L2_TUNER_MODE_MONO :: (Num a) => a

{-# LINE 897 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_MODE_STEREO = 1
c'V4L2_TUNER_MODE_STEREO :: (Num a) => a

{-# LINE 898 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_MODE_LANG2 = 2
c'V4L2_TUNER_MODE_LANG2 :: (Num a) => a

{-# LINE 899 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_MODE_SAP = 2
c'V4L2_TUNER_MODE_SAP :: (Num a) => a

{-# LINE 900 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_MODE_LANG1 = 3
c'V4L2_TUNER_MODE_LANG1 :: (Num a) => a

{-# LINE 901 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_TUNER_MODE_LANG1_LANG2 = 4
c'V4L2_TUNER_MODE_LANG1_LANG2 :: (Num a) => a

{-# LINE 902 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_frequency = C'v4l2_frequency{
{-# LINE 903 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_frequency'tuner :: Word32
{-# LINE 904 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frequency'type :: C'v4l2_tuner_type
{-# LINE 905 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frequency'frequency :: Word32
{-# LINE 906 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_frequency'reserved :: [Word32]
{-# LINE 907 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_frequency where
  sizeOf _ = 44
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekArray 8 (plusPtr p 12)
    return $ C'v4l2_frequency v0 v1 v2 v3
  poke p (C'v4l2_frequency v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeArray (plusPtr p 12) (take 8 v3)
    return ()

{-# LINE 908 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_hw_freq_seek = C'v4l2_hw_freq_seek{
{-# LINE 909 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_hw_freq_seek'tuner :: Word32
{-# LINE 910 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_hw_freq_seek'type :: C'v4l2_tuner_type
{-# LINE 911 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_hw_freq_seek'seek_upward :: Word32
{-# LINE 912 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_hw_freq_seek'wrap_around :: Word32
{-# LINE 913 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_hw_freq_seek'reserved :: [Word32]
{-# LINE 914 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_hw_freq_seek where
  sizeOf _ = 48
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekArray 8 (plusPtr p 16)
    return $ C'v4l2_hw_freq_seek v0 v1 v2 v3 v4
  poke p (C'v4l2_hw_freq_seek v0 v1 v2 v3 v4) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeArray (plusPtr p 16) (take 8 v4)
    return ()

{-# LINE 915 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_rds_data = C'v4l2_rds_data{
{-# LINE 916 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_rds_data'lsb :: Word8
{-# LINE 917 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_rds_data'msb :: Word8
{-# LINE 918 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_rds_data'block :: Word8
{-# LINE 919 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_rds_data where
  sizeOf _ = 3
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 1
    v2 <- peekByteOff p 2
    return $ C'v4l2_rds_data v0 v1 v2
  poke p (C'v4l2_rds_data v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 1 v1
    pokeByteOff p 2 v2
    return ()

{-# LINE 920 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_RDS_BLOCK_MSK = 7
c'V4L2_RDS_BLOCK_MSK :: (Num a) => a

{-# LINE 921 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_RDS_BLOCK_A = 0
c'V4L2_RDS_BLOCK_A :: (Num a) => a

{-# LINE 922 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_RDS_BLOCK_B = 1
c'V4L2_RDS_BLOCK_B :: (Num a) => a

{-# LINE 923 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_RDS_BLOCK_C = 2
c'V4L2_RDS_BLOCK_C :: (Num a) => a

{-# LINE 924 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_RDS_BLOCK_D = 3
c'V4L2_RDS_BLOCK_D :: (Num a) => a

{-# LINE 925 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_RDS_BLOCK_C_ALT = 4
c'V4L2_RDS_BLOCK_C_ALT :: (Num a) => a

{-# LINE 926 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_RDS_BLOCK_INVALID = 7
c'V4L2_RDS_BLOCK_INVALID :: (Num a) => a

{-# LINE 927 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_RDS_BLOCK_CORRECTED = 64
c'V4L2_RDS_BLOCK_CORRECTED :: (Num a) => a

{-# LINE 928 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_RDS_BLOCK_ERROR = 128
c'V4L2_RDS_BLOCK_ERROR :: (Num a) => a

{-# LINE 929 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_audio = C'v4l2_audio{
{-# LINE 930 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_audio'index :: Word32
{-# LINE 931 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_audio'name :: [Word8]
{-# LINE 932 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_audio'capability :: Word32
{-# LINE 933 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_audio'mode :: Word32
{-# LINE 934 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_audio'reserved :: [Word32]
{-# LINE 935 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_audio where
  sizeOf _ = 52
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekArray 32 (plusPtr p 4)
    v2 <- peekByteOff p 36
    v3 <- peekByteOff p 40
    v4 <- peekArray 2 (plusPtr p 44)
    return $ C'v4l2_audio v0 v1 v2 v3 v4
  poke p (C'v4l2_audio v0 v1 v2 v3 v4) = do
    pokeByteOff p 0 v0
    pokeArray (plusPtr p 4) (take 32 v1)
    pokeByteOff p 36 v2
    pokeByteOff p 40 v3
    pokeArray (plusPtr p 44) (take 2 v4)
    return ()

{-# LINE 936 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_AUDCAP_STEREO = 1
c'V4L2_AUDCAP_STEREO :: (Num a) => a

{-# LINE 937 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_AUDCAP_AVL = 2
c'V4L2_AUDCAP_AVL :: (Num a) => a

{-# LINE 938 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_AUDMODE_AVL = 1
c'V4L2_AUDMODE_AVL :: (Num a) => a

{-# LINE 939 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_audioout = C'v4l2_audioout{
{-# LINE 940 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_audioout'index :: Word32
{-# LINE 941 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_audioout'name :: [Word8]
{-# LINE 942 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_audioout'capability :: Word32
{-# LINE 943 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_audioout'mode :: Word32
{-# LINE 944 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_audioout'reserved :: [Word32]
{-# LINE 945 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_audioout where
  sizeOf _ = 52
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekArray 32 (plusPtr p 4)
    v2 <- peekByteOff p 36
    v3 <- peekByteOff p 40
    v4 <- peekArray 2 (plusPtr p 44)
    return $ C'v4l2_audioout v0 v1 v2 v3 v4
  poke p (C'v4l2_audioout v0 v1 v2 v3 v4) = do
    pokeByteOff p 0 v0
    pokeArray (plusPtr p 4) (take 32 v1)
    pokeByteOff p 36 v2
    pokeByteOff p 40 v3
    pokeArray (plusPtr p 44) (take 2 v4)
    return ()

{-# LINE 946 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_ENC_IDX_FRAME_I = 0
c'V4L2_ENC_IDX_FRAME_I :: (Num a) => a

{-# LINE 947 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_ENC_IDX_FRAME_P = 1
c'V4L2_ENC_IDX_FRAME_P :: (Num a) => a

{-# LINE 948 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_ENC_IDX_FRAME_B = 2
c'V4L2_ENC_IDX_FRAME_B :: (Num a) => a

{-# LINE 949 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_ENC_IDX_FRAME_MASK = 15
c'V4L2_ENC_IDX_FRAME_MASK :: (Num a) => a

{-# LINE 950 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_enc_idx_entry = C'v4l2_enc_idx_entry{
{-# LINE 951 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_enc_idx_entry'offset :: Word64
{-# LINE 952 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_enc_idx_entry'pts :: Word64
{-# LINE 953 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_enc_idx_entry'length :: Word32
{-# LINE 954 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_enc_idx_entry'flags :: Word32
{-# LINE 955 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_enc_idx_entry'reserved :: [Word32]
{-# LINE 956 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_enc_idx_entry where
  sizeOf _ = 32
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 16
    v3 <- peekByteOff p 20
    v4 <- peekArray 2 (plusPtr p 24)
    return $ C'v4l2_enc_idx_entry v0 v1 v2 v3 v4
  poke p (C'v4l2_enc_idx_entry v0 v1 v2 v3 v4) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 16 v2
    pokeByteOff p 20 v3
    pokeArray (plusPtr p 24) (take 2 v4)
    return ()

{-# LINE 957 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_ENC_IDX_ENTRIES = 64
c'V4L2_ENC_IDX_ENTRIES :: (Num a) => a

{-# LINE 958 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_enc_idx = C'v4l2_enc_idx{
{-# LINE 959 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_enc_idx'entries :: Word32
{-# LINE 960 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_enc_idx'entries_cap :: Word32
{-# LINE 961 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_enc_idx'reserved :: [Word32]
{-# LINE 962 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_enc_idx'entry :: [C'v4l2_enc_idx_entry]
{-# LINE 963 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_enc_idx where
  sizeOf _ = 2072
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekArray 4 (plusPtr p 8)
    v3 <- peekArray 64 (plusPtr p 24)
    return $ C'v4l2_enc_idx v0 v1 v2 v3
  poke p (C'v4l2_enc_idx v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeArray (plusPtr p 8) (take 4 v2)
    pokeArray (plusPtr p 24) (take 64 v3)
    return ()

{-# LINE 964 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_ENC_CMD_START = 0
c'V4L2_ENC_CMD_START :: (Num a) => a

{-# LINE 965 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_ENC_CMD_STOP = 1
c'V4L2_ENC_CMD_STOP :: (Num a) => a

{-# LINE 966 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_ENC_CMD_PAUSE = 2
c'V4L2_ENC_CMD_PAUSE :: (Num a) => a

{-# LINE 967 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_ENC_CMD_RESUME = 3
c'V4L2_ENC_CMD_RESUME :: (Num a) => a

{-# LINE 968 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_ENC_CMD_STOP_AT_GOP_END = 1
c'V4L2_ENC_CMD_STOP_AT_GOP_END :: (Num a) => a

{-# LINE 969 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_encoder_cmd_u_s = C'v4l2_encoder_cmd_u_s{
{-# LINE 970 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_encoder_cmd_u_s'data :: [Word32]
{-# LINE 971 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_encoder_cmd_u_s where
  sizeOf _ = 32
  alignment = sizeOf
  peek p = do
    v0 <- peekArray 8 (plusPtr p 0)
    return $ C'v4l2_encoder_cmd_u_s v0
  poke p (C'v4l2_encoder_cmd_u_s v0) = do
    pokeArray (plusPtr p 0) (take 8 v0)
    return ()

{-# LINE 972 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_encoder_cmd_u = C'v4l2_encoder_cmd_u{
{-# LINE 973 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_encoder_cmd_u'raw :: C'v4l2_encoder_cmd_u_s
{-# LINE 974 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
u'v4l2_encoder_cmd_u'raw v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_encoder_cmd_u'raw = c'v4l2_encoder_cmd_u'raw vu}
u'v4l2_encoder_cmd_u'raw :: C'v4l2_encoder_cmd_u -> C'v4l2_encoder_cmd_u_s -> IO C'v4l2_encoder_cmd_u
instance Storable C'v4l2_encoder_cmd_u where
  sizeOf _ = 32
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'v4l2_encoder_cmd_u v0
  poke p (C'v4l2_encoder_cmd_u v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 975 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_encoder_cmd = C'v4l2_encoder_cmd{
{-# LINE 976 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_encoder_cmd'cmd :: Word32
{-# LINE 977 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_encoder_cmd'flags :: Word32
{-# LINE 978 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_encoder_cmd'u :: C'v4l2_encoder_cmd_u
{-# LINE 979 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_encoder_cmd where
  sizeOf _ = 40
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    return $ C'v4l2_encoder_cmd v0 v1 v2
  poke p (C'v4l2_encoder_cmd v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    return ()

{-# LINE 980 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_vbi_format = C'v4l2_vbi_format{
{-# LINE 981 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_vbi_format'sampling_rate :: Word32
{-# LINE 982 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_vbi_format'offset :: Word32
{-# LINE 983 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_vbi_format'samples_per_line :: Word32
{-# LINE 984 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_vbi_format'sample_format :: Word32
{-# LINE 985 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_vbi_format'start :: [Int32]
{-# LINE 986 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_vbi_format'count :: [Word32]
{-# LINE 987 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_vbi_format'flags :: Word32
{-# LINE 988 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_vbi_format'reserved :: [Word32]
{-# LINE 989 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_vbi_format where
  sizeOf _ = 44
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekArray 2 (plusPtr p 16)
    v5 <- peekArray 2 (plusPtr p 24)
    v6 <- peekByteOff p 32
    v7 <- peekArray 2 (plusPtr p 36)
    return $ C'v4l2_vbi_format v0 v1 v2 v3 v4 v5 v6 v7
  poke p (C'v4l2_vbi_format v0 v1 v2 v3 v4 v5 v6 v7) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeArray (plusPtr p 16) (take 2 v4)
    pokeArray (plusPtr p 24) (take 2 v5)
    pokeByteOff p 32 v6
    pokeArray (plusPtr p 36) (take 2 v7)
    return ()

{-# LINE 990 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_VBI_UNSYNC = 1
c'V4L2_VBI_UNSYNC :: (Num a) => a

{-# LINE 991 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_VBI_INTERLACED = 2
c'V4L2_VBI_INTERLACED :: (Num a) => a

{-# LINE 992 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_sliced_vbi_format = C'v4l2_sliced_vbi_format{
{-# LINE 993 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_sliced_vbi_format'service_set :: Word16
{-# LINE 994 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_sliced_vbi_format'service_lines :: [Word16]
{-# LINE 995 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_sliced_vbi_format'io_size :: Word32
{-# LINE 996 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_sliced_vbi_format'reserved :: [Word32]
{-# LINE 997 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_sliced_vbi_format where
  sizeOf _ = 112
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekArray 2 (plusPtr p 2)
    v2 <- peekByteOff p 100
    v3 <- peekArray 2 (plusPtr p 104)
    return $ C'v4l2_sliced_vbi_format v0 v1 v2 v3
  poke p (C'v4l2_sliced_vbi_format v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeArray (plusPtr p 2) (take 2 v1)
    pokeByteOff p 100 v2
    pokeArray (plusPtr p 104) (take 2 v3)
    return ()

{-# LINE 998 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_SLICED_TELETEXT_B = 1
c'V4L2_SLICED_TELETEXT_B :: (Num a) => a

{-# LINE 999 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_SLICED_VPS = 1024
c'V4L2_SLICED_VPS :: (Num a) => a

{-# LINE 1000 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_SLICED_CAPTION_525 = 4096
c'V4L2_SLICED_CAPTION_525 :: (Num a) => a

{-# LINE 1001 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_SLICED_WSS_625 = 16384
c'V4L2_SLICED_WSS_625 :: (Num a) => a

{-# LINE 1002 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_SLICED_VBI_525 = 4096
c'V4L2_SLICED_VBI_525 :: (Num a) => a

{-# LINE 1003 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_SLICED_VBI_625 = 17409
c'V4L2_SLICED_VBI_625 :: (Num a) => a

{-# LINE 1004 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_sliced_vbi_cap = C'v4l2_sliced_vbi_cap{
{-# LINE 1005 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_sliced_vbi_cap'service_set :: Word16
{-# LINE 1006 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_sliced_vbi_cap'service_lines :: [Word16]
{-# LINE 1007 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_sliced_vbi_cap'type :: C'v4l2_buf_type
{-# LINE 1008 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_sliced_vbi_cap'reserved :: [Word32]
{-# LINE 1009 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_sliced_vbi_cap where
  sizeOf _ = 116
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekArray 2 (plusPtr p 2)
    v2 <- peekByteOff p 100
    v3 <- peekArray 3 (plusPtr p 104)
    return $ C'v4l2_sliced_vbi_cap v0 v1 v2 v3
  poke p (C'v4l2_sliced_vbi_cap v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeArray (plusPtr p 2) (take 2 v1)
    pokeByteOff p 100 v2
    pokeArray (plusPtr p 104) (take 3 v3)
    return ()

{-# LINE 1010 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_sliced_vbi_data = C'v4l2_sliced_vbi_data{
{-# LINE 1011 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_sliced_vbi_data'id :: Word32
{-# LINE 1012 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_sliced_vbi_data'field :: Word32
{-# LINE 1013 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_sliced_vbi_data'line :: Word32
{-# LINE 1014 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_sliced_vbi_data'reserved :: Word32
{-# LINE 1015 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_sliced_vbi_data'data :: [Word8]
{-# LINE 1016 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_sliced_vbi_data where
  sizeOf _ = 64
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekArray 48 (plusPtr p 16)
    return $ C'v4l2_sliced_vbi_data v0 v1 v2 v3 v4
  poke p (C'v4l2_sliced_vbi_data v0 v1 v2 v3 v4) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeArray (plusPtr p 16) (take 48 v4)
    return ()

{-# LINE 1017 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VBI_IVTV_TELETEXT_B = 1
c'V4L2_MPEG_VBI_IVTV_TELETEXT_B :: (Num a) => a

{-# LINE 1018 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VBI_IVTV_CAPTION_525 = 4
c'V4L2_MPEG_VBI_IVTV_CAPTION_525 :: (Num a) => a

{-# LINE 1019 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VBI_IVTV_WSS_625 = 5
c'V4L2_MPEG_VBI_IVTV_WSS_625 :: (Num a) => a

{-# LINE 1020 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VBI_IVTV_VPS = 7
c'V4L2_MPEG_VBI_IVTV_VPS :: (Num a) => a

{-# LINE 1021 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_mpeg_vbi_itv0_line = C'v4l2_mpeg_vbi_itv0_line{
{-# LINE 1022 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_mpeg_vbi_itv0_line'id :: Word8
{-# LINE 1023 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_mpeg_vbi_itv0_line'data :: [Word8]
{-# LINE 1024 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_mpeg_vbi_itv0_line where
  sizeOf _ = 43
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekArray 42 (plusPtr p 1)
    return $ C'v4l2_mpeg_vbi_itv0_line v0 v1
  poke p (C'v4l2_mpeg_vbi_itv0_line v0 v1) = do
    pokeByteOff p 0 v0
    pokeArray (plusPtr p 1) (take 42 v1)
    return ()

{-# LINE 1025 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_mpeg_vbi_itv0 = C'v4l2_mpeg_vbi_itv0{
{-# LINE 1026 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_mpeg_vbi_itv0'linemask :: [Word32]
{-# LINE 1027 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_mpeg_vbi_itv0'line :: [C'v4l2_mpeg_vbi_itv0_line]
{-# LINE 1028 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_mpeg_vbi_itv0 where
  sizeOf _ = 1513
  alignment = sizeOf
  peek p = do
    v0 <- peekArray 2 (plusPtr p 0)
    v1 <- peekArray 35 (plusPtr p 8)
    return $ C'v4l2_mpeg_vbi_itv0 v0 v1
  poke p (C'v4l2_mpeg_vbi_itv0 v0 v1) = do
    pokeArray (plusPtr p 0) (take 2 v0)
    pokeArray (plusPtr p 8) (take 35 v1)
    return ()

{-# LINE 1029 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_mpeg_vbi_ITV0 = C'v4l2_mpeg_vbi_ITV0{
{-# LINE 1030 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_mpeg_vbi_ITV0'line :: [C'v4l2_mpeg_vbi_itv0_line]
{-# LINE 1031 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_mpeg_vbi_ITV0 where
  sizeOf _ = 1548
  alignment = sizeOf
  peek p = do
    v0 <- peekArray 36 (plusPtr p 0)
    return $ C'v4l2_mpeg_vbi_ITV0 v0
  poke p (C'v4l2_mpeg_vbi_ITV0 v0) = do
    pokeArray (plusPtr p 0) (take 36 v0)
    return ()

{-# LINE 1032 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VBI_IVTV_MAGIC0 = 135791330
c'V4L2_MPEG_VBI_IVTV_MAGIC0 :: (Num a) => a

{-# LINE 1033 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_MPEG_VBI_IVTV_MAGIC1 = 135791361
c'V4L2_MPEG_VBI_IVTV_MAGIC1 :: (Num a) => a

{-# LINE 1034 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_mpeg_vbi_fmt_ivtv_u = C'v4l2_mpeg_vbi_fmt_ivtv_u{
{-# LINE 1035 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_mpeg_vbi_fmt_ivtv_u'itv0 :: C'v4l2_mpeg_vbi_itv0
{-# LINE 1036 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_mpeg_vbi_fmt_ivtv_u'ITV0 :: C'v4l2_mpeg_vbi_ITV0
{-# LINE 1037 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
u'v4l2_mpeg_vbi_fmt_ivtv_u'itv0 v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_mpeg_vbi_fmt_ivtv_u'itv0 = c'v4l2_mpeg_vbi_fmt_ivtv_u'itv0 vu}
    {c'v4l2_mpeg_vbi_fmt_ivtv_u'ITV0 = c'v4l2_mpeg_vbi_fmt_ivtv_u'ITV0 vu}
u'v4l2_mpeg_vbi_fmt_ivtv_u'itv0 :: C'v4l2_mpeg_vbi_fmt_ivtv_u -> C'v4l2_mpeg_vbi_itv0 -> IO C'v4l2_mpeg_vbi_fmt_ivtv_u
u'v4l2_mpeg_vbi_fmt_ivtv_u'ITV0 v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_mpeg_vbi_fmt_ivtv_u'itv0 = c'v4l2_mpeg_vbi_fmt_ivtv_u'itv0 vu}
    {c'v4l2_mpeg_vbi_fmt_ivtv_u'ITV0 = c'v4l2_mpeg_vbi_fmt_ivtv_u'ITV0 vu}
u'v4l2_mpeg_vbi_fmt_ivtv_u'ITV0 :: C'v4l2_mpeg_vbi_fmt_ivtv_u -> C'v4l2_mpeg_vbi_ITV0 -> IO C'v4l2_mpeg_vbi_fmt_ivtv_u
instance Storable C'v4l2_mpeg_vbi_fmt_ivtv_u where
  sizeOf _ = 1548
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    return $ C'v4l2_mpeg_vbi_fmt_ivtv_u v0 v1
  poke p (C'v4l2_mpeg_vbi_fmt_ivtv_u v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    return ()

{-# LINE 1038 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_mpeg_vbi_fmt_ivtv = C'v4l2_mpeg_vbi_fmt_ivtv{
{-# LINE 1039 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_mpeg_vbi_fmt_ivtv'magic :: [Word8]
{-# LINE 1040 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_mpeg_vbi_fmt_ivtv'u :: C'v4l2_mpeg_vbi_fmt_ivtv_u
{-# LINE 1041 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_mpeg_vbi_fmt_ivtv where
  sizeOf _ = 1552
  alignment = sizeOf
  peek p = do
    v0 <- peekArray 4 (plusPtr p 0)
    v1 <- peekByteOff p 4
    return $ C'v4l2_mpeg_vbi_fmt_ivtv v0 v1
  poke p (C'v4l2_mpeg_vbi_fmt_ivtv v0 v1) = do
    pokeArray (plusPtr p 0) (take 4 v0)
    pokeByteOff p 4 v1
    return ()

{-# LINE 1042 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_format_u = C'v4l2_format_u{
{-# LINE 1043 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_format_u'pix :: C'v4l2_pix_format
{-# LINE 1044 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_format_u'win :: C'v4l2_window
{-# LINE 1045 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_format_u'vbi :: C'v4l2_vbi_format
{-# LINE 1046 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_format_u'sliced :: C'v4l2_sliced_vbi_format
{-# LINE 1047 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_format_u'raw_data :: [Word8]
{-# LINE 1048 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
u'v4l2_format_u'pix v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_format_u'pix = c'v4l2_format_u'pix vu}
    {c'v4l2_format_u'win = c'v4l2_format_u'win vu}
    {c'v4l2_format_u'vbi = c'v4l2_format_u'vbi vu}
    {c'v4l2_format_u'sliced = c'v4l2_format_u'sliced vu}
    {c'v4l2_format_u'raw_data = c'v4l2_format_u'raw_data vu}
u'v4l2_format_u'pix :: C'v4l2_format_u -> C'v4l2_pix_format -> IO C'v4l2_format_u
u'v4l2_format_u'win v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_format_u'pix = c'v4l2_format_u'pix vu}
    {c'v4l2_format_u'win = c'v4l2_format_u'win vu}
    {c'v4l2_format_u'vbi = c'v4l2_format_u'vbi vu}
    {c'v4l2_format_u'sliced = c'v4l2_format_u'sliced vu}
    {c'v4l2_format_u'raw_data = c'v4l2_format_u'raw_data vu}
u'v4l2_format_u'win :: C'v4l2_format_u -> C'v4l2_window -> IO C'v4l2_format_u
u'v4l2_format_u'vbi v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_format_u'pix = c'v4l2_format_u'pix vu}
    {c'v4l2_format_u'win = c'v4l2_format_u'win vu}
    {c'v4l2_format_u'vbi = c'v4l2_format_u'vbi vu}
    {c'v4l2_format_u'sliced = c'v4l2_format_u'sliced vu}
    {c'v4l2_format_u'raw_data = c'v4l2_format_u'raw_data vu}
u'v4l2_format_u'vbi :: C'v4l2_format_u -> C'v4l2_vbi_format -> IO C'v4l2_format_u
u'v4l2_format_u'sliced v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_format_u'pix = c'v4l2_format_u'pix vu}
    {c'v4l2_format_u'win = c'v4l2_format_u'win vu}
    {c'v4l2_format_u'vbi = c'v4l2_format_u'vbi vu}
    {c'v4l2_format_u'sliced = c'v4l2_format_u'sliced vu}
    {c'v4l2_format_u'raw_data = c'v4l2_format_u'raw_data vu}
u'v4l2_format_u'sliced :: C'v4l2_format_u -> C'v4l2_sliced_vbi_format -> IO C'v4l2_format_u
u'v4l2_format_u'raw_data v vf = alloca $ \p -> do
  poke p v
  pokeArray (plusPtr p 0) (take 200 vf)
  vu <- peek p
  return $ v 
    {c'v4l2_format_u'pix = c'v4l2_format_u'pix vu}
    {c'v4l2_format_u'win = c'v4l2_format_u'win vu}
    {c'v4l2_format_u'vbi = c'v4l2_format_u'vbi vu}
    {c'v4l2_format_u'sliced = c'v4l2_format_u'sliced vu}
    {c'v4l2_format_u'raw_data = c'v4l2_format_u'raw_data vu}
u'v4l2_format_u'raw_data :: C'v4l2_format_u -> [Word8] -> IO C'v4l2_format_u
instance Storable C'v4l2_format_u where
  sizeOf _ = 200
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    v2 <- peekByteOff p 0
    v3 <- peekByteOff p 0
    v4 <- peekArray 200 (plusPtr p 0)
    return $ C'v4l2_format_u v0 v1 v2 v3 v4
  poke p (C'v4l2_format_u v0 v1 v2 v3 v4) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    pokeByteOff p 0 v2
    pokeByteOff p 0 v3
    pokeArray (plusPtr p 0) (take 200 v4)
    return ()

{-# LINE 1049 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_format = C'v4l2_format{
{-# LINE 1050 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_format'type :: C'v4l2_buf_type
{-# LINE 1051 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_format'fmt :: C'v4l2_format_u
{-# LINE 1052 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_format where
  sizeOf _ = 204
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'v4l2_format v0 v1
  poke p (C'v4l2_format v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 1053 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_streamparm_u = C'v4l2_streamparm_u{
{-# LINE 1054 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_streamparm_u'capture :: C'v4l2_captureparm
{-# LINE 1055 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_streamparm_u'output :: C'v4l2_outputparm
{-# LINE 1056 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_streamparm_u'raw_data :: [Word8]
{-# LINE 1057 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
u'v4l2_streamparm_u'capture v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_streamparm_u'capture = c'v4l2_streamparm_u'capture vu}
    {c'v4l2_streamparm_u'output = c'v4l2_streamparm_u'output vu}
    {c'v4l2_streamparm_u'raw_data = c'v4l2_streamparm_u'raw_data vu}
u'v4l2_streamparm_u'capture :: C'v4l2_streamparm_u -> C'v4l2_captureparm -> IO C'v4l2_streamparm_u
u'v4l2_streamparm_u'output v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_streamparm_u'capture = c'v4l2_streamparm_u'capture vu}
    {c'v4l2_streamparm_u'output = c'v4l2_streamparm_u'output vu}
    {c'v4l2_streamparm_u'raw_data = c'v4l2_streamparm_u'raw_data vu}
u'v4l2_streamparm_u'output :: C'v4l2_streamparm_u -> C'v4l2_outputparm -> IO C'v4l2_streamparm_u
u'v4l2_streamparm_u'raw_data v vf = alloca $ \p -> do
  poke p v
  pokeArray (plusPtr p 0) (take 200 vf)
  vu <- peek p
  return $ v 
    {c'v4l2_streamparm_u'capture = c'v4l2_streamparm_u'capture vu}
    {c'v4l2_streamparm_u'output = c'v4l2_streamparm_u'output vu}
    {c'v4l2_streamparm_u'raw_data = c'v4l2_streamparm_u'raw_data vu}
u'v4l2_streamparm_u'raw_data :: C'v4l2_streamparm_u -> [Word8] -> IO C'v4l2_streamparm_u
instance Storable C'v4l2_streamparm_u where
  sizeOf _ = 200
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    v2 <- peekArray 200 (plusPtr p 0)
    return $ C'v4l2_streamparm_u v0 v1 v2
  poke p (C'v4l2_streamparm_u v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    pokeArray (plusPtr p 0) (take 200 v2)
    return ()

{-# LINE 1058 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_streamparm = C'v4l2_streamparm{
{-# LINE 1059 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_streamparm'type :: C'v4l2_buf_type
{-# LINE 1060 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_streamparm'parm :: C'v4l2_streamparm_u
{-# LINE 1061 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_streamparm where
  sizeOf _ = 204
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'v4l2_streamparm v0 v1
  poke p (C'v4l2_streamparm v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 1062 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CHIP_MATCH_HOST = 0
c'V4L2_CHIP_MATCH_HOST :: (Num a) => a

{-# LINE 1063 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CHIP_MATCH_I2C_DRIVER = 1
c'V4L2_CHIP_MATCH_I2C_DRIVER :: (Num a) => a

{-# LINE 1064 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CHIP_MATCH_I2C_ADDR = 2
c'V4L2_CHIP_MATCH_I2C_ADDR :: (Num a) => a

{-# LINE 1065 "Bindings/Linux/VideoDev2.hsc" #-}
c'V4L2_CHIP_MATCH_AC97 = 3
c'V4L2_CHIP_MATCH_AC97 :: (Num a) => a

{-# LINE 1066 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_dbg_match_u = C'v4l2_dbg_match_u{
{-# LINE 1067 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_dbg_match_u'addr :: Word32
{-# LINE 1068 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_dbg_match_u'name :: [CChar]
{-# LINE 1069 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
u'v4l2_dbg_match_u'addr v vf = alloca $ \p -> do
  poke p v
  pokeByteOff p 0 vf
  vu <- peek p
  return $ v 
    {c'v4l2_dbg_match_u'addr = c'v4l2_dbg_match_u'addr vu}
    {c'v4l2_dbg_match_u'name = c'v4l2_dbg_match_u'name vu}
u'v4l2_dbg_match_u'addr :: C'v4l2_dbg_match_u -> Word32 -> IO C'v4l2_dbg_match_u
u'v4l2_dbg_match_u'name v vf = alloca $ \p -> do
  poke p v
  pokeArray (plusPtr p 0) (take 32 vf)
  vu <- peek p
  return $ v 
    {c'v4l2_dbg_match_u'addr = c'v4l2_dbg_match_u'addr vu}
    {c'v4l2_dbg_match_u'name = c'v4l2_dbg_match_u'name vu}
u'v4l2_dbg_match_u'name :: C'v4l2_dbg_match_u -> [CChar] -> IO C'v4l2_dbg_match_u
instance Storable C'v4l2_dbg_match_u where
  sizeOf _ = 32
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekArray 32 (plusPtr p 0)
    return $ C'v4l2_dbg_match_u v0 v1
  poke p (C'v4l2_dbg_match_u v0 v1) = do
    pokeByteOff p 0 v0
    pokeArray (plusPtr p 0) (take 32 v1)
    return ()

{-# LINE 1070 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_dbg_match = C'v4l2_dbg_match{
{-# LINE 1071 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_dbg_match'type :: Word32
{-# LINE 1072 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_dbg_match'u :: C'v4l2_dbg_match_u
{-# LINE 1073 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_dbg_match where
  sizeOf _ = 36
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'v4l2_dbg_match v0 v1
  poke p (C'v4l2_dbg_match v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 1074 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_dbg_register = C'v4l2_dbg_register{
{-# LINE 1075 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_dbg_register'match :: C'v4l2_dbg_match
{-# LINE 1076 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_dbg_register'size :: Word32
{-# LINE 1077 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_dbg_register'reg :: Word64
{-# LINE 1078 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_dbg_register'val :: Word64
{-# LINE 1079 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_dbg_register where
  sizeOf _ = 56
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 36
    v2 <- peekByteOff p 40
    v3 <- peekByteOff p 48
    return $ C'v4l2_dbg_register v0 v1 v2 v3
  poke p (C'v4l2_dbg_register v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 36 v1
    pokeByteOff p 40 v2
    pokeByteOff p 48 v3
    return ()

{-# LINE 1080 "Bindings/Linux/VideoDev2.hsc" #-}
data C'v4l2_dbg_chip_ident = C'v4l2_dbg_chip_ident{
{-# LINE 1081 "Bindings/Linux/VideoDev2.hsc" #-}

  c'v4l2_dbg_chip_ident'match :: C'v4l2_dbg_match
{-# LINE 1082 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_dbg_chip_ident'ident :: Word32
{-# LINE 1083 "Bindings/Linux/VideoDev2.hsc" #-}
,
  c'v4l2_dbg_chip_ident'revision :: Word32
{-# LINE 1084 "Bindings/Linux/VideoDev2.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'v4l2_dbg_chip_ident where
  sizeOf _ = 44
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 36
    v2 <- peekByteOff p 40
    return $ C'v4l2_dbg_chip_ident v0 v1 v2
  poke p (C'v4l2_dbg_chip_ident v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 36 v1
    pokeByteOff p 40 v2
    return ()

{-# LINE 1085 "Bindings/Linux/VideoDev2.hsc" #-}
c'VIDIOC_QUERYCAP = 2154321408
c'VIDIOC_QUERYCAP :: (Num a) => a

{-# LINE 1086 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_QUERYCAP = C'VIDIOC_QUERYCAP

{-# LINE 1087 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_QUERYCAP C'v4l2_capability where ioctlReq _ = c'VIDIOC_QUERYCAP
c'VIDIOC_RESERVED = 22017
c'VIDIOC_RESERVED :: (Num a) => a

{-# LINE 1089 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_RESERVED = C'VIDIOC_RESERVED

{-# LINE 1090 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_RESERVED CInt where ioctlReq _ = c'VIDIOC_RESERVED
c'VIDIOC_ENUM_FMT = 3225441794
c'VIDIOC_ENUM_FMT :: (Num a) => a

{-# LINE 1092 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_ENUM_FMT = C'VIDIOC_ENUM_FMT

{-# LINE 1093 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_ENUM_FMT C'v4l2_fmtdesc where ioctlReq _ = c'VIDIOC_ENUM_FMT
c'VIDIOC_G_FMT = 3234616836
c'VIDIOC_G_FMT :: (Num a) => a

{-# LINE 1095 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_FMT = C'VIDIOC_G_FMT

{-# LINE 1096 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_FMT C'v4l2_format where ioctlReq _ = c'VIDIOC_G_FMT
c'VIDIOC_S_FMT = 3234616837
c'VIDIOC_S_FMT :: (Num a) => a

{-# LINE 1098 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_FMT = C'VIDIOC_S_FMT

{-# LINE 1099 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_FMT C'v4l2_format where ioctlReq _ = c'VIDIOC_S_FMT
c'VIDIOC_REQBUFS = 3222558216
c'VIDIOC_REQBUFS :: (Num a) => a

{-# LINE 1101 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_REQBUFS = C'VIDIOC_REQBUFS

{-# LINE 1102 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_REQBUFS C'v4l2_requestbuffers where ioctlReq _ = c'VIDIOC_REQBUFS
c'VIDIOC_QUERYBUF = 3225703945
c'VIDIOC_QUERYBUF :: (Num a) => a

{-# LINE 1104 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_QUERYBUF = C'VIDIOC_QUERYBUF

{-# LINE 1105 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_QUERYBUF C'v4l2_buffer where ioctlReq _ = c'VIDIOC_QUERYBUF
c'VIDIOC_G_FBUF = 2150389258
c'VIDIOC_G_FBUF :: (Num a) => a

{-# LINE 1107 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_FBUF = C'VIDIOC_G_FBUF

{-# LINE 1108 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_FBUF C'v4l2_framebuffer where ioctlReq _ = c'VIDIOC_G_FBUF
c'VIDIOC_S_FBUF = 1076647435
c'VIDIOC_S_FBUF :: (Num a) => a

{-# LINE 1110 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_FBUF = C'VIDIOC_S_FBUF

{-# LINE 1111 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_FBUF C'v4l2_framebuffer where ioctlReq _ = c'VIDIOC_S_FBUF
c'VIDIOC_OVERLAY = 1074025998
c'VIDIOC_OVERLAY :: (Num a) => a

{-# LINE 1113 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_OVERLAY = C'VIDIOC_OVERLAY

{-# LINE 1114 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_OVERLAY CInt where ioctlReq _ = c'VIDIOC_OVERLAY
c'VIDIOC_QBUF = 3225703951
c'VIDIOC_QBUF :: (Num a) => a

{-# LINE 1116 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_QBUF = C'VIDIOC_QBUF

{-# LINE 1117 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_QBUF C'v4l2_buffer where ioctlReq _ = c'VIDIOC_QBUF
c'VIDIOC_DQBUF = 3225703953
c'VIDIOC_DQBUF :: (Num a) => a

{-# LINE 1119 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_DQBUF = C'VIDIOC_DQBUF

{-# LINE 1120 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_DQBUF C'v4l2_buffer where ioctlReq _ = c'VIDIOC_DQBUF
c'VIDIOC_STREAMON = 1074026002
c'VIDIOC_STREAMON :: (Num a) => a

{-# LINE 1122 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_STREAMON = C'VIDIOC_STREAMON

{-# LINE 1123 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_STREAMON CInt where ioctlReq _ = c'VIDIOC_STREAMON
c'VIDIOC_STREAMOFF = 1074026003
c'VIDIOC_STREAMOFF :: (Num a) => a

{-# LINE 1125 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_STREAMOFF = C'VIDIOC_STREAMOFF

{-# LINE 1126 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_STREAMOFF CInt where ioctlReq _ = c'VIDIOC_STREAMOFF
c'VIDIOC_G_PARM = 3234616853
c'VIDIOC_G_PARM :: (Num a) => a

{-# LINE 1128 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_PARM = C'VIDIOC_G_PARM

{-# LINE 1129 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_PARM C'v4l2_streamparm where ioctlReq _ = c'VIDIOC_G_PARM
c'VIDIOC_S_PARM = 3234616854
c'VIDIOC_S_PARM :: (Num a) => a

{-# LINE 1131 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_PARM = C'VIDIOC_S_PARM

{-# LINE 1132 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_PARM C'v4l2_streamparm where ioctlReq _ = c'VIDIOC_S_PARM
c'VIDIOC_G_STD = 2148029975
c'VIDIOC_G_STD :: (Num a) => a

{-# LINE 1134 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_STD = C'VIDIOC_G_STD

{-# LINE 1135 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_STD C'v4l2_std_id where ioctlReq _ = c'VIDIOC_G_STD
c'VIDIOC_S_STD = 1074288152
c'VIDIOC_S_STD :: (Num a) => a

{-# LINE 1137 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_STD = C'VIDIOC_S_STD

{-# LINE 1138 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_STD C'v4l2_std_id where ioctlReq _ = c'VIDIOC_S_STD
c'VIDIOC_ENUMSTD = 3225441817
c'VIDIOC_ENUMSTD :: (Num a) => a

{-# LINE 1140 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_ENUMSTD = C'VIDIOC_ENUMSTD

{-# LINE 1141 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_ENUMSTD C'v4l2_standard where ioctlReq _ = c'VIDIOC_ENUMSTD
c'VIDIOC_ENUMINPUT = 3226228250
c'VIDIOC_ENUMINPUT :: (Num a) => a

{-# LINE 1143 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_ENUMINPUT = C'VIDIOC_ENUMINPUT

{-# LINE 1144 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_ENUMINPUT C'v4l2_input where ioctlReq _ = c'VIDIOC_ENUMINPUT
c'VIDIOC_G_CTRL = 3221771803
c'VIDIOC_G_CTRL :: (Num a) => a

{-# LINE 1146 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_CTRL = C'VIDIOC_G_CTRL

{-# LINE 1147 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_CTRL C'v4l2_control where ioctlReq _ = c'VIDIOC_G_CTRL
c'VIDIOC_S_CTRL = 3221771804
c'VIDIOC_S_CTRL :: (Num a) => a

{-# LINE 1149 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_CTRL = C'VIDIOC_S_CTRL

{-# LINE 1150 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_CTRL C'v4l2_control where ioctlReq _ = c'VIDIOC_S_CTRL
c'VIDIOC_G_TUNER = 3226752541
c'VIDIOC_G_TUNER :: (Num a) => a

{-# LINE 1152 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_TUNER = C'VIDIOC_G_TUNER

{-# LINE 1153 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_TUNER C'v4l2_tuner where ioctlReq _ = c'VIDIOC_G_TUNER
c'VIDIOC_S_TUNER = 1079268894
c'VIDIOC_S_TUNER :: (Num a) => a

{-# LINE 1155 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_TUNER = C'VIDIOC_S_TUNER

{-# LINE 1156 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_TUNER C'v4l2_tuner where ioctlReq _ = c'VIDIOC_S_TUNER
c'VIDIOC_G_AUDIO = 2150913569
c'VIDIOC_G_AUDIO :: (Num a) => a

{-# LINE 1158 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_AUDIO = C'VIDIOC_G_AUDIO

{-# LINE 1159 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_AUDIO C'v4l2_audio where ioctlReq _ = c'VIDIOC_G_AUDIO
c'VIDIOC_S_AUDIO = 1077171746
c'VIDIOC_S_AUDIO :: (Num a) => a

{-# LINE 1161 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_AUDIO = C'VIDIOC_S_AUDIO

{-# LINE 1162 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_AUDIO C'v4l2_audio where ioctlReq _ = c'VIDIOC_S_AUDIO
c'VIDIOC_QUERYCTRL = 3225703972
c'VIDIOC_QUERYCTRL :: (Num a) => a

{-# LINE 1164 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_QUERYCTRL = C'VIDIOC_QUERYCTRL

{-# LINE 1165 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_QUERYCTRL C'v4l2_queryctrl where ioctlReq _ = c'VIDIOC_QUERYCTRL
c'VIDIOC_QUERYMENU = 3224131109
c'VIDIOC_QUERYMENU :: (Num a) => a

{-# LINE 1167 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_QUERYMENU = C'VIDIOC_QUERYMENU

{-# LINE 1168 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_QUERYMENU C'v4l2_querymenu where ioctlReq _ = c'VIDIOC_QUERYMENU
c'VIDIOC_G_INPUT = 2147767846
c'VIDIOC_G_INPUT :: (Num a) => a

{-# LINE 1170 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_INPUT = C'VIDIOC_G_INPUT

{-# LINE 1171 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_INPUT CInt where ioctlReq _ = c'VIDIOC_G_INPUT
c'VIDIOC_S_INPUT = 3221509671
c'VIDIOC_S_INPUT :: (Num a) => a

{-# LINE 1173 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_INPUT = C'VIDIOC_S_INPUT

{-# LINE 1174 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_INPUT CInt where ioctlReq _ = c'VIDIOC_S_INPUT
c'VIDIOC_G_OUTPUT = 2147767854
c'VIDIOC_G_OUTPUT :: (Num a) => a

{-# LINE 1176 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_OUTPUT = C'VIDIOC_G_OUTPUT

{-# LINE 1177 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_OUTPUT CInt where ioctlReq _ = c'VIDIOC_G_OUTPUT
c'VIDIOC_S_OUTPUT = 3221509679
c'VIDIOC_S_OUTPUT :: (Num a) => a

{-# LINE 1179 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_OUTPUT = C'VIDIOC_S_OUTPUT

{-# LINE 1180 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_OUTPUT CInt where ioctlReq _ = c'VIDIOC_S_OUTPUT
c'VIDIOC_ENUMOUTPUT = 3225966128
c'VIDIOC_ENUMOUTPUT :: (Num a) => a

{-# LINE 1182 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_ENUMOUTPUT = C'VIDIOC_ENUMOUTPUT

{-# LINE 1183 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_ENUMOUTPUT C'v4l2_output where ioctlReq _ = c'VIDIOC_ENUMOUTPUT
c'VIDIOC_G_AUDOUT = 2150913585
c'VIDIOC_G_AUDOUT :: (Num a) => a

{-# LINE 1185 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_AUDOUT = C'VIDIOC_G_AUDOUT

{-# LINE 1186 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_AUDOUT C'v4l2_audioout where ioctlReq _ = c'VIDIOC_G_AUDOUT
c'VIDIOC_S_AUDOUT = 1077171762
c'VIDIOC_S_AUDOUT :: (Num a) => a

{-# LINE 1188 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_AUDOUT = C'VIDIOC_S_AUDOUT

{-# LINE 1189 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_AUDOUT C'v4l2_audioout where ioctlReq _ = c'VIDIOC_S_AUDOUT
c'VIDIOC_G_MODULATOR = 3225703990
c'VIDIOC_G_MODULATOR :: (Num a) => a

{-# LINE 1191 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_MODULATOR = C'VIDIOC_G_MODULATOR

{-# LINE 1192 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_MODULATOR C'v4l2_modulator where ioctlReq _ = c'VIDIOC_G_MODULATOR
c'VIDIOC_S_MODULATOR = 1078220343
c'VIDIOC_S_MODULATOR :: (Num a) => a

{-# LINE 1194 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_MODULATOR = C'VIDIOC_S_MODULATOR

{-# LINE 1195 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_MODULATOR C'v4l2_modulator where ioctlReq _ = c'VIDIOC_S_MODULATOR
c'VIDIOC_G_FREQUENCY = 3224131128
c'VIDIOC_G_FREQUENCY :: (Num a) => a

{-# LINE 1197 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_FREQUENCY = C'VIDIOC_G_FREQUENCY

{-# LINE 1198 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_FREQUENCY C'v4l2_frequency where ioctlReq _ = c'VIDIOC_G_FREQUENCY
c'VIDIOC_S_FREQUENCY = 1076647481
c'VIDIOC_S_FREQUENCY :: (Num a) => a

{-# LINE 1200 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_FREQUENCY = C'VIDIOC_S_FREQUENCY

{-# LINE 1201 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_FREQUENCY C'v4l2_frequency where ioctlReq _ = c'VIDIOC_S_FREQUENCY
c'VIDIOC_CROPCAP = 3224131130
c'VIDIOC_CROPCAP :: (Num a) => a

{-# LINE 1203 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_CROPCAP = C'VIDIOC_CROPCAP

{-# LINE 1204 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_CROPCAP C'v4l2_cropcap where ioctlReq _ = c'VIDIOC_CROPCAP
c'VIDIOC_G_CROP = 3222558267
c'VIDIOC_G_CROP :: (Num a) => a

{-# LINE 1206 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_CROP = C'VIDIOC_G_CROP

{-# LINE 1207 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_CROP C'v4l2_crop where ioctlReq _ = c'VIDIOC_G_CROP
c'VIDIOC_S_CROP = 1075074620
c'VIDIOC_S_CROP :: (Num a) => a

{-# LINE 1209 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_CROP = C'VIDIOC_S_CROP

{-# LINE 1210 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_CROP C'v4l2_crop where ioctlReq _ = c'VIDIOC_S_CROP
c'VIDIOC_G_JPEGCOMP = 2156680765
c'VIDIOC_G_JPEGCOMP :: (Num a) => a

{-# LINE 1212 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_JPEGCOMP = C'VIDIOC_G_JPEGCOMP

{-# LINE 1213 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_JPEGCOMP C'v4l2_jpegcompression where ioctlReq _ = c'VIDIOC_G_JPEGCOMP
c'VIDIOC_S_JPEGCOMP = 1082938942
c'VIDIOC_S_JPEGCOMP :: (Num a) => a

{-# LINE 1215 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_JPEGCOMP = C'VIDIOC_S_JPEGCOMP

{-# LINE 1216 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_JPEGCOMP C'v4l2_jpegcompression where ioctlReq _ = c'VIDIOC_S_JPEGCOMP
c'VIDIOC_QUERYSTD = 2148030015
c'VIDIOC_QUERYSTD :: (Num a) => a

{-# LINE 1218 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_QUERYSTD = C'VIDIOC_QUERYSTD

{-# LINE 1219 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_QUERYSTD C'v4l2_std_id where ioctlReq _ = c'VIDIOC_QUERYSTD
c'VIDIOC_TRY_FMT = 3234616896
c'VIDIOC_TRY_FMT :: (Num a) => a

{-# LINE 1221 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_TRY_FMT = C'VIDIOC_TRY_FMT

{-# LINE 1222 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_TRY_FMT C'v4l2_format where ioctlReq _ = c'VIDIOC_TRY_FMT
c'VIDIOC_ENUMAUDIO = 3224655425
c'VIDIOC_ENUMAUDIO :: (Num a) => a

{-# LINE 1224 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_ENUMAUDIO = C'VIDIOC_ENUMAUDIO

{-# LINE 1225 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_ENUMAUDIO C'v4l2_audio where ioctlReq _ = c'VIDIOC_ENUMAUDIO
c'VIDIOC_ENUMAUDOUT = 3224655426
c'VIDIOC_ENUMAUDOUT :: (Num a) => a

{-# LINE 1227 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_ENUMAUDOUT = C'VIDIOC_ENUMAUDOUT

{-# LINE 1228 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_ENUMAUDOUT C'v4l2_audioout where ioctlReq _ = c'VIDIOC_ENUMAUDOUT
c'VIDIOC_G_PRIORITY = 2147767875
c'VIDIOC_G_PRIORITY :: (Num a) => a

{-# LINE 1230 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_PRIORITY = C'VIDIOC_G_PRIORITY

{-# LINE 1231 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_PRIORITY C'v4l2_priority where ioctlReq _ = c'VIDIOC_G_PRIORITY
c'VIDIOC_S_PRIORITY = 1074026052
c'VIDIOC_S_PRIORITY :: (Num a) => a

{-# LINE 1233 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_PRIORITY = C'VIDIOC_S_PRIORITY

{-# LINE 1234 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_PRIORITY C'v4l2_priority where ioctlReq _ = c'VIDIOC_S_PRIORITY
c'VIDIOC_G_SLICED_VBI_CAP = 3228849733
c'VIDIOC_G_SLICED_VBI_CAP :: (Num a) => a

{-# LINE 1236 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_SLICED_VBI_CAP = C'VIDIOC_G_SLICED_VBI_CAP

{-# LINE 1237 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_SLICED_VBI_CAP C'v4l2_sliced_vbi_cap where ioctlReq _ = c'VIDIOC_G_SLICED_VBI_CAP
c'VIDIOC_LOG_STATUS = 22086
c'VIDIOC_LOG_STATUS :: (Num a) => a

{-# LINE 1239 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_LOG_STATUS = C'VIDIOC_LOG_STATUS

{-# LINE 1240 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_LOG_STATUS CInt where ioctlReq _ = c'VIDIOC_LOG_STATUS
c'VIDIOC_G_EXT_CTRLS = 3222820423
c'VIDIOC_G_EXT_CTRLS :: (Num a) => a

{-# LINE 1242 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_EXT_CTRLS = C'VIDIOC_G_EXT_CTRLS

{-# LINE 1243 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_EXT_CTRLS C'v4l2_ext_controls where ioctlReq _ = c'VIDIOC_G_EXT_CTRLS
c'VIDIOC_S_EXT_CTRLS = 3222820424
c'VIDIOC_S_EXT_CTRLS :: (Num a) => a

{-# LINE 1245 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_EXT_CTRLS = C'VIDIOC_S_EXT_CTRLS

{-# LINE 1246 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_EXT_CTRLS C'v4l2_ext_controls where ioctlReq _ = c'VIDIOC_S_EXT_CTRLS
c'VIDIOC_TRY_EXT_CTRLS = 3222820425
c'VIDIOC_TRY_EXT_CTRLS :: (Num a) => a

{-# LINE 1248 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_TRY_EXT_CTRLS = C'VIDIOC_TRY_EXT_CTRLS

{-# LINE 1249 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_TRY_EXT_CTRLS C'v4l2_ext_controls where ioctlReq _ = c'VIDIOC_TRY_EXT_CTRLS
c'VIDIOC_ENUM_FRAMESIZES = 3224131146
c'VIDIOC_ENUM_FRAMESIZES :: (Num a) => a

{-# LINE 1251 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_ENUM_FRAMESIZES = C'VIDIOC_ENUM_FRAMESIZES

{-# LINE 1252 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_ENUM_FRAMESIZES C'v4l2_frmsizeenum where ioctlReq _ = c'VIDIOC_ENUM_FRAMESIZES
c'VIDIOC_ENUM_FRAMEINTERVALS = 3224655435
c'VIDIOC_ENUM_FRAMEINTERVALS :: (Num a) => a

{-# LINE 1254 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_ENUM_FRAMEINTERVALS = C'VIDIOC_ENUM_FRAMEINTERVALS

{-# LINE 1255 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_ENUM_FRAMEINTERVALS C'v4l2_frmivalenum where ioctlReq _ = c'VIDIOC_ENUM_FRAMEINTERVALS
c'VIDIOC_G_ENC_INDEX = 2283296332
c'VIDIOC_G_ENC_INDEX :: (Num a) => a

{-# LINE 1257 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_ENC_INDEX = C'VIDIOC_G_ENC_INDEX

{-# LINE 1258 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_ENC_INDEX C'v4l2_enc_idx where ioctlReq _ = c'VIDIOC_G_ENC_INDEX
c'VIDIOC_ENCODER_CMD = 3223869005
c'VIDIOC_ENCODER_CMD :: (Num a) => a

{-# LINE 1260 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_ENCODER_CMD = C'VIDIOC_ENCODER_CMD

{-# LINE 1261 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_ENCODER_CMD C'v4l2_encoder_cmd where ioctlReq _ = c'VIDIOC_ENCODER_CMD
c'VIDIOC_TRY_ENCODER_CMD = 3223869006
c'VIDIOC_TRY_ENCODER_CMD :: (Num a) => a

{-# LINE 1263 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_TRY_ENCODER_CMD = C'VIDIOC_TRY_ENCODER_CMD

{-# LINE 1264 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_TRY_ENCODER_CMD C'v4l2_encoder_cmd where ioctlReq _ = c'VIDIOC_TRY_ENCODER_CMD
c'VIDIOC_DBG_S_REGISTER = 1077433935
c'VIDIOC_DBG_S_REGISTER :: (Num a) => a

{-# LINE 1266 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_DBG_S_REGISTER = C'VIDIOC_DBG_S_REGISTER

{-# LINE 1267 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_DBG_S_REGISTER C'v4l2_dbg_register where ioctlReq _ = c'VIDIOC_DBG_S_REGISTER
c'VIDIOC_DBG_G_REGISTER = 3224917584
c'VIDIOC_DBG_G_REGISTER :: (Num a) => a

{-# LINE 1269 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_DBG_G_REGISTER = C'VIDIOC_DBG_G_REGISTER

{-# LINE 1270 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_DBG_G_REGISTER C'v4l2_dbg_register where ioctlReq _ = c'VIDIOC_DBG_G_REGISTER
c'VIDIOC_DBG_G_CHIP_IDENT = 3224131153
c'VIDIOC_DBG_G_CHIP_IDENT :: (Num a) => a

{-# LINE 1272 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_DBG_G_CHIP_IDENT = C'VIDIOC_DBG_G_CHIP_IDENT

{-# LINE 1273 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_DBG_G_CHIP_IDENT C'v4l2_dbg_chip_ident where ioctlReq _ = c'VIDIOC_DBG_G_CHIP_IDENT
c'VIDIOC_S_HW_FREQ_SEEK = 1076909650
c'VIDIOC_S_HW_FREQ_SEEK :: (Num a) => a

{-# LINE 1275 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_HW_FREQ_SEEK = C'VIDIOC_S_HW_FREQ_SEEK

{-# LINE 1276 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_HW_FREQ_SEEK C'v4l2_hw_freq_seek where ioctlReq _ = c'VIDIOC_S_HW_FREQ_SEEK
c'VIDIOC_OVERLAY_OLD = 3221509646
c'VIDIOC_OVERLAY_OLD :: (Num a) => a

{-# LINE 1278 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_OVERLAY_OLD = C'VIDIOC_OVERLAY_OLD

{-# LINE 1279 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_OVERLAY_OLD CInt where ioctlReq _ = c'VIDIOC_OVERLAY_OLD
c'VIDIOC_S_PARM_OLD = 1087133206
c'VIDIOC_S_PARM_OLD :: (Num a) => a

{-# LINE 1281 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_PARM_OLD = C'VIDIOC_S_PARM_OLD

{-# LINE 1282 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_PARM_OLD C'v4l2_streamparm where ioctlReq _ = c'VIDIOC_S_PARM_OLD
c'VIDIOC_S_CTRL_OLD = 1074288156
c'VIDIOC_S_CTRL_OLD :: (Num a) => a

{-# LINE 1284 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_S_CTRL_OLD = C'VIDIOC_S_CTRL_OLD

{-# LINE 1285 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_S_CTRL_OLD C'v4l2_control where ioctlReq _ = c'VIDIOC_S_CTRL_OLD
c'VIDIOC_G_AUDIO_OLD = 3224655393
c'VIDIOC_G_AUDIO_OLD :: (Num a) => a

{-# LINE 1287 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_AUDIO_OLD = C'VIDIOC_G_AUDIO_OLD

{-# LINE 1288 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_AUDIO_OLD C'v4l2_audio where ioctlReq _ = c'VIDIOC_G_AUDIO_OLD
c'VIDIOC_G_AUDOUT_OLD = 3224655409
c'VIDIOC_G_AUDOUT_OLD :: (Num a) => a

{-# LINE 1290 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_G_AUDOUT_OLD = C'VIDIOC_G_AUDOUT_OLD

{-# LINE 1291 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_G_AUDOUT_OLD C'v4l2_audioout where ioctlReq _ = c'VIDIOC_G_AUDOUT_OLD
c'VIDIOC_CROPCAP_OLD = 2150389306
c'VIDIOC_CROPCAP_OLD :: (Num a) => a

{-# LINE 1293 "Bindings/Linux/VideoDev2.hsc" #-}
data C'VIDIOC_CROPCAP_OLD = C'VIDIOC_CROPCAP_OLD

{-# LINE 1294 "Bindings/Linux/VideoDev2.hsc" #-}
instance IOControl C'VIDIOC_CROPCAP_OLD C'v4l2_cropcap where ioctlReq _ = c'VIDIOC_CROPCAP_OLD
c'BASE_VIDIOC_PRIVATE = 192
c'BASE_VIDIOC_PRIVATE :: (Num a) => a

{-# LINE 1296 "Bindings/Linux/VideoDev2.hsc" #-}