{-# LINE 1 "src/Bindings/Hamlib/Rig.hsc" #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# LINE 2 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 3 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 4 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 5 "src/Bindings/Hamlib/Rig.hsc" #-}

module Bindings.Hamlib.Rig where
import Foreign.Ptr
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 9 "src/Bindings/Hamlib/Rig.hsc" #-}

foreign import ccall "&hamlib_version" p'hamlib_version
  :: Ptr (CChar)

{-# LINE 11 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "&hamlib_copyright" p'hamlib_copyright
  :: Ptr (CChar)

{-# LINE 12 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum rig_errcode_e {
    RIG_OK = 0,
    RIG_EINVAL,
    RIG_ECONF,
    RIG_ENOMEM,
    RIG_ENIMPL,
    RIG_ETIMEOUT,
    RIG_EIO,
    RIG_EINTERNAL,
    RIG_EPROTO,
    RIG_ERJCTED,
    RIG_ETRUNC,
    RIG_ENAVAIL,
    RIG_ENTARGET,
    RIG_BUSERROR,
    RIG_BUSBUSY,
    RIG_EARG,
    RIG_EVFO,
    RIG_EDOM
}; -}
type C'rig_errcode_e = CUInt

{-# LINE 33 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OK = 0
c'RIG_OK :: (Num a) => a

{-# LINE 34 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_EINVAL = 1
c'RIG_EINVAL :: (Num a) => a

{-# LINE 35 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ECONF = 2
c'RIG_ECONF :: (Num a) => a

{-# LINE 36 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ENOMEM = 3
c'RIG_ENOMEM :: (Num a) => a

{-# LINE 37 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ENIMPL = 4
c'RIG_ENIMPL :: (Num a) => a

{-# LINE 38 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ETIMEOUT = 5
c'RIG_ETIMEOUT :: (Num a) => a

{-# LINE 39 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_EIO = 6
c'RIG_EIO :: (Num a) => a

{-# LINE 40 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_EINTERNAL = 7
c'RIG_EINTERNAL :: (Num a) => a

{-# LINE 41 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_EPROTO = 8
c'RIG_EPROTO :: (Num a) => a

{-# LINE 42 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ERJCTED = 9
c'RIG_ERJCTED :: (Num a) => a

{-# LINE 43 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ETRUNC = 10
c'RIG_ETRUNC :: (Num a) => a

{-# LINE 44 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ENAVAIL = 11
c'RIG_ENAVAIL :: (Num a) => a

{-# LINE 45 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ENTARGET = 12
c'RIG_ENTARGET :: (Num a) => a

{-# LINE 46 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_BUSERROR = 13
c'RIG_BUSERROR :: (Num a) => a

{-# LINE 47 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_BUSBUSY = 14
c'RIG_BUSBUSY :: (Num a) => a

{-# LINE 48 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_EARG = 15
c'RIG_EARG :: (Num a) => a

{-# LINE 49 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_EVFO = 16
c'RIG_EVFO :: (Num a) => a

{-# LINE 50 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_EDOM = 17
c'RIG_EDOM :: (Num a) => a

{-# LINE 51 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum rig_debug_level_e {
    RIG_DEBUG_NONE = 0,
    RIG_DEBUG_BUG,
    RIG_DEBUG_ERR,
    RIG_DEBUG_WARN,
    RIG_DEBUG_VERBOSE,
    RIG_DEBUG_TRACE
}; -}
type C'rig_debug_level_e = CUInt

{-# LINE 60 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DEBUG_NONE = 0
c'RIG_DEBUG_NONE :: (Num a) => a

{-# LINE 61 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DEBUG_BUG = 1
c'RIG_DEBUG_BUG :: (Num a) => a

{-# LINE 62 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DEBUG_ERR = 2
c'RIG_DEBUG_ERR :: (Num a) => a

{-# LINE 63 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DEBUG_WARN = 3
c'RIG_DEBUG_WARN :: (Num a) => a

{-# LINE 64 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DEBUG_VERBOSE = 4
c'RIG_DEBUG_VERBOSE :: (Num a) => a

{-# LINE 65 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DEBUG_TRACE = 5
c'RIG_DEBUG_TRACE :: (Num a) => a

{-# LINE 66 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'RIG = C'rig

{-# LINE 67 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef unsigned int tone_t; -}
type C'tone_t = CUInt

{-# LINE 69 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum rig_port_e {
            RIG_PORT_NONE = 0,
            RIG_PORT_SERIAL,
            RIG_PORT_NETWORK,
            RIG_PORT_DEVICE,
            RIG_PORT_PACKET,
            RIG_PORT_DTMF,
            RIG_PORT_ULTRA,
            RIG_PORT_RPC,
            RIG_PORT_PARALLEL,
            RIG_PORT_USB,
            RIG_PORT_UDP_NETWORK,
            RIG_PORT_CM108
        } rig_port_t; -}
type C'rig_port_e = CUInt

{-# LINE 84 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_NONE = 0
c'RIG_PORT_NONE :: (Num a) => a

{-# LINE 85 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_SERIAL = 1
c'RIG_PORT_SERIAL :: (Num a) => a

{-# LINE 86 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_NETWORK = 2
c'RIG_PORT_NETWORK :: (Num a) => a

{-# LINE 87 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_DEVICE = 3
c'RIG_PORT_DEVICE :: (Num a) => a

{-# LINE 88 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_PACKET = 4
c'RIG_PORT_PACKET :: (Num a) => a

{-# LINE 89 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_DTMF = 5
c'RIG_PORT_DTMF :: (Num a) => a

{-# LINE 90 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_ULTRA = 6
c'RIG_PORT_ULTRA :: (Num a) => a

{-# LINE 91 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_RPC = 7
c'RIG_PORT_RPC :: (Num a) => a

{-# LINE 92 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_PARALLEL = 8
c'RIG_PORT_PARALLEL :: (Num a) => a

{-# LINE 93 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_USB = 9
c'RIG_PORT_USB :: (Num a) => a

{-# LINE 94 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_UDP_NETWORK = 10
c'RIG_PORT_UDP_NETWORK :: (Num a) => a

{-# LINE 95 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PORT_CM108 = 11
c'RIG_PORT_CM108 :: (Num a) => a

{-# LINE 96 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'rig_port_t = C'rig_port_e

{-# LINE 97 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum serial_parity_e {
    RIG_PARITY_NONE = 0,
    RIG_PARITY_ODD,
    RIG_PARITY_EVEN,
    RIG_PARITY_MARK,
    RIG_PARITY_SPACE
}; -}
type C'serial_parity_e = CUInt

{-# LINE 105 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARITY_NONE = 0
c'RIG_PARITY_NONE :: (Num a) => a

{-# LINE 106 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARITY_ODD = 1
c'RIG_PARITY_ODD :: (Num a) => a

{-# LINE 107 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARITY_EVEN = 2
c'RIG_PARITY_EVEN :: (Num a) => a

{-# LINE 108 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARITY_MARK = 3
c'RIG_PARITY_MARK :: (Num a) => a

{-# LINE 109 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARITY_SPACE = 4
c'RIG_PARITY_SPACE :: (Num a) => a

{-# LINE 110 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum serial_handshake_e {
    RIG_HANDSHAKE_NONE = 0,
    RIG_HANDSHAKE_XONXOFF,
    RIG_HANDSHAKE_HARDWARE
}; -}
type C'serial_handshake_e = CUInt

{-# LINE 116 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_HANDSHAKE_NONE = 0
c'RIG_HANDSHAKE_NONE :: (Num a) => a

{-# LINE 117 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_HANDSHAKE_XONXOFF = 1
c'RIG_HANDSHAKE_XONXOFF :: (Num a) => a

{-# LINE 118 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_HANDSHAKE_HARDWARE = 2
c'RIG_HANDSHAKE_HARDWARE :: (Num a) => a

{-# LINE 119 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum serial_control_state_e {
    RIG_SIGNAL_UNSET = 0, RIG_SIGNAL_ON, RIG_SIGNAL_OFF
}; -}
type C'serial_control_state_e = CUInt

{-# LINE 123 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SIGNAL_UNSET = 0
c'RIG_SIGNAL_UNSET :: (Num a) => a

{-# LINE 124 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SIGNAL_ON = 1
c'RIG_SIGNAL_ON :: (Num a) => a

{-# LINE 125 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SIGNAL_OFF = 2
c'RIG_SIGNAL_OFF :: (Num a) => a

{-# LINE 126 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_FLAG_RECEIVER = 1 << 1,
            RIG_FLAG_TRANSMITTER = 1 << 2,
            RIG_FLAG_SCANNER = 1 << 3,
            RIG_FLAG_MOBILE = 1 << 4,
            RIG_FLAG_HANDHELD = 1 << 5,
            RIG_FLAG_COMPUTER = 1 << 6,
            RIG_FLAG_TRUNKING = 1 << 7,
            RIG_FLAG_APRS = 1 << 8,
            RIG_FLAG_TNC = 1 << 9,
            RIG_FLAG_DXCLUSTER = 1 << 10,
            RIG_FLAG_TUNER = 1 << 11
        } rig_type_t; -}
type C'rig_type_t = CUInt

{-# LINE 140 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FLAG_RECEIVER = 2
c'RIG_FLAG_RECEIVER :: (Num a) => a

{-# LINE 141 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FLAG_TRANSMITTER = 4
c'RIG_FLAG_TRANSMITTER :: (Num a) => a

{-# LINE 142 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FLAG_SCANNER = 8
c'RIG_FLAG_SCANNER :: (Num a) => a

{-# LINE 143 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FLAG_MOBILE = 16
c'RIG_FLAG_MOBILE :: (Num a) => a

{-# LINE 144 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FLAG_HANDHELD = 32
c'RIG_FLAG_HANDHELD :: (Num a) => a

{-# LINE 145 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FLAG_COMPUTER = 64
c'RIG_FLAG_COMPUTER :: (Num a) => a

{-# LINE 146 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FLAG_TRUNKING = 128
c'RIG_FLAG_TRUNKING :: (Num a) => a

{-# LINE 147 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FLAG_APRS = 256
c'RIG_FLAG_APRS :: (Num a) => a

{-# LINE 148 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FLAG_TNC = 512
c'RIG_FLAG_TNC :: (Num a) => a

{-# LINE 149 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FLAG_DXCLUSTER = 1024
c'RIG_FLAG_DXCLUSTER :: (Num a) => a

{-# LINE 150 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FLAG_TUNER = 2048
c'RIG_FLAG_TUNER :: (Num a) => a

{-# LINE 151 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum rig_status_e {
    RIG_STATUS_ALPHA = 0,
    RIG_STATUS_UNTESTED,
    RIG_STATUS_BETA,
    RIG_STATUS_STABLE,
    RIG_STATUS_BUGGY
}; -}
type C'rig_status_e = CUInt

{-# LINE 159 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_STATUS_ALPHA = 0
c'RIG_STATUS_ALPHA :: (Num a) => a

{-# LINE 160 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_STATUS_UNTESTED = 1
c'RIG_STATUS_UNTESTED :: (Num a) => a

{-# LINE 161 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_STATUS_BETA = 2
c'RIG_STATUS_BETA :: (Num a) => a

{-# LINE 162 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_STATUS_STABLE = 3
c'RIG_STATUS_STABLE :: (Num a) => a

{-# LINE 163 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_STATUS_BUGGY = 4
c'RIG_STATUS_BUGGY :: (Num a) => a

{-# LINE 164 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_RPT_SHIFT_NONE = 0, RIG_RPT_SHIFT_MINUS, RIG_RPT_SHIFT_PLUS
        } rptr_shift_t; -}
type C'rptr_shift_t = CUInt

{-# LINE 168 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_RPT_SHIFT_NONE = 0
c'RIG_RPT_SHIFT_NONE :: (Num a) => a

{-# LINE 169 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_RPT_SHIFT_MINUS = 1
c'RIG_RPT_SHIFT_MINUS :: (Num a) => a

{-# LINE 170 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_RPT_SHIFT_PLUS = 2
c'RIG_RPT_SHIFT_PLUS :: (Num a) => a

{-# LINE 171 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_SPLIT_OFF = 0, RIG_SPLIT_ON
        } split_t; -}
type C'split_t = CUInt

{-# LINE 175 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SPLIT_OFF = 0
c'RIG_SPLIT_OFF :: (Num a) => a

{-# LINE 176 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SPLIT_ON = 1
c'RIG_SPLIT_ON :: (Num a) => a

{-# LINE 177 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef double freq_t; -}
type C'freq_t = CDouble

{-# LINE 179 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef signed long shortfreq_t; -}
type C'shortfreq_t = CLong

{-# LINE 181 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef int vfo_t; -}
type C'vfo_t = CInt

{-# LINE 183 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef shortfreq_t pbwidth_t; -}
type C'pbwidth_t = CLong

{-# LINE 185 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum dcd_e {
            RIG_DCD_OFF = 0, RIG_DCD_ON
        } dcd_t; -}
type C'dcd_e = CUInt

{-# LINE 189 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DCD_OFF = 0
c'RIG_DCD_OFF :: (Num a) => a

{-# LINE 190 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DCD_ON = 1
c'RIG_DCD_ON :: (Num a) => a

{-# LINE 191 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'dcd_t = C'dcd_e

{-# LINE 192 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_DCD_NONE = 0,
            RIG_DCD_RIG,
            RIG_DCD_SERIAL_DSR,
            RIG_DCD_SERIAL_CTS,
            RIG_DCD_SERIAL_CAR,
            RIG_DCD_PARALLEL,
            RIG_DCD_CM108
        } dcd_type_t; -}
type C'dcd_type_t = CUInt

{-# LINE 202 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DCD_NONE = 0
c'RIG_DCD_NONE :: (Num a) => a

{-# LINE 203 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DCD_RIG = 1
c'RIG_DCD_RIG :: (Num a) => a

{-# LINE 204 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DCD_SERIAL_DSR = 2
c'RIG_DCD_SERIAL_DSR :: (Num a) => a

{-# LINE 205 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DCD_SERIAL_CTS = 3
c'RIG_DCD_SERIAL_CTS :: (Num a) => a

{-# LINE 206 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DCD_SERIAL_CAR = 4
c'RIG_DCD_SERIAL_CAR :: (Num a) => a

{-# LINE 207 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DCD_PARALLEL = 5
c'RIG_DCD_PARALLEL :: (Num a) => a

{-# LINE 208 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_DCD_CM108 = 6
c'RIG_DCD_CM108 :: (Num a) => a

{-# LINE 209 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_PTT_OFF = 0, RIG_PTT_ON, RIG_PTT_ON_MIC, RIG_PTT_ON_DATA
        } ptt_t; -}
type C'ptt_t = CUInt

{-# LINE 213 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PTT_OFF = 0
c'RIG_PTT_OFF :: (Num a) => a

{-# LINE 214 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PTT_ON = 1
c'RIG_PTT_ON :: (Num a) => a

{-# LINE 215 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PTT_ON_MIC = 2
c'RIG_PTT_ON_MIC :: (Num a) => a

{-# LINE 216 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PTT_ON_DATA = 3
c'RIG_PTT_ON_DATA :: (Num a) => a

{-# LINE 217 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_PTT_NONE = 0,
            RIG_PTT_RIG,
            RIG_PTT_SERIAL_DTR,
            RIG_PTT_SERIAL_RTS,
            RIG_PTT_PARALLEL,
            RIG_PTT_RIG_MICDATA,
            RIG_PTT_CM108
        } ptt_type_t; -}
type C'ptt_type_t = CUInt

{-# LINE 227 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PTT_NONE = 0
c'RIG_PTT_NONE :: (Num a) => a

{-# LINE 228 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PTT_RIG = 1
c'RIG_PTT_RIG :: (Num a) => a

{-# LINE 229 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PTT_SERIAL_DTR = 2
c'RIG_PTT_SERIAL_DTR :: (Num a) => a

{-# LINE 230 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PTT_SERIAL_RTS = 3
c'RIG_PTT_SERIAL_RTS :: (Num a) => a

{-# LINE 231 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PTT_PARALLEL = 4
c'RIG_PTT_PARALLEL :: (Num a) => a

{-# LINE 232 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PTT_RIG_MICDATA = 5
c'RIG_PTT_RIG_MICDATA :: (Num a) => a

{-# LINE 233 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PTT_CM108 = 6
c'RIG_PTT_CM108 :: (Num a) => a

{-# LINE 234 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_POWER_OFF = 0,
            RIG_POWER_ON = 1 << 0,
            RIG_POWER_STANDBY = 1 << 1
        } powerstat_t; -}
type C'powerstat_t = CUInt

{-# LINE 240 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_POWER_OFF = 0
c'RIG_POWER_OFF :: (Num a) => a

{-# LINE 241 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_POWER_ON = 1
c'RIG_POWER_ON :: (Num a) => a

{-# LINE 242 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_POWER_STANDBY = 2
c'RIG_POWER_STANDBY :: (Num a) => a

{-# LINE 243 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_RESET_NONE = 0,
            RIG_RESET_SOFT = 1 << 0,
            RIG_RESET_VFO = 1 << 1,
            RIG_RESET_MCALL = 1 << 2,
            RIG_RESET_MASTER = 1 << 3
        } reset_t; -}
type C'reset_t = CUInt

{-# LINE 251 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_RESET_NONE = 0
c'RIG_RESET_NONE :: (Num a) => a

{-# LINE 252 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_RESET_SOFT = 1
c'RIG_RESET_SOFT :: (Num a) => a

{-# LINE 253 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_RESET_VFO = 2
c'RIG_RESET_VFO :: (Num a) => a

{-# LINE 254 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_RESET_MCALL = 4
c'RIG_RESET_MCALL :: (Num a) => a

{-# LINE 255 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_RESET_MASTER = 8
c'RIG_RESET_MASTER :: (Num a) => a

{-# LINE 256 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_OP_NONE = 0,
            RIG_OP_CPY = 1 << 0,
            RIG_OP_XCHG = 1 << 1,
            RIG_OP_FROM_VFO = 1 << 2,
            RIG_OP_TO_VFO = 1 << 3,
            RIG_OP_MCL = 1 << 4,
            RIG_OP_UP = 1 << 5,
            RIG_OP_DOWN = 1 << 6,
            RIG_OP_BAND_UP = 1 << 7,
            RIG_OP_BAND_DOWN = 1 << 8,
            RIG_OP_LEFT = 1 << 9,
            RIG_OP_RIGHT = 1 << 10,
            RIG_OP_TUNE = 1 << 11,
            RIG_OP_TOGGLE = 1 << 12
        } vfo_op_t; -}
type C'vfo_op_t = CUInt

{-# LINE 273 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_NONE = 0
c'RIG_OP_NONE :: (Num a) => a

{-# LINE 274 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_CPY = 1
c'RIG_OP_CPY :: (Num a) => a

{-# LINE 275 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_XCHG = 2
c'RIG_OP_XCHG :: (Num a) => a

{-# LINE 276 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_FROM_VFO = 4
c'RIG_OP_FROM_VFO :: (Num a) => a

{-# LINE 277 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_TO_VFO = 8
c'RIG_OP_TO_VFO :: (Num a) => a

{-# LINE 278 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_MCL = 16
c'RIG_OP_MCL :: (Num a) => a

{-# LINE 279 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_UP = 32
c'RIG_OP_UP :: (Num a) => a

{-# LINE 280 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_DOWN = 64
c'RIG_OP_DOWN :: (Num a) => a

{-# LINE 281 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_BAND_UP = 128
c'RIG_OP_BAND_UP :: (Num a) => a

{-# LINE 282 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_BAND_DOWN = 256
c'RIG_OP_BAND_DOWN :: (Num a) => a

{-# LINE 283 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_LEFT = 512
c'RIG_OP_LEFT :: (Num a) => a

{-# LINE 284 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_RIGHT = 1024
c'RIG_OP_RIGHT :: (Num a) => a

{-# LINE 285 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_TUNE = 2048
c'RIG_OP_TUNE :: (Num a) => a

{-# LINE 286 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_OP_TOGGLE = 4096
c'RIG_OP_TOGGLE :: (Num a) => a

{-# LINE 287 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_SCAN_NONE = 0,
            RIG_SCAN_STOP = RIG_SCAN_NONE,
            RIG_SCAN_MEM = 1 << 0,
            RIG_SCAN_SLCT = 1 << 1,
            RIG_SCAN_PRIO = 1 << 2,
            RIG_SCAN_PROG = 1 << 3,
            RIG_SCAN_DELTA = 1 << 4,
            RIG_SCAN_VFO = 1 << 5,
            RIG_SCAN_PLT = 1 << 6
        } scan_t; -}
type C'scan_t = CUInt

{-# LINE 299 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SCAN_NONE = 0
c'RIG_SCAN_NONE :: (Num a) => a

{-# LINE 300 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SCAN_STOP = 0
c'RIG_SCAN_STOP :: (Num a) => a

{-# LINE 301 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SCAN_MEM = 1
c'RIG_SCAN_MEM :: (Num a) => a

{-# LINE 302 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SCAN_SLCT = 2
c'RIG_SCAN_SLCT :: (Num a) => a

{-# LINE 303 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SCAN_PRIO = 4
c'RIG_SCAN_PRIO :: (Num a) => a

{-# LINE 304 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SCAN_PROG = 8
c'RIG_SCAN_PROG :: (Num a) => a

{-# LINE 305 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SCAN_DELTA = 16
c'RIG_SCAN_DELTA :: (Num a) => a

{-# LINE 306 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SCAN_VFO = 32
c'RIG_SCAN_VFO :: (Num a) => a

{-# LINE 307 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_SCAN_PLT = 64
c'RIG_SCAN_PLT :: (Num a) => a

{-# LINE 308 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef long token_t; -}
type C'token_t = CLong

{-# LINE 310 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum rig_conf_e {
    RIG_CONF_STRING,
    RIG_CONF_COMBO,
    RIG_CONF_NUMERIC,
    RIG_CONF_CHECKBUTTON,
    RIG_CONF_BUTTON
}; -}
type C'rig_conf_e = CUInt

{-# LINE 318 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_CONF_STRING = 0
c'RIG_CONF_STRING :: (Num a) => a

{-# LINE 319 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_CONF_COMBO = 1
c'RIG_CONF_COMBO :: (Num a) => a

{-# LINE 320 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_CONF_NUMERIC = 2
c'RIG_CONF_NUMERIC :: (Num a) => a

{-# LINE 321 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_CONF_CHECKBUTTON = 3
c'RIG_CONF_CHECKBUTTON :: (Num a) => a

{-# LINE 322 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_CONF_BUTTON = 4
c'RIG_CONF_BUTTON :: (Num a) => a

{-# LINE 323 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct confparams {
    token_t token;
    const char * name;
    const char * label;
    const char * tooltip;
    const char * dflt;
    enum rig_conf_e type;
    union u {
        struct n {
            float min; float max; float step;
        } n;
        struct c {
            const char * combostr[8];
        } c;
    } u;
}; -}


{-# LINE 341 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 342 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 343 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 344 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'n = C'n{
  c'n'min :: CFloat,
  c'n'max :: CFloat,
  c'n'step :: CFloat
} deriving (Eq,Show)
p'n'min p = plusPtr p 0
p'n'min :: Ptr (C'n) -> Ptr (CFloat)
p'n'max p = plusPtr p 4
p'n'max :: Ptr (C'n) -> Ptr (CFloat)
p'n'step p = plusPtr p 8
p'n'step :: Ptr (C'n) -> Ptr (CFloat)
instance Storable C'n where
  sizeOf _ = 12
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    return $ C'n v0 v1 v2
  poke p (C'n v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    return ()

{-# LINE 345 "src/Bindings/Hamlib/Rig.hsc" #-}


{-# LINE 347 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 348 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'c = C'c{
  c'c'combostr :: CString
} deriving (Eq,Show)
p'c'combostr p = plusPtr p 0
p'c'combostr :: Ptr (C'c) -> Ptr (CString)
instance Storable C'c where
  sizeOf _ = 64
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'c v0
  poke p (C'c v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 349 "src/Bindings/Hamlib/Rig.hsc" #-}


{-# LINE 351 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 352 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 353 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'u = C'u{
  c'u'n :: C'n,
  c'u'c :: C'c
} deriving (Eq,Show)
p'u'n p = plusPtr p 0
p'u'n :: Ptr (C'u) -> Ptr (C'n)
p'u'c p = plusPtr p 0
p'u'c :: Ptr (C'u) -> Ptr (C'c)
instance Storable C'u where
  sizeOf _ = 64
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    return $ C'u v0 v1
  poke p (C'u v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    return ()

{-# LINE 354 "src/Bindings/Hamlib/Rig.hsc" #-}


{-# LINE 356 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 357 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 358 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 359 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 360 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 361 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 362 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 363 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'confparams = C'confparams{
  c'confparams'token :: CLong,
  c'confparams'name :: CString,
  c'confparams'label :: CString,
  c'confparams'tooltip :: CString,
  c'confparams'dflt :: CString,
  c'confparams'type :: C'rig_conf_e,
  c'confparams'u :: C'u
} deriving (Eq,Show)
p'confparams'token p = plusPtr p 0
p'confparams'token :: Ptr (C'confparams) -> Ptr (CLong)
p'confparams'name p = plusPtr p 8
p'confparams'name :: Ptr (C'confparams) -> Ptr (CString)
p'confparams'label p = plusPtr p 16
p'confparams'label :: Ptr (C'confparams) -> Ptr (CString)
p'confparams'tooltip p = plusPtr p 24
p'confparams'tooltip :: Ptr (C'confparams) -> Ptr (CString)
p'confparams'dflt p = plusPtr p 32
p'confparams'dflt :: Ptr (C'confparams) -> Ptr (CString)
p'confparams'type p = plusPtr p 40
p'confparams'type :: Ptr (C'confparams) -> Ptr (C'rig_conf_e)
p'confparams'u p = plusPtr p 48
p'confparams'u :: Ptr (C'confparams) -> Ptr (C'u)
instance Storable C'confparams where
  sizeOf _ = 112
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 16
    v3 <- peekByteOff p 24
    v4 <- peekByteOff p 32
    v5 <- peekByteOff p 40
    v6 <- peekByteOff p 48
    return $ C'confparams v0 v1 v2 v3 v4 v5 v6
  poke p (C'confparams v0 v1 v2 v3 v4 v5 v6) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 16 v2
    pokeByteOff p 24 v3
    pokeByteOff p 32 v4
    pokeByteOff p 40 v5
    pokeByteOff p 48 v6
    return ()

{-# LINE 364 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_ANN_NONE = 0,
            RIG_ANN_OFF = RIG_ANN_NONE,
            RIG_ANN_FREQ = 1 << 0,
            RIG_ANN_RXMODE = 1 << 1,
            RIG_ANN_CW = 1 << 2,
            RIG_ANN_ENG = 1 << 3,
            RIG_ANN_JAP = 1 << 4
        } ann_t; -}
type C'ann_t = CUInt

{-# LINE 374 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ANN_NONE = 0
c'RIG_ANN_NONE :: (Num a) => a

{-# LINE 375 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ANN_OFF = 0
c'RIG_ANN_OFF :: (Num a) => a

{-# LINE 376 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ANN_FREQ = 1
c'RIG_ANN_FREQ :: (Num a) => a

{-# LINE 377 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ANN_RXMODE = 2
c'RIG_ANN_RXMODE :: (Num a) => a

{-# LINE 378 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ANN_CW = 4
c'RIG_ANN_CW :: (Num a) => a

{-# LINE 379 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ANN_ENG = 8
c'RIG_ANN_ENG :: (Num a) => a

{-# LINE 380 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_ANN_JAP = 16
c'RIG_ANN_JAP :: (Num a) => a

{-# LINE 381 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef int ant_t; -}
type C'ant_t = CInt

{-# LINE 383 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum agc_level_e {
    RIG_AGC_OFF = 0,
    RIG_AGC_SUPERFAST,
    RIG_AGC_FAST,
    RIG_AGC_SLOW,
    RIG_AGC_USER,
    RIG_AGC_MEDIUM,
    RIG_AGC_AUTO
}; -}
type C'agc_level_e = CUInt

{-# LINE 393 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_AGC_OFF = 0
c'RIG_AGC_OFF :: (Num a) => a

{-# LINE 394 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_AGC_SUPERFAST = 1
c'RIG_AGC_SUPERFAST :: (Num a) => a

{-# LINE 395 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_AGC_FAST = 2
c'RIG_AGC_FAST :: (Num a) => a

{-# LINE 396 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_AGC_SLOW = 3
c'RIG_AGC_SLOW :: (Num a) => a

{-# LINE 397 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_AGC_USER = 4
c'RIG_AGC_USER :: (Num a) => a

{-# LINE 398 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_AGC_MEDIUM = 5
c'RIG_AGC_MEDIUM :: (Num a) => a

{-# LINE 399 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_AGC_AUTO = 6
c'RIG_AGC_AUTO :: (Num a) => a

{-# LINE 400 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum meter_level_e {
    RIG_METER_NONE = 0,
    RIG_METER_SWR = 1 << 0,
    RIG_METER_COMP = 1 << 1,
    RIG_METER_ALC = 1 << 2,
    RIG_METER_IC = 1 << 3,
    RIG_METER_DB = 1 << 4,
    RIG_METER_PO = 1 << 5,
    RIG_METER_VDD = 1 << 6
}; -}
type C'meter_level_e = CUInt

{-# LINE 411 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_METER_NONE = 0
c'RIG_METER_NONE :: (Num a) => a

{-# LINE 412 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_METER_SWR = 1
c'RIG_METER_SWR :: (Num a) => a

{-# LINE 413 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_METER_COMP = 2
c'RIG_METER_COMP :: (Num a) => a

{-# LINE 414 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_METER_ALC = 4
c'RIG_METER_ALC :: (Num a) => a

{-# LINE 415 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_METER_IC = 8
c'RIG_METER_IC :: (Num a) => a

{-# LINE 416 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_METER_DB = 16
c'RIG_METER_DB :: (Num a) => a

{-# LINE 417 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_METER_PO = 32
c'RIG_METER_PO :: (Num a) => a

{-# LINE 418 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_METER_VDD = 64
c'RIG_METER_VDD :: (Num a) => a

{-# LINE 419 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef union {
            signed int i; float f; char * s; const char * cs;
        } value_t; -}

{-# LINE 423 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 424 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 425 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 426 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 427 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'value_t = C'value_t{
  c'value_t'i :: CInt,
  c'value_t'f :: CFloat,
  c'value_t's :: CString,
  c'value_t'cs :: CString
} deriving (Eq,Show)
p'value_t'i p = plusPtr p 0
p'value_t'i :: Ptr (C'value_t) -> Ptr (CInt)
p'value_t'f p = plusPtr p 0
p'value_t'f :: Ptr (C'value_t) -> Ptr (CFloat)
p'value_t's p = plusPtr p 0
p'value_t's :: Ptr (C'value_t) -> Ptr (CString)
p'value_t'cs p = plusPtr p 0
p'value_t'cs :: Ptr (C'value_t) -> Ptr (CString)
instance Storable C'value_t where
  sizeOf _ = 8
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    v2 <- peekByteOff p 0
    v3 <- peekByteOff p 0
    return $ C'value_t v0 v1 v2 v3
  poke p (C'value_t v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    pokeByteOff p 0 v2
    pokeByteOff p 0 v3
    return ()

{-# LINE 428 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum rig_level_e {
    RIG_LEVEL_NONE = 0,
    RIG_LEVEL_PREAMP = 1 << 0,
    RIG_LEVEL_ATT = 1 << 1,
    RIG_LEVEL_VOX = 1 << 2,
    RIG_LEVEL_AF = 1 << 3,
    RIG_LEVEL_RF = 1 << 4,
    RIG_LEVEL_SQL = 1 << 5,
    RIG_LEVEL_IF = 1 << 6,
    RIG_LEVEL_APF = 1 << 7,
    RIG_LEVEL_NR = 1 << 8,
    RIG_LEVEL_PBT_IN = 1 << 9,
    RIG_LEVEL_PBT_OUT = 1 << 10,
    RIG_LEVEL_CWPITCH = 1 << 11,
    RIG_LEVEL_RFPOWER = 1 << 12,
    RIG_LEVEL_MICGAIN = 1 << 13,
    RIG_LEVEL_KEYSPD = 1 << 14,
    RIG_LEVEL_NOTCHF = 1 << 15,
    RIG_LEVEL_COMP = 1 << 16,
    RIG_LEVEL_AGC = 1 << 17,
    RIG_LEVEL_BKINDL = 1 << 18,
    RIG_LEVEL_BALANCE = 1 << 19,
    RIG_LEVEL_METER = 1 << 20,
    RIG_LEVEL_VOXGAIN = 1 << 21,
    RIG_LEVEL_VOXDELAY = RIG_LEVEL_VOX,
    RIG_LEVEL_ANTIVOX = 1 << 22,
    RIG_LEVEL_SLOPE_LOW = 1 << 23,
    RIG_LEVEL_SLOPE_HIGH = 1 << 24,
    RIG_LEVEL_BKIN_DLYMS = 1 << 25,
    RIG_LEVEL_RAWSTR = 1 << 26,
    RIG_LEVEL_SQLSTAT = 1 << 27,
    RIG_LEVEL_SWR = 1 << 28,
    RIG_LEVEL_ALC = 1 << 29,
    RIG_LEVEL_STRENGTH = 1 << 30
}; -}
type C'rig_level_e = CUInt

{-# LINE 464 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_NONE = 0
c'RIG_LEVEL_NONE :: (Num a) => a

{-# LINE 465 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_PREAMP = 1
c'RIG_LEVEL_PREAMP :: (Num a) => a

{-# LINE 466 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_ATT = 2
c'RIG_LEVEL_ATT :: (Num a) => a

{-# LINE 467 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_VOX = 4
c'RIG_LEVEL_VOX :: (Num a) => a

{-# LINE 468 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_AF = 8
c'RIG_LEVEL_AF :: (Num a) => a

{-# LINE 469 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_RF = 16
c'RIG_LEVEL_RF :: (Num a) => a

{-# LINE 470 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_SQL = 32
c'RIG_LEVEL_SQL :: (Num a) => a

{-# LINE 471 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_IF = 64
c'RIG_LEVEL_IF :: (Num a) => a

{-# LINE 472 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_APF = 128
c'RIG_LEVEL_APF :: (Num a) => a

{-# LINE 473 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_NR = 256
c'RIG_LEVEL_NR :: (Num a) => a

{-# LINE 474 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_PBT_IN = 512
c'RIG_LEVEL_PBT_IN :: (Num a) => a

{-# LINE 475 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_PBT_OUT = 1024
c'RIG_LEVEL_PBT_OUT :: (Num a) => a

{-# LINE 476 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_CWPITCH = 2048
c'RIG_LEVEL_CWPITCH :: (Num a) => a

{-# LINE 477 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_RFPOWER = 4096
c'RIG_LEVEL_RFPOWER :: (Num a) => a

{-# LINE 478 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_MICGAIN = 8192
c'RIG_LEVEL_MICGAIN :: (Num a) => a

{-# LINE 479 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_KEYSPD = 16384
c'RIG_LEVEL_KEYSPD :: (Num a) => a

{-# LINE 480 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_NOTCHF = 32768
c'RIG_LEVEL_NOTCHF :: (Num a) => a

{-# LINE 481 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_COMP = 65536
c'RIG_LEVEL_COMP :: (Num a) => a

{-# LINE 482 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_AGC = 131072
c'RIG_LEVEL_AGC :: (Num a) => a

{-# LINE 483 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_BKINDL = 262144
c'RIG_LEVEL_BKINDL :: (Num a) => a

{-# LINE 484 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_BALANCE = 524288
c'RIG_LEVEL_BALANCE :: (Num a) => a

{-# LINE 485 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_METER = 1048576
c'RIG_LEVEL_METER :: (Num a) => a

{-# LINE 486 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_VOXGAIN = 2097152
c'RIG_LEVEL_VOXGAIN :: (Num a) => a

{-# LINE 487 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_VOXDELAY = 4
c'RIG_LEVEL_VOXDELAY :: (Num a) => a

{-# LINE 488 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_ANTIVOX = 4194304
c'RIG_LEVEL_ANTIVOX :: (Num a) => a

{-# LINE 489 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_SLOPE_LOW = 8388608
c'RIG_LEVEL_SLOPE_LOW :: (Num a) => a

{-# LINE 490 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_SLOPE_HIGH = 16777216
c'RIG_LEVEL_SLOPE_HIGH :: (Num a) => a

{-# LINE 491 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_BKIN_DLYMS = 33554432
c'RIG_LEVEL_BKIN_DLYMS :: (Num a) => a

{-# LINE 492 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_RAWSTR = 67108864
c'RIG_LEVEL_RAWSTR :: (Num a) => a

{-# LINE 493 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_SQLSTAT = 134217728
c'RIG_LEVEL_SQLSTAT :: (Num a) => a

{-# LINE 494 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_SWR = 268435456
c'RIG_LEVEL_SWR :: (Num a) => a

{-# LINE 495 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_ALC = 536870912
c'RIG_LEVEL_ALC :: (Num a) => a

{-# LINE 496 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_LEVEL_STRENGTH = 1073741824
c'RIG_LEVEL_STRENGTH :: (Num a) => a

{-# LINE 497 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum rig_parm_e {
    RIG_PARM_NONE = 0,
    RIG_PARM_ANN = 1 << 0,
    RIG_PARM_APO = 1 << 1,
    RIG_PARM_BACKLIGHT = 1 << 2,
    RIG_PARM_BEEP = 1 << 4,
    RIG_PARM_TIME = 1 << 5,
    RIG_PARM_BAT = 1 << 6,
    RIG_PARM_KEYLIGHT = 1 << 7
}; -}
type C'rig_parm_e = CUInt

{-# LINE 508 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARM_NONE = 0
c'RIG_PARM_NONE :: (Num a) => a

{-# LINE 509 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARM_ANN = 1
c'RIG_PARM_ANN :: (Num a) => a

{-# LINE 510 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARM_APO = 2
c'RIG_PARM_APO :: (Num a) => a

{-# LINE 511 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARM_BACKLIGHT = 4
c'RIG_PARM_BACKLIGHT :: (Num a) => a

{-# LINE 512 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARM_BEEP = 16
c'RIG_PARM_BEEP :: (Num a) => a

{-# LINE 513 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARM_TIME = 32
c'RIG_PARM_TIME :: (Num a) => a

{-# LINE 514 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARM_BAT = 64
c'RIG_PARM_BAT :: (Num a) => a

{-# LINE 515 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_PARM_KEYLIGHT = 128
c'RIG_PARM_KEYLIGHT :: (Num a) => a

{-# LINE 516 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef unsigned long setting_t; -}
type C'setting_t = CULong

{-# LINE 518 "src/Bindings/Hamlib/Rig.hsc" #-}
{- enum rig_func_e {
    RIG_FUNC_NONE = 0,
    RIG_FUNC_FAGC = 1 << 0,
    RIG_FUNC_NB = 1 << 1,
    RIG_FUNC_COMP = 1 << 2,
    RIG_FUNC_VOX = 1 << 3,
    RIG_FUNC_TONE = 1 << 4,
    RIG_FUNC_TSQL = 1 << 5,
    RIG_FUNC_SBKIN = 1 << 6,
    RIG_FUNC_FBKIN = 1 << 7,
    RIG_FUNC_ANF = 1 << 8,
    RIG_FUNC_NR = 1 << 9,
    RIG_FUNC_AIP = 1 << 10,
    RIG_FUNC_APF = 1 << 11,
    RIG_FUNC_MON = 1 << 12,
    RIG_FUNC_MN = 1 << 13,
    RIG_FUNC_RF = 1 << 14,
    RIG_FUNC_ARO = 1 << 15,
    RIG_FUNC_LOCK = 1 << 16,
    RIG_FUNC_MUTE = 1 << 17,
    RIG_FUNC_VSC = 1 << 18,
    RIG_FUNC_REV = 1 << 19,
    RIG_FUNC_SQL = 1 << 20,
    RIG_FUNC_ABM = 1 << 21,
    RIG_FUNC_BC = 1 << 22,
    RIG_FUNC_MBC = 1 << 23,
    RIG_FUNC_AFC = 1 << 25,
    RIG_FUNC_SATMODE = 1 << 26,
    RIG_FUNC_SCOPE = 1 << 27,
    RIG_FUNC_RESUME = 1 << 28,
    RIG_FUNC_TBURST = 1 << 29,
    RIG_FUNC_TUNER = 1 << 30
}; -}
type C'rig_func_e = CUInt

{-# LINE 552 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_NONE = 0
c'RIG_FUNC_NONE :: (Num a) => a

{-# LINE 553 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_FAGC = 1
c'RIG_FUNC_FAGC :: (Num a) => a

{-# LINE 554 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_NB = 2
c'RIG_FUNC_NB :: (Num a) => a

{-# LINE 555 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_COMP = 4
c'RIG_FUNC_COMP :: (Num a) => a

{-# LINE 556 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_VOX = 8
c'RIG_FUNC_VOX :: (Num a) => a

{-# LINE 557 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_TONE = 16
c'RIG_FUNC_TONE :: (Num a) => a

{-# LINE 558 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_TSQL = 32
c'RIG_FUNC_TSQL :: (Num a) => a

{-# LINE 559 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_SBKIN = 64
c'RIG_FUNC_SBKIN :: (Num a) => a

{-# LINE 560 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_FBKIN = 128
c'RIG_FUNC_FBKIN :: (Num a) => a

{-# LINE 561 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_ANF = 256
c'RIG_FUNC_ANF :: (Num a) => a

{-# LINE 562 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_NR = 512
c'RIG_FUNC_NR :: (Num a) => a

{-# LINE 563 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_AIP = 1024
c'RIG_FUNC_AIP :: (Num a) => a

{-# LINE 564 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_APF = 2048
c'RIG_FUNC_APF :: (Num a) => a

{-# LINE 565 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_MON = 4096
c'RIG_FUNC_MON :: (Num a) => a

{-# LINE 566 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_MN = 8192
c'RIG_FUNC_MN :: (Num a) => a

{-# LINE 567 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_RF = 16384
c'RIG_FUNC_RF :: (Num a) => a

{-# LINE 568 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_ARO = 32768
c'RIG_FUNC_ARO :: (Num a) => a

{-# LINE 569 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_LOCK = 65536
c'RIG_FUNC_LOCK :: (Num a) => a

{-# LINE 570 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_MUTE = 131072
c'RIG_FUNC_MUTE :: (Num a) => a

{-# LINE 571 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_VSC = 262144
c'RIG_FUNC_VSC :: (Num a) => a

{-# LINE 572 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_REV = 524288
c'RIG_FUNC_REV :: (Num a) => a

{-# LINE 573 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_SQL = 1048576
c'RIG_FUNC_SQL :: (Num a) => a

{-# LINE 574 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_ABM = 2097152
c'RIG_FUNC_ABM :: (Num a) => a

{-# LINE 575 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_BC = 4194304
c'RIG_FUNC_BC :: (Num a) => a

{-# LINE 576 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_MBC = 8388608
c'RIG_FUNC_MBC :: (Num a) => a

{-# LINE 577 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_AFC = 33554432
c'RIG_FUNC_AFC :: (Num a) => a

{-# LINE 578 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_SATMODE = 67108864
c'RIG_FUNC_SATMODE :: (Num a) => a

{-# LINE 579 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_SCOPE = 134217728
c'RIG_FUNC_SCOPE :: (Num a) => a

{-# LINE 580 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_RESUME = 268435456
c'RIG_FUNC_RESUME :: (Num a) => a

{-# LINE 581 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_TBURST = 536870912
c'RIG_FUNC_TBURST :: (Num a) => a

{-# LINE 582 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_FUNC_TUNER = 1073741824
c'RIG_FUNC_TUNER :: (Num a) => a

{-# LINE 583 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_MODE_NONE = 0,
            RIG_MODE_AM = 1 << 0,
            RIG_MODE_CW = 1 << 1,
            RIG_MODE_USB = 1 << 2,
            RIG_MODE_LSB = 1 << 3,
            RIG_MODE_RTTY = 1 << 4,
            RIG_MODE_FM = 1 << 5,
            RIG_MODE_WFM = 1 << 6,
            RIG_MODE_CWR = 1 << 7,
            RIG_MODE_RTTYR = 1 << 8,
            RIG_MODE_AMS = 1 << 9,
            RIG_MODE_PKTLSB = 1 << 10,
            RIG_MODE_PKTUSB = 1 << 11,
            RIG_MODE_PKTFM = 1 << 12,
            RIG_MODE_ECSSUSB = 1 << 13,
            RIG_MODE_ECSSLSB = 1 << 14,
            RIG_MODE_FAX = 1 << 15,
            RIG_MODE_SAM = 1 << 16,
            RIG_MODE_SAL = 1 << 17,
            RIG_MODE_SAH = 1 << 18,
            RIG_MODE_DSB = 1 << 19,
            RIG_MODE_TESTS_MAX
        } rmode_t; -}
type C'rmode_t = CUInt

{-# LINE 608 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_NONE = 0
c'RIG_MODE_NONE :: (Num a) => a

{-# LINE 609 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_AM = 1
c'RIG_MODE_AM :: (Num a) => a

{-# LINE 610 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_CW = 2
c'RIG_MODE_CW :: (Num a) => a

{-# LINE 611 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_USB = 4
c'RIG_MODE_USB :: (Num a) => a

{-# LINE 612 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_LSB = 8
c'RIG_MODE_LSB :: (Num a) => a

{-# LINE 613 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_RTTY = 16
c'RIG_MODE_RTTY :: (Num a) => a

{-# LINE 614 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_FM = 32
c'RIG_MODE_FM :: (Num a) => a

{-# LINE 615 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_WFM = 64
c'RIG_MODE_WFM :: (Num a) => a

{-# LINE 616 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_CWR = 128
c'RIG_MODE_CWR :: (Num a) => a

{-# LINE 617 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_RTTYR = 256
c'RIG_MODE_RTTYR :: (Num a) => a

{-# LINE 618 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_AMS = 512
c'RIG_MODE_AMS :: (Num a) => a

{-# LINE 619 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_PKTLSB = 1024
c'RIG_MODE_PKTLSB :: (Num a) => a

{-# LINE 620 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_PKTUSB = 2048
c'RIG_MODE_PKTUSB :: (Num a) => a

{-# LINE 621 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_PKTFM = 4096
c'RIG_MODE_PKTFM :: (Num a) => a

{-# LINE 622 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_ECSSUSB = 8192
c'RIG_MODE_ECSSUSB :: (Num a) => a

{-# LINE 623 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_ECSSLSB = 16384
c'RIG_MODE_ECSSLSB :: (Num a) => a

{-# LINE 624 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_FAX = 32768
c'RIG_MODE_FAX :: (Num a) => a

{-# LINE 625 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_SAM = 65536
c'RIG_MODE_SAM :: (Num a) => a

{-# LINE 626 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_SAL = 131072
c'RIG_MODE_SAL :: (Num a) => a

{-# LINE 627 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_SAH = 262144
c'RIG_MODE_SAH :: (Num a) => a

{-# LINE 628 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_DSB = 524288
c'RIG_MODE_DSB :: (Num a) => a

{-# LINE 629 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MODE_TESTS_MAX = 524289
c'RIG_MODE_TESTS_MAX :: (Num a) => a

{-# LINE 630 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef struct freq_range_list {
            freq_t start;
            freq_t end;
            rmode_t modes;
            int low_power;
            int high_power;
            vfo_t vfo;
            ant_t ant;
        } freq_range_t; -}

{-# LINE 640 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 641 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 642 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 643 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 644 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 645 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 646 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 647 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'freq_range_list = C'freq_range_list{
  c'freq_range_list'start :: CDouble,
  c'freq_range_list'end :: CDouble,
  c'freq_range_list'modes :: C'rmode_t,
  c'freq_range_list'low_power :: CInt,
  c'freq_range_list'high_power :: CInt,
  c'freq_range_list'vfo :: CInt,
  c'freq_range_list'ant :: CInt
} deriving (Eq,Show)
p'freq_range_list'start p = plusPtr p 0
p'freq_range_list'start :: Ptr (C'freq_range_list) -> Ptr (CDouble)
p'freq_range_list'end p = plusPtr p 8
p'freq_range_list'end :: Ptr (C'freq_range_list) -> Ptr (CDouble)
p'freq_range_list'modes p = plusPtr p 16
p'freq_range_list'modes :: Ptr (C'freq_range_list) -> Ptr (C'rmode_t)
p'freq_range_list'low_power p = plusPtr p 20
p'freq_range_list'low_power :: Ptr (C'freq_range_list) -> Ptr (CInt)
p'freq_range_list'high_power p = plusPtr p 24
p'freq_range_list'high_power :: Ptr (C'freq_range_list) -> Ptr (CInt)
p'freq_range_list'vfo p = plusPtr p 28
p'freq_range_list'vfo :: Ptr (C'freq_range_list) -> Ptr (CInt)
p'freq_range_list'ant p = plusPtr p 32
p'freq_range_list'ant :: Ptr (C'freq_range_list) -> Ptr (CInt)
instance Storable C'freq_range_list where
  sizeOf _ = 40
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 16
    v3 <- peekByteOff p 20
    v4 <- peekByteOff p 24
    v5 <- peekByteOff p 28
    v6 <- peekByteOff p 32
    return $ C'freq_range_list v0 v1 v2 v3 v4 v5 v6
  poke p (C'freq_range_list v0 v1 v2 v3 v4 v5 v6) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 16 v2
    pokeByteOff p 20 v3
    pokeByteOff p 24 v4
    pokeByteOff p 28 v5
    pokeByteOff p 32 v6
    return ()

{-# LINE 648 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'freq_range_t = C'freq_range_list

{-# LINE 649 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct tuning_step_list {
    rmode_t modes; shortfreq_t ts;
}; -}

{-# LINE 653 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 654 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 655 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'tuning_step_list = C'tuning_step_list{
  c'tuning_step_list'modes :: C'rmode_t,
  c'tuning_step_list'ts :: CLong
} deriving (Eq,Show)
p'tuning_step_list'modes p = plusPtr p 0
p'tuning_step_list'modes :: Ptr (C'tuning_step_list) -> Ptr (C'rmode_t)
p'tuning_step_list'ts p = plusPtr p 8
p'tuning_step_list'ts :: Ptr (C'tuning_step_list) -> Ptr (CLong)
instance Storable C'tuning_step_list where
  sizeOf _ = 16
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    return $ C'tuning_step_list v0 v1
  poke p (C'tuning_step_list v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    return ()

{-# LINE 656 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct filter_list {
    rmode_t modes; pbwidth_t width;
}; -}

{-# LINE 660 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 661 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 662 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'filter_list = C'filter_list{
  c'filter_list'modes :: C'rmode_t,
  c'filter_list'width :: CLong
} deriving (Eq,Show)
p'filter_list'modes p = plusPtr p 0
p'filter_list'modes :: Ptr (C'filter_list) -> Ptr (C'rmode_t)
p'filter_list'width p = plusPtr p 8
p'filter_list'width :: Ptr (C'filter_list) -> Ptr (CLong)
instance Storable C'filter_list where
  sizeOf _ = 16
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    return $ C'filter_list v0 v1
  poke p (C'filter_list v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    return ()

{-# LINE 663 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct ext_list {
    token_t token; value_t val;
}; -}

{-# LINE 667 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 668 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 669 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'ext_list = C'ext_list{
  c'ext_list'token :: CLong,
  c'ext_list'val :: C'value_t
} deriving (Eq,Show)
p'ext_list'token p = plusPtr p 0
p'ext_list'token :: Ptr (C'ext_list) -> Ptr (CLong)
p'ext_list'val p = plusPtr p 8
p'ext_list'val :: Ptr (C'ext_list) -> Ptr (C'value_t)
instance Storable C'ext_list where
  sizeOf _ = 16
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    return $ C'ext_list v0 v1
  poke p (C'ext_list v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    return ()

{-# LINE 670 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct channel {
    int channel_num;
    int bank_num;
    vfo_t vfo;
    int ant;
    freq_t freq;
    rmode_t mode;
    pbwidth_t width;
    freq_t tx_freq;
    rmode_t tx_mode;
    pbwidth_t tx_width;
    split_t split;
    vfo_t tx_vfo;
    rptr_shift_t rptr_shift;
    shortfreq_t rptr_offs;
    shortfreq_t tuning_step;
    shortfreq_t rit;
    shortfreq_t xit;
    setting_t funcs;
    value_t levels[32];
    tone_t ctcss_tone;
    tone_t ctcss_sql;
    tone_t dcs_code;
    tone_t dcs_sql;
    int scan_group;
    int flags;
    char channel_desc[30];
    struct ext_list * ext_levels;
}; -}

{-# LINE 700 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 701 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 702 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 703 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 704 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 705 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 706 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 707 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 708 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 709 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 710 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 711 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 712 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 713 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 714 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 715 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 716 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 717 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 718 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 719 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 720 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 721 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 722 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 723 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 724 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 725 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 726 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 727 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'channel = C'channel{
  c'channel'channel_num :: CInt,
  c'channel'bank_num :: CInt,
  c'channel'vfo :: CInt,
  c'channel'ant :: CInt,
  c'channel'freq :: CDouble,
  c'channel'mode :: C'rmode_t,
  c'channel'width :: CLong,
  c'channel'tx_freq :: CDouble,
  c'channel'tx_mode :: C'rmode_t,
  c'channel'tx_width :: CLong,
  c'channel'split :: C'split_t,
  c'channel'tx_vfo :: CInt,
  c'channel'rptr_shift :: C'rptr_shift_t,
  c'channel'rptr_offs :: CLong,
  c'channel'tuning_step :: CLong,
  c'channel'rit :: CLong,
  c'channel'xit :: CLong,
  c'channel'funcs :: CULong,
  c'channel'levels :: [C'value_t],
  c'channel'ctcss_tone :: CUInt,
  c'channel'ctcss_sql :: CUInt,
  c'channel'dcs_code :: CUInt,
  c'channel'dcs_sql :: CUInt,
  c'channel'scan_group :: CInt,
  c'channel'flags :: CInt,
  c'channel'channel_desc :: CString,
  c'channel'ext_levels :: Ptr C'ext_list
} deriving (Eq,Show)
p'channel'channel_num p = plusPtr p 0
p'channel'channel_num :: Ptr (C'channel) -> Ptr (CInt)
p'channel'bank_num p = plusPtr p 4
p'channel'bank_num :: Ptr (C'channel) -> Ptr (CInt)
p'channel'vfo p = plusPtr p 8
p'channel'vfo :: Ptr (C'channel) -> Ptr (CInt)
p'channel'ant p = plusPtr p 12
p'channel'ant :: Ptr (C'channel) -> Ptr (CInt)
p'channel'freq p = plusPtr p 16
p'channel'freq :: Ptr (C'channel) -> Ptr (CDouble)
p'channel'mode p = plusPtr p 24
p'channel'mode :: Ptr (C'channel) -> Ptr (C'rmode_t)
p'channel'width p = plusPtr p 32
p'channel'width :: Ptr (C'channel) -> Ptr (CLong)
p'channel'tx_freq p = plusPtr p 40
p'channel'tx_freq :: Ptr (C'channel) -> Ptr (CDouble)
p'channel'tx_mode p = plusPtr p 48
p'channel'tx_mode :: Ptr (C'channel) -> Ptr (C'rmode_t)
p'channel'tx_width p = plusPtr p 56
p'channel'tx_width :: Ptr (C'channel) -> Ptr (CLong)
p'channel'split p = plusPtr p 64
p'channel'split :: Ptr (C'channel) -> Ptr (C'split_t)
p'channel'tx_vfo p = plusPtr p 68
p'channel'tx_vfo :: Ptr (C'channel) -> Ptr (CInt)
p'channel'rptr_shift p = plusPtr p 72
p'channel'rptr_shift :: Ptr (C'channel) -> Ptr (C'rptr_shift_t)
p'channel'rptr_offs p = plusPtr p 80
p'channel'rptr_offs :: Ptr (C'channel) -> Ptr (CLong)
p'channel'tuning_step p = plusPtr p 88
p'channel'tuning_step :: Ptr (C'channel) -> Ptr (CLong)
p'channel'rit p = plusPtr p 96
p'channel'rit :: Ptr (C'channel) -> Ptr (CLong)
p'channel'xit p = plusPtr p 104
p'channel'xit :: Ptr (C'channel) -> Ptr (CLong)
p'channel'funcs p = plusPtr p 112
p'channel'funcs :: Ptr (C'channel) -> Ptr (CULong)
p'channel'levels p = plusPtr p 120
p'channel'levels :: Ptr (C'channel) -> Ptr (C'value_t)
p'channel'ctcss_tone p = plusPtr p 376
p'channel'ctcss_tone :: Ptr (C'channel) -> Ptr (CUInt)
p'channel'ctcss_sql p = plusPtr p 380
p'channel'ctcss_sql :: Ptr (C'channel) -> Ptr (CUInt)
p'channel'dcs_code p = plusPtr p 384
p'channel'dcs_code :: Ptr (C'channel) -> Ptr (CUInt)
p'channel'dcs_sql p = plusPtr p 388
p'channel'dcs_sql :: Ptr (C'channel) -> Ptr (CUInt)
p'channel'scan_group p = plusPtr p 392
p'channel'scan_group :: Ptr (C'channel) -> Ptr (CInt)
p'channel'flags p = plusPtr p 396
p'channel'flags :: Ptr (C'channel) -> Ptr (CInt)
p'channel'channel_desc p = plusPtr p 400
p'channel'channel_desc :: Ptr (C'channel) -> Ptr (CString)
p'channel'ext_levels p = plusPtr p 432
p'channel'ext_levels :: Ptr (C'channel) -> Ptr (Ptr C'ext_list)
instance Storable C'channel where
  sizeOf _ = 440
  alignment _ = 8
  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 24
    v6 <- peekByteOff p 32
    v7 <- peekByteOff p 40
    v8 <- peekByteOff p 48
    v9 <- peekByteOff p 56
    v10 <- peekByteOff p 64
    v11 <- peekByteOff p 68
    v12 <- peekByteOff p 72
    v13 <- peekByteOff p 80
    v14 <- peekByteOff p 88
    v15 <- peekByteOff p 96
    v16 <- peekByteOff p 104
    v17 <- peekByteOff p 112
    v18 <- let s = div 256 $ sizeOf $ (undefined :: C'value_t) in peekArray s (plusPtr p 120)
    v19 <- peekByteOff p 376
    v20 <- peekByteOff p 380
    v21 <- peekByteOff p 384
    v22 <- peekByteOff p 388
    v23 <- peekByteOff p 392
    v24 <- peekByteOff p 396
    v25 <- peekByteOff p 400
    v26 <- peekByteOff p 432
    return $ C'channel v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26
  poke p (C'channel v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeByteOff p 16 v4
    pokeByteOff p 24 v5
    pokeByteOff p 32 v6
    pokeByteOff p 40 v7
    pokeByteOff p 48 v8
    pokeByteOff p 56 v9
    pokeByteOff p 64 v10
    pokeByteOff p 68 v11
    pokeByteOff p 72 v12
    pokeByteOff p 80 v13
    pokeByteOff p 88 v14
    pokeByteOff p 96 v15
    pokeByteOff p 104 v16
    pokeByteOff p 112 v17
    let s = div 256 $ sizeOf $ (undefined :: C'value_t)
    pokeArray (plusPtr p 120) (take s v18)
    pokeByteOff p 376 v19
    pokeByteOff p 380 v20
    pokeByteOff p 384 v21
    pokeByteOff p 388 v22
    pokeByteOff p 392 v23
    pokeByteOff p 396 v24
    pokeByteOff p 400 v25
    pokeByteOff p 432 v26
    return ()

{-# LINE 728 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef struct channel channel_t; -}
type C'channel_t = C'channel

{-# LINE 730 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct channel_cap {
    unsigned bank_num : 1;
    unsigned vfo : 1;
    unsigned ant : 1;
    unsigned freq : 1;
    unsigned mode : 1;
    unsigned width : 1;
    unsigned tx_freq : 1;
    unsigned tx_mode : 1;
    unsigned tx_width : 1;
    unsigned split : 1;
    unsigned tx_vfo : 1;
    unsigned rptr_shift : 1;
    unsigned rptr_offs : 1;
    unsigned tuning_step : 1;
    unsigned rit : 1;
    unsigned xit : 1;
    setting_t funcs;
    setting_t levels;
    unsigned ctcss_tone : 1;
    unsigned ctcss_sql : 1;
    unsigned dcs_code : 1;
    unsigned dcs_sql : 1;
    unsigned scan_group : 1;
    unsigned flags : 1;
    unsigned channel_desc : 1;
    unsigned ext_levels : 1;
}; -}

{-# LINE 759 "src/Bindings/Hamlib/Rig.hsc" #-}

data C'channel_cap = C'channel_cap{
} deriving (Eq,Show)
instance Storable C'channel_cap where
  sizeOf _ = 32
  alignment _ = 8
  peek p = do
    return $ C'channel_cap
  poke p (C'channel_cap) = do
    return ()

{-# LINE 761 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef struct channel_cap channel_cap_t; -}
type C'channel_cap_t = C'channel_cap

{-# LINE 763 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef enum {
            RIG_MTYPE_NONE = 0,
            RIG_MTYPE_MEM,
            RIG_MTYPE_EDGE,
            RIG_MTYPE_CALL,
            RIG_MTYPE_MEMOPAD,
            RIG_MTYPE_SAT,
            RIG_MTYPE_BAND,
            RIG_MTYPE_PRIO
        } chan_type_t; -}
type C'chan_type_t = CUInt

{-# LINE 774 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MTYPE_NONE = 0
c'RIG_MTYPE_NONE :: (Num a) => a

{-# LINE 775 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MTYPE_MEM = 1
c'RIG_MTYPE_MEM :: (Num a) => a

{-# LINE 776 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MTYPE_EDGE = 2
c'RIG_MTYPE_EDGE :: (Num a) => a

{-# LINE 777 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MTYPE_CALL = 3
c'RIG_MTYPE_CALL :: (Num a) => a

{-# LINE 778 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MTYPE_MEMOPAD = 4
c'RIG_MTYPE_MEMOPAD :: (Num a) => a

{-# LINE 779 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MTYPE_SAT = 5
c'RIG_MTYPE_SAT :: (Num a) => a

{-# LINE 780 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MTYPE_BAND = 6
c'RIG_MTYPE_BAND :: (Num a) => a

{-# LINE 781 "src/Bindings/Hamlib/Rig.hsc" #-}
c'RIG_MTYPE_PRIO = 7
c'RIG_MTYPE_PRIO :: (Num a) => a

{-# LINE 782 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct chan_list {
    int start; int end; chan_type_t type; channel_cap_t mem_caps;
}; -}

{-# LINE 786 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 787 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 788 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 789 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 790 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'chan_list = C'chan_list{
  c'chan_list'start :: CInt,
  c'chan_list'end :: CInt,
  c'chan_list'type :: C'chan_type_t,
  c'chan_list'mem_caps :: C'channel_cap
} deriving (Eq,Show)
p'chan_list'start p = plusPtr p 0
p'chan_list'start :: Ptr (C'chan_list) -> Ptr (CInt)
p'chan_list'end p = plusPtr p 4
p'chan_list'end :: Ptr (C'chan_list) -> Ptr (CInt)
p'chan_list'type p = plusPtr p 8
p'chan_list'type :: Ptr (C'chan_list) -> Ptr (C'chan_type_t)
p'chan_list'mem_caps p = plusPtr p 16
p'chan_list'mem_caps :: Ptr (C'chan_list) -> Ptr (C'channel_cap)
instance Storable C'chan_list where
  sizeOf _ = 48
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 16
    return $ C'chan_list v0 v1 v2 v3
  poke p (C'chan_list v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 16 v3
    return ()

{-# LINE 791 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef struct chan_list chan_t; -}
type C'chan_t = C'chan_list

{-# LINE 793 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct gran {
    value_t min; value_t max; value_t step;
}; -}

{-# LINE 797 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 798 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 799 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 800 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'gran = C'gran{
  c'gran'min :: C'value_t,
  c'gran'max :: C'value_t,
  c'gran'step :: C'value_t
} deriving (Eq,Show)
p'gran'min p = plusPtr p 0
p'gran'min :: Ptr (C'gran) -> Ptr (C'value_t)
p'gran'max p = plusPtr p 8
p'gran'max :: Ptr (C'gran) -> Ptr (C'value_t)
p'gran'step p = plusPtr p 16
p'gran'step :: Ptr (C'gran) -> Ptr (C'value_t)
instance Storable C'gran where
  sizeOf _ = 24
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 16
    return $ C'gran v0 v1 v2
  poke p (C'gran v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 16 v2
    return ()

{-# LINE 801 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef struct gran gran_t; -}
type C'gran_t = C'gran

{-# LINE 803 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct cal_table {
    int size;
    struct table {
        int raw; int val;
    } table[32];
}; -}

{-# LINE 810 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 811 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 812 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'table = C'table{
  c'table'raw :: CInt,
  c'table'val :: CInt
} deriving (Eq,Show)
p'table'raw p = plusPtr p 0
p'table'raw :: Ptr (C'table) -> Ptr (CInt)
p'table'val p = plusPtr p 4
p'table'val :: Ptr (C'table) -> Ptr (CInt)
instance Storable C'table where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'table v0 v1
  poke p (C'table v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 813 "src/Bindings/Hamlib/Rig.hsc" #-}


{-# LINE 815 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 816 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 817 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'cal_table = C'cal_table{
  c'cal_table'size :: CInt,
  c'cal_table'table :: [C'table]
} deriving (Eq,Show)
p'cal_table'size p = plusPtr p 0
p'cal_table'size :: Ptr (C'cal_table) -> Ptr (CInt)
p'cal_table'table p = plusPtr p 4
p'cal_table'table :: Ptr (C'cal_table) -> Ptr (C'table)
instance Storable C'cal_table where
  sizeOf _ = 260
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- let s = div 256 $ sizeOf $ (undefined :: C'table) in peekArray s (plusPtr p 4)
    return $ C'cal_table v0 v1
  poke p (C'cal_table v0 v1) = do
    pokeByteOff p 0 v0
    let s = div 256 $ sizeOf $ (undefined :: C'table)
    pokeArray (plusPtr p 4) (take s v1)
    return ()

{-# LINE 818 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef struct cal_table cal_table_t; -}
type C'cal_table_t = C'cal_table

{-# LINE 820 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'chan_cb_t = FunPtr (Ptr C'rig -> Ptr (Ptr C'channel) -> CInt -> Ptr C'chan_list -> Ptr () -> IO CInt)
foreign import ccall "wrapper" mk'chan_cb_t
  :: (Ptr C'rig -> Ptr (Ptr C'channel) -> CInt -> Ptr C'chan_list -> Ptr () -> IO CInt) -> IO C'chan_cb_t
foreign import ccall "dynamic" mK'chan_cb_t
  :: C'chan_cb_t -> (Ptr C'rig -> Ptr (Ptr C'channel) -> CInt -> Ptr C'chan_list -> Ptr () -> IO CInt)

{-# LINE 821 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'confval_cb_t = FunPtr (Ptr C'rig -> Ptr C'confparams -> Ptr C'value_t -> Ptr () -> IO CInt)
foreign import ccall "wrapper" mk'confval_cb_t
  :: (Ptr C'rig -> Ptr C'confparams -> Ptr C'value_t -> Ptr () -> IO CInt) -> IO C'confval_cb_t
foreign import ccall "dynamic" mK'confval_cb_t
  :: C'confval_cb_t -> (Ptr C'rig -> Ptr C'confparams -> Ptr C'value_t -> Ptr () -> IO CInt)

{-# LINE 822 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct rig_caps {
    rig_model_t rig_model;
    const char * model_name;
    const char * mfg_name;
    const char * version;
    const char * copyright;
    enum rig_status_e status;
    int rig_type;
    ptt_type_t ptt_type;
    dcd_type_t dcd_type;
    rig_port_t port_type;
    int serial_rate_min;
    int serial_rate_max;
    int serial_data_bits;
    int serial_stop_bits;
    enum serial_parity_e serial_parity;
    enum serial_handshake_e serial_handshake;
    int write_delay;
    int post_write_delay;
    int timeout;
    int retry;
    setting_t has_get_func;
    setting_t has_set_func;
    setting_t has_get_level;
    setting_t has_set_level;
    setting_t has_get_parm;
    setting_t has_set_parm;
    gran_t level_gran[32];
    gran_t parm_gran[32];
    const struct confparams * extparms;
    const struct confparams * extlevels;
    const tone_t * ctcss_list;
    const tone_t * dcs_list;
    int preamp[8];
    int attenuator[8];
    shortfreq_t max_rit;
    shortfreq_t max_xit;
    shortfreq_t max_ifshift;
    ann_t announces;
    vfo_op_t vfo_ops;
    scan_t scan_ops;
    int targetable_vfo;
    int transceive;
    int bank_qty;
    int chan_desc_sz;
    chan_t chan_list[16];
    freq_range_t rx_range_list1[30];
    freq_range_t tx_range_list1[30];
    freq_range_t rx_range_list2[30];
    freq_range_t tx_range_list2[30];
    struct tuning_step_list tuning_steps[20];
    struct filter_list filters[42];
    cal_table_t str_cal;
    const struct confparams * cfgparams;
    const void * priv;
    int (* rig_init)(RIG * rig);
    int (* rig_cleanup)(RIG * rig);
    int (* rig_open)(RIG * rig);
    int (* rig_close)(RIG * rig);
    int (* set_freq)(RIG * rig, vfo_t vfo, freq_t freq);
    int (* get_freq)(RIG * rig, vfo_t vfo, freq_t * freq);
    int (* set_mode)(RIG * rig,
                     vfo_t vfo,
                     rmode_t mode,
                     pbwidth_t width);
    int (* get_mode)(RIG * rig,
                     vfo_t vfo,
                     rmode_t * mode,
                     pbwidth_t * width);
    int (* set_vfo)(RIG * rig, vfo_t vfo);
    int (* get_vfo)(RIG * rig, vfo_t * vfo);
    int (* set_ptt)(RIG * rig, vfo_t vfo, ptt_t ptt);
    int (* get_ptt)(RIG * rig, vfo_t vfo, ptt_t * ptt);
    int (* get_dcd)(RIG * rig, vfo_t vfo, dcd_t * dcd);
    int (* set_rptr_shift)(RIG * rig,
                           vfo_t vfo,
                           rptr_shift_t rptr_shift);
    int (* get_rptr_shift)(RIG * rig,
                           vfo_t vfo,
                           rptr_shift_t * rptr_shift);
    int (* set_rptr_offs)(RIG * rig, vfo_t vfo, shortfreq_t offs);
    int (* get_rptr_offs)(RIG * rig, vfo_t vfo, shortfreq_t * offs);
    int (* set_split_freq)(RIG * rig, vfo_t vfo, freq_t tx_freq);
    int (* get_split_freq)(RIG * rig, vfo_t vfo, freq_t * tx_freq);
    int (* set_split_mode)(RIG * rig,
                           vfo_t vfo,
                           rmode_t tx_mode,
                           pbwidth_t tx_width);
    int (* get_split_mode)(RIG * rig,
                           vfo_t vfo,
                           rmode_t * tx_mode,
                           pbwidth_t * tx_width);
    int (* set_split_vfo)(RIG * rig,
                          vfo_t vfo,
                          split_t split,
                          vfo_t tx_vfo);
    int (* get_split_vfo)(RIG * rig,
                          vfo_t vfo,
                          split_t * split,
                          vfo_t * tx_vfo);
    int (* set_rit)(RIG * rig, vfo_t vfo, shortfreq_t rit);
    int (* get_rit)(RIG * rig, vfo_t vfo, shortfreq_t * rit);
    int (* set_xit)(RIG * rig, vfo_t vfo, shortfreq_t xit);
    int (* get_xit)(RIG * rig, vfo_t vfo, shortfreq_t * xit);
    int (* set_ts)(RIG * rig, vfo_t vfo, shortfreq_t ts);
    int (* get_ts)(RIG * rig, vfo_t vfo, shortfreq_t * ts);
    int (* set_dcs_code)(RIG * rig, vfo_t vfo, tone_t code);
    int (* get_dcs_code)(RIG * rig, vfo_t vfo, tone_t * code);
    int (* set_tone)(RIG * rig, vfo_t vfo, tone_t tone);
    int (* get_tone)(RIG * rig, vfo_t vfo, tone_t * tone);
    int (* set_ctcss_tone)(RIG * rig, vfo_t vfo, tone_t tone);
    int (* get_ctcss_tone)(RIG * rig, vfo_t vfo, tone_t * tone);
    int (* set_dcs_sql)(RIG * rig, vfo_t vfo, tone_t code);
    int (* get_dcs_sql)(RIG * rig, vfo_t vfo, tone_t * code);
    int (* set_tone_sql)(RIG * rig, vfo_t vfo, tone_t tone);
    int (* get_tone_sql)(RIG * rig, vfo_t vfo, tone_t * tone);
    int (* set_ctcss_sql)(RIG * rig, vfo_t vfo, tone_t tone);
    int (* get_ctcss_sql)(RIG * rig, vfo_t vfo, tone_t * tone);
    int (* power2mW)(RIG * rig,
                     unsigned int * mwpower,
                     float power,
                     freq_t freq,
                     rmode_t mode);
    int (* mW2power)(RIG * rig,
                     float * power,
                     unsigned int mwpower,
                     freq_t freq,
                     rmode_t mode);
    int (* set_powerstat)(RIG * rig, powerstat_t status);
    int (* get_powerstat)(RIG * rig, powerstat_t * status);
    int (* reset)(RIG * rig, reset_t reset);
    int (* set_ant)(RIG * rig, vfo_t vfo, ant_t ant);
    int (* get_ant)(RIG * rig, vfo_t vfo, ant_t * ant);
    int (* set_level)(RIG * rig,
                      vfo_t vfo,
                      setting_t level,
                      value_t val);
    int (* get_level)(RIG * rig,
                      vfo_t vfo,
                      setting_t level,
                      value_t * val);
    int (* set_func)(RIG * rig, vfo_t vfo, setting_t func, int status);
    int (* get_func)(RIG * rig,
                     vfo_t vfo,
                     setting_t func,
                     int * status);
    int (* set_parm)(RIG * rig, setting_t parm, value_t val);
    int (* get_parm)(RIG * rig, setting_t parm, value_t * val);
    int (* set_ext_level)(RIG * rig,
                          vfo_t vfo,
                          token_t token,
                          value_t val);
    int (* get_ext_level)(RIG * rig,
                          vfo_t vfo,
                          token_t token,
                          value_t * val);
    int (* set_ext_parm)(RIG * rig, token_t token, value_t val);
    int (* get_ext_parm)(RIG * rig, token_t token, value_t * val);
    int (* set_conf)(RIG * rig, token_t token, const char * val);
    int (* get_conf)(RIG * rig, token_t token, char * val);
    int (* send_dtmf)(RIG * rig, vfo_t vfo, const char * digits);
    int (* recv_dtmf)(RIG * rig,
                      vfo_t vfo,
                      char * digits,
                      int * length);
    int (* send_morse)(RIG * rig, vfo_t vfo, const char * msg);
    int (* set_bank)(RIG * rig, vfo_t vfo, int bank);
    int (* set_mem)(RIG * rig, vfo_t vfo, int ch);
    int (* get_mem)(RIG * rig, vfo_t vfo, int * ch);
    int (* vfo_op)(RIG * rig, vfo_t vfo, vfo_op_t op);
    int (* scan)(RIG * rig, vfo_t vfo, scan_t scan, int ch);
    int (* set_trn)(RIG * rig, int trn);
    int (* get_trn)(RIG * rig, int * trn);
    int (* decode_event)(RIG * rig);
    int (* set_channel)(RIG * rig, const channel_t * chan);
    int (* get_channel)(RIG * rig, channel_t * chan);
    const char * (* get_info)(RIG * rig);
    int (* set_chan_all_cb)(RIG * rig, chan_cb_t chan_cb, void *);
    int (* get_chan_all_cb)(RIG * rig, chan_cb_t chan_cb, void *);
    int (* set_mem_all_cb)(RIG * rig,
                           chan_cb_t chan_cb,
                           confval_cb_t parm_cb,
                           void *);
    int (* get_mem_all_cb)(RIG * rig,
                           chan_cb_t chan_cb,
                           confval_cb_t parm_cb,
                           void *);
    const char * clone_combo_set;
    const char * clone_combo_get;
}; -}

{-# LINE 1013 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1014 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1015 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1016 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1017 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1018 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1019 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1020 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1021 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1022 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1023 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1024 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1025 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1026 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1027 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1028 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1029 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1030 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1031 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1032 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1033 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1034 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1035 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1036 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1037 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1038 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1039 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1040 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1041 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1042 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1043 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1044 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1045 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1046 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1047 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1048 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1049 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1050 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1051 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1052 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1053 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1054 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1055 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1056 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1057 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1058 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1059 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1060 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1061 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1062 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1063 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1064 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1065 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1066 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1067 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1068 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1069 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1070 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1071 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1072 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1073 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1074 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1075 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1076 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1077 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1078 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1079 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1080 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1081 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1082 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1083 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1084 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1085 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1086 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1087 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1088 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1089 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1090 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1091 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1092 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1093 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1094 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1095 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1096 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1097 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1098 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1099 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1100 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1101 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1102 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1103 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1104 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1105 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1106 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1107 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1108 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1109 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1110 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1111 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1112 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1113 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1114 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1115 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1116 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1117 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1118 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1119 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1120 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1121 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1122 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1123 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1124 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1125 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1126 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1127 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1128 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1129 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1130 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1131 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1132 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1133 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1134 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1135 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1136 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1137 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1138 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1139 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1140 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1141 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1142 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1143 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1144 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1145 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1146 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1147 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'rig_caps = C'rig_caps{
  c'rig_caps'rig_model :: CInt,
  c'rig_caps'model_name :: CString,
  c'rig_caps'mfg_name :: CString,
  c'rig_caps'version :: CString,
  c'rig_caps'copyright :: CString,
  c'rig_caps'status :: C'rig_status_e,
  c'rig_caps'rig_type :: CInt,
  c'rig_caps'ptt_type :: C'ptt_type_t,
  c'rig_caps'dcd_type :: C'dcd_type_t,
  c'rig_caps'port_type :: C'rig_port_e,
  c'rig_caps'serial_rate_min :: CInt,
  c'rig_caps'serial_rate_max :: CInt,
  c'rig_caps'serial_data_bits :: CInt,
  c'rig_caps'serial_stop_bits :: CInt,
  c'rig_caps'serial_parity :: C'serial_parity_e,
  c'rig_caps'serial_handshake :: C'serial_handshake_e,
  c'rig_caps'write_delay :: CInt,
  c'rig_caps'post_write_delay :: CInt,
  c'rig_caps'timeout :: CInt,
  c'rig_caps'retry :: CInt,
  c'rig_caps'has_get_func :: CULong,
  c'rig_caps'has_set_func :: CULong,
  c'rig_caps'has_get_level :: CULong,
  c'rig_caps'has_set_level :: CULong,
  c'rig_caps'has_get_parm :: CULong,
  c'rig_caps'has_set_parm :: CULong,
  c'rig_caps'level_gran :: [C'gran],
  c'rig_caps'parm_gran :: [C'gran],
  c'rig_caps'extparms :: Ptr C'confparams,
  c'rig_caps'extlevels :: Ptr C'confparams,
  c'rig_caps'ctcss_list :: Ptr CUInt,
  c'rig_caps'dcs_list :: Ptr CUInt,
  c'rig_caps'preamp :: [CInt],
  c'rig_caps'attenuator :: [CInt],
  c'rig_caps'max_rit :: CLong,
  c'rig_caps'max_xit :: CLong,
  c'rig_caps'max_ifshift :: CLong,
  c'rig_caps'announces :: C'ann_t,
  c'rig_caps'vfo_ops :: C'vfo_op_t,
  c'rig_caps'scan_ops :: C'scan_t,
  c'rig_caps'targetable_vfo :: CInt,
  c'rig_caps'transceive :: CInt,
  c'rig_caps'bank_qty :: CInt,
  c'rig_caps'chan_desc_sz :: CInt,
  c'rig_caps'chan_list :: [C'chan_list],
  c'rig_caps'rx_range_list1 :: [C'freq_range_list],
  c'rig_caps'tx_range_list1 :: [C'freq_range_list],
  c'rig_caps'rx_range_list2 :: [C'freq_range_list],
  c'rig_caps'tx_range_list2 :: [C'freq_range_list],
  c'rig_caps'tuning_steps :: [C'tuning_step_list],
  c'rig_caps'filters :: [C'filter_list],
  c'rig_caps'str_cal :: C'cal_table,
  c'rig_caps'cfgparams :: Ptr C'confparams,
  c'rig_caps'priv :: Ptr (),
  c'rig_caps'rig_init :: FunPtr (Ptr C'rig -> CInt),
  c'rig_caps'rig_cleanup :: FunPtr (Ptr C'rig -> CInt),
  c'rig_caps'rig_open :: FunPtr (Ptr C'rig -> CInt),
  c'rig_caps'rig_close :: FunPtr (Ptr C'rig -> CInt),
  c'rig_caps'set_freq :: FunPtr (Ptr C'rig -> CInt -> CDouble -> CInt),
  c'rig_caps'get_freq :: FunPtr (Ptr C'rig -> CInt -> Ptr CDouble -> CInt),
  c'rig_caps'set_mode :: FunPtr (Ptr C'rig -> CInt -> C'rmode_t -> CLong -> CInt),
  c'rig_caps'get_mode :: FunPtr (Ptr C'rig -> CInt -> Ptr C'rmode_t -> Ptr CLong -> CInt),
  c'rig_caps'set_vfo :: FunPtr (Ptr C'rig -> CInt -> CInt),
  c'rig_caps'get_vfo :: FunPtr (Ptr C'rig -> Ptr CInt -> CInt),
  c'rig_caps'set_ptt :: FunPtr (Ptr C'rig -> CInt -> C'ptt_t -> CInt),
  c'rig_caps'get_ptt :: FunPtr (Ptr C'rig -> CInt -> Ptr C'ptt_t -> CInt),
  c'rig_caps'get_dcd :: FunPtr (Ptr C'rig -> CInt -> Ptr C'dcd_e -> CInt),
  c'rig_caps'set_rptr_shift :: FunPtr (Ptr C'rig -> CInt -> C'rptr_shift_t -> CInt),
  c'rig_caps'get_rptr_shift :: FunPtr (Ptr C'rig -> CInt -> Ptr C'rptr_shift_t -> CInt),
  c'rig_caps'set_rptr_offs :: FunPtr (Ptr C'rig -> CInt -> CLong -> CInt),
  c'rig_caps'get_rptr_offs :: FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> CInt),
  c'rig_caps'set_split_freq :: FunPtr (Ptr C'rig -> CInt -> CDouble -> CInt),
  c'rig_caps'get_split_freq :: FunPtr (Ptr C'rig -> CInt -> Ptr CDouble -> CInt),
  c'rig_caps'set_split_mode :: FunPtr (Ptr C'rig -> CInt -> C'rmode_t -> CLong -> CInt),
  c'rig_caps'get_split_mode :: FunPtr (Ptr C'rig -> CInt -> Ptr C'rmode_t -> Ptr CLong -> CInt),
  c'rig_caps'set_split_vfo :: FunPtr (Ptr C'rig -> CInt -> C'split_t -> CInt -> CInt),
  c'rig_caps'get_split_vfo :: FunPtr (Ptr C'rig -> CInt -> Ptr C'split_t -> Ptr CInt -> CInt),
  c'rig_caps'set_rit :: FunPtr (Ptr C'rig -> CInt -> CLong -> CInt),
  c'rig_caps'get_rit :: FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> CInt),
  c'rig_caps'set_xit :: FunPtr (Ptr C'rig -> CInt -> CLong -> CInt),
  c'rig_caps'get_xit :: FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> CInt),
  c'rig_caps'set_ts :: FunPtr (Ptr C'rig -> CInt -> CLong -> CInt),
  c'rig_caps'get_ts :: FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> CInt),
  c'rig_caps'set_dcs_code :: FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt),
  c'rig_caps'get_dcs_code :: FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt),
  c'rig_caps'set_tone :: FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt),
  c'rig_caps'get_tone :: FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt),
  c'rig_caps'set_ctcss_tone :: FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt),
  c'rig_caps'get_ctcss_tone :: FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt),
  c'rig_caps'set_dcs_sql :: FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt),
  c'rig_caps'get_dcs_sql :: FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt),
  c'rig_caps'set_tone_sql :: FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt),
  c'rig_caps'get_tone_sql :: FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt),
  c'rig_caps'set_ctcss_sql :: FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt),
  c'rig_caps'get_ctcss_sql :: FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt),
  c'rig_caps'power2mW :: FunPtr (Ptr C'rig -> Ptr CUInt -> CFloat -> CDouble -> C'rmode_t -> CInt),
  c'rig_caps'mW2power :: FunPtr (Ptr C'rig -> Ptr CFloat -> CUInt -> CDouble -> C'rmode_t -> CInt),
  c'rig_caps'set_powerstat :: FunPtr (Ptr C'rig -> C'powerstat_t -> CInt),
  c'rig_caps'get_powerstat :: FunPtr (Ptr C'rig -> Ptr C'powerstat_t -> CInt),
  c'rig_caps'reset :: FunPtr (Ptr C'rig -> C'reset_t -> CInt),
  c'rig_caps'set_ant :: FunPtr (Ptr C'rig -> CInt -> CInt -> CInt),
  c'rig_caps'get_ant :: FunPtr (Ptr C'rig -> CInt -> Ptr CInt -> CInt),
  c'rig_caps'set_level :: FunPtr (Ptr C'rig -> CInt -> CULong -> C'value_t -> CInt),
  c'rig_caps'get_level :: FunPtr (Ptr C'rig -> CInt -> CULong -> Ptr C'value_t -> CInt),
  c'rig_caps'set_func :: FunPtr (Ptr C'rig -> CInt -> CULong -> CInt -> CInt),
  c'rig_caps'get_func :: FunPtr (Ptr C'rig -> CInt -> CULong -> Ptr CInt -> CInt),
  c'rig_caps'set_parm :: FunPtr (Ptr C'rig -> CULong -> C'value_t -> CInt),
  c'rig_caps'get_parm :: FunPtr (Ptr C'rig -> CULong -> Ptr C'value_t -> CInt),
  c'rig_caps'set_ext_level :: FunPtr (Ptr C'rig -> CInt -> CLong -> C'value_t -> CInt),
  c'rig_caps'get_ext_level :: FunPtr (Ptr C'rig -> CInt -> CLong -> Ptr C'value_t -> CInt),
  c'rig_caps'set_ext_parm :: FunPtr (Ptr C'rig -> CLong -> C'value_t -> CInt),
  c'rig_caps'get_ext_parm :: FunPtr (Ptr C'rig -> CLong -> Ptr C'value_t -> CInt),
  c'rig_caps'set_conf :: FunPtr (Ptr C'rig -> CLong -> CString -> CInt),
  c'rig_caps'get_conf :: FunPtr (Ptr C'rig -> CLong -> CString -> CInt),
  c'rig_caps'send_dtmf :: FunPtr (Ptr C'rig -> CInt -> CString -> CInt),
  c'rig_caps'recv_dtmf :: FunPtr (Ptr C'rig -> CInt -> CString -> Ptr CInt -> CInt),
  c'rig_caps'send_morse :: FunPtr (Ptr C'rig -> CInt -> CString -> CInt),
  c'rig_caps'set_bank :: FunPtr (Ptr C'rig -> CInt -> CInt -> CInt),
  c'rig_caps'set_mem :: FunPtr (Ptr C'rig -> CInt -> CInt -> CInt),
  c'rig_caps'get_mem :: FunPtr (Ptr C'rig -> CInt -> Ptr CInt -> CInt),
  c'rig_caps'vfo_op :: FunPtr (Ptr C'rig -> CInt -> C'vfo_op_t -> CInt),
  c'rig_caps'scan :: FunPtr (Ptr C'rig -> CInt -> C'scan_t -> CInt -> CInt),
  c'rig_caps'set_trn :: FunPtr (Ptr C'rig -> CInt -> CInt),
  c'rig_caps'get_trn :: FunPtr (Ptr C'rig -> Ptr CInt -> CInt),
  c'rig_caps'decode_event :: FunPtr (Ptr C'rig -> CInt),
  c'rig_caps'set_channel :: FunPtr (Ptr C'rig -> Ptr C'channel -> CInt),
  c'rig_caps'get_channel :: FunPtr (Ptr C'rig -> Ptr C'channel -> CInt),
  c'rig_caps'get_info :: FunPtr (Ptr C'rig -> CString),
  c'rig_caps'set_chan_all_cb :: FunPtr (Ptr C'rig -> C'chan_cb_t -> Ptr () -> CInt),
  c'rig_caps'get_chan_all_cb :: FunPtr (Ptr C'rig -> C'chan_cb_t -> Ptr () -> CInt),
  c'rig_caps'set_mem_all_cb :: FunPtr (Ptr C'rig -> C'chan_cb_t -> C'confval_cb_t -> Ptr () -> CInt),
  c'rig_caps'get_mem_all_cb :: FunPtr (Ptr C'rig -> C'chan_cb_t -> C'confval_cb_t -> Ptr () -> CInt),
  c'rig_caps'clone_combo_set :: CString,
  c'rig_caps'clone_combo_get :: CString
} deriving (Eq,Show)
p'rig_caps'rig_model p = plusPtr p 0
p'rig_caps'rig_model :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'model_name p = plusPtr p 8
p'rig_caps'model_name :: Ptr (C'rig_caps) -> Ptr (CString)
p'rig_caps'mfg_name p = plusPtr p 16
p'rig_caps'mfg_name :: Ptr (C'rig_caps) -> Ptr (CString)
p'rig_caps'version p = plusPtr p 24
p'rig_caps'version :: Ptr (C'rig_caps) -> Ptr (CString)
p'rig_caps'copyright p = plusPtr p 32
p'rig_caps'copyright :: Ptr (C'rig_caps) -> Ptr (CString)
p'rig_caps'status p = plusPtr p 40
p'rig_caps'status :: Ptr (C'rig_caps) -> Ptr (C'rig_status_e)
p'rig_caps'rig_type p = plusPtr p 44
p'rig_caps'rig_type :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'ptt_type p = plusPtr p 48
p'rig_caps'ptt_type :: Ptr (C'rig_caps) -> Ptr (C'ptt_type_t)
p'rig_caps'dcd_type p = plusPtr p 52
p'rig_caps'dcd_type :: Ptr (C'rig_caps) -> Ptr (C'dcd_type_t)
p'rig_caps'port_type p = plusPtr p 56
p'rig_caps'port_type :: Ptr (C'rig_caps) -> Ptr (C'rig_port_e)
p'rig_caps'serial_rate_min p = plusPtr p 60
p'rig_caps'serial_rate_min :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'serial_rate_max p = plusPtr p 64
p'rig_caps'serial_rate_max :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'serial_data_bits p = plusPtr p 68
p'rig_caps'serial_data_bits :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'serial_stop_bits p = plusPtr p 72
p'rig_caps'serial_stop_bits :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'serial_parity p = plusPtr p 76
p'rig_caps'serial_parity :: Ptr (C'rig_caps) -> Ptr (C'serial_parity_e)
p'rig_caps'serial_handshake p = plusPtr p 80
p'rig_caps'serial_handshake :: Ptr (C'rig_caps) -> Ptr (C'serial_handshake_e)
p'rig_caps'write_delay p = plusPtr p 84
p'rig_caps'write_delay :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'post_write_delay p = plusPtr p 88
p'rig_caps'post_write_delay :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'timeout p = plusPtr p 92
p'rig_caps'timeout :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'retry p = plusPtr p 96
p'rig_caps'retry :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'has_get_func p = plusPtr p 104
p'rig_caps'has_get_func :: Ptr (C'rig_caps) -> Ptr (CULong)
p'rig_caps'has_set_func p = plusPtr p 112
p'rig_caps'has_set_func :: Ptr (C'rig_caps) -> Ptr (CULong)
p'rig_caps'has_get_level p = plusPtr p 120
p'rig_caps'has_get_level :: Ptr (C'rig_caps) -> Ptr (CULong)
p'rig_caps'has_set_level p = plusPtr p 128
p'rig_caps'has_set_level :: Ptr (C'rig_caps) -> Ptr (CULong)
p'rig_caps'has_get_parm p = plusPtr p 136
p'rig_caps'has_get_parm :: Ptr (C'rig_caps) -> Ptr (CULong)
p'rig_caps'has_set_parm p = plusPtr p 144
p'rig_caps'has_set_parm :: Ptr (C'rig_caps) -> Ptr (CULong)
p'rig_caps'level_gran p = plusPtr p 152
p'rig_caps'level_gran :: Ptr (C'rig_caps) -> Ptr (C'gran)
p'rig_caps'parm_gran p = plusPtr p 920
p'rig_caps'parm_gran :: Ptr (C'rig_caps) -> Ptr (C'gran)
p'rig_caps'extparms p = plusPtr p 1688
p'rig_caps'extparms :: Ptr (C'rig_caps) -> Ptr (Ptr C'confparams)
p'rig_caps'extlevels p = plusPtr p 1696
p'rig_caps'extlevels :: Ptr (C'rig_caps) -> Ptr (Ptr C'confparams)
p'rig_caps'ctcss_list p = plusPtr p 1704
p'rig_caps'ctcss_list :: Ptr (C'rig_caps) -> Ptr (Ptr CUInt)
p'rig_caps'dcs_list p = plusPtr p 1712
p'rig_caps'dcs_list :: Ptr (C'rig_caps) -> Ptr (Ptr CUInt)
p'rig_caps'preamp p = plusPtr p 1720
p'rig_caps'preamp :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'attenuator p = plusPtr p 1752
p'rig_caps'attenuator :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'max_rit p = plusPtr p 1784
p'rig_caps'max_rit :: Ptr (C'rig_caps) -> Ptr (CLong)
p'rig_caps'max_xit p = plusPtr p 1792
p'rig_caps'max_xit :: Ptr (C'rig_caps) -> Ptr (CLong)
p'rig_caps'max_ifshift p = plusPtr p 1800
p'rig_caps'max_ifshift :: Ptr (C'rig_caps) -> Ptr (CLong)
p'rig_caps'announces p = plusPtr p 1808
p'rig_caps'announces :: Ptr (C'rig_caps) -> Ptr (C'ann_t)
p'rig_caps'vfo_ops p = plusPtr p 1812
p'rig_caps'vfo_ops :: Ptr (C'rig_caps) -> Ptr (C'vfo_op_t)
p'rig_caps'scan_ops p = plusPtr p 1816
p'rig_caps'scan_ops :: Ptr (C'rig_caps) -> Ptr (C'scan_t)
p'rig_caps'targetable_vfo p = plusPtr p 1820
p'rig_caps'targetable_vfo :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'transceive p = plusPtr p 1824
p'rig_caps'transceive :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'bank_qty p = plusPtr p 1828
p'rig_caps'bank_qty :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'chan_desc_sz p = plusPtr p 1832
p'rig_caps'chan_desc_sz :: Ptr (C'rig_caps) -> Ptr (CInt)
p'rig_caps'chan_list p = plusPtr p 1840
p'rig_caps'chan_list :: Ptr (C'rig_caps) -> Ptr (C'chan_list)
p'rig_caps'rx_range_list1 p = plusPtr p 2608
p'rig_caps'rx_range_list1 :: Ptr (C'rig_caps) -> Ptr (C'freq_range_list)
p'rig_caps'tx_range_list1 p = plusPtr p 3808
p'rig_caps'tx_range_list1 :: Ptr (C'rig_caps) -> Ptr (C'freq_range_list)
p'rig_caps'rx_range_list2 p = plusPtr p 5008
p'rig_caps'rx_range_list2 :: Ptr (C'rig_caps) -> Ptr (C'freq_range_list)
p'rig_caps'tx_range_list2 p = plusPtr p 6208
p'rig_caps'tx_range_list2 :: Ptr (C'rig_caps) -> Ptr (C'freq_range_list)
p'rig_caps'tuning_steps p = plusPtr p 7408
p'rig_caps'tuning_steps :: Ptr (C'rig_caps) -> Ptr (C'tuning_step_list)
p'rig_caps'filters p = plusPtr p 7728
p'rig_caps'filters :: Ptr (C'rig_caps) -> Ptr (C'filter_list)
p'rig_caps'str_cal p = plusPtr p 8400
p'rig_caps'str_cal :: Ptr (C'rig_caps) -> Ptr (C'cal_table)
p'rig_caps'cfgparams p = plusPtr p 8664
p'rig_caps'cfgparams :: Ptr (C'rig_caps) -> Ptr (Ptr C'confparams)
p'rig_caps'priv p = plusPtr p 8672
p'rig_caps'priv :: Ptr (C'rig_caps) -> Ptr (Ptr ())
p'rig_caps'rig_init p = plusPtr p 8680
p'rig_caps'rig_init :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt))
p'rig_caps'rig_cleanup p = plusPtr p 8688
p'rig_caps'rig_cleanup :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt))
p'rig_caps'rig_open p = plusPtr p 8696
p'rig_caps'rig_open :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt))
p'rig_caps'rig_close p = plusPtr p 8704
p'rig_caps'rig_close :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt))
p'rig_caps'set_freq p = plusPtr p 8712
p'rig_caps'set_freq :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CDouble -> CInt))
p'rig_caps'get_freq p = plusPtr p 8720
p'rig_caps'get_freq :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CDouble -> CInt))
p'rig_caps'set_mode p = plusPtr p 8728
p'rig_caps'set_mode :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> C'rmode_t -> CLong -> CInt))
p'rig_caps'get_mode p = plusPtr p 8736
p'rig_caps'get_mode :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr C'rmode_t -> Ptr CLong -> CInt))
p'rig_caps'set_vfo p = plusPtr p 8744
p'rig_caps'set_vfo :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CInt))
p'rig_caps'get_vfo p = plusPtr p 8752
p'rig_caps'get_vfo :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> Ptr CInt -> CInt))
p'rig_caps'set_ptt p = plusPtr p 8760
p'rig_caps'set_ptt :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> C'ptt_t -> CInt))
p'rig_caps'get_ptt p = plusPtr p 8768
p'rig_caps'get_ptt :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr C'ptt_t -> CInt))
p'rig_caps'get_dcd p = plusPtr p 8776
p'rig_caps'get_dcd :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr C'dcd_e -> CInt))
p'rig_caps'set_rptr_shift p = plusPtr p 8784
p'rig_caps'set_rptr_shift :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> C'rptr_shift_t -> CInt))
p'rig_caps'get_rptr_shift p = plusPtr p 8792
p'rig_caps'get_rptr_shift :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr C'rptr_shift_t -> CInt))
p'rig_caps'set_rptr_offs p = plusPtr p 8800
p'rig_caps'set_rptr_offs :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CLong -> CInt))
p'rig_caps'get_rptr_offs p = plusPtr p 8808
p'rig_caps'get_rptr_offs :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> CInt))
p'rig_caps'set_split_freq p = plusPtr p 8816
p'rig_caps'set_split_freq :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CDouble -> CInt))
p'rig_caps'get_split_freq p = plusPtr p 8824
p'rig_caps'get_split_freq :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CDouble -> CInt))
p'rig_caps'set_split_mode p = plusPtr p 8832
p'rig_caps'set_split_mode :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> C'rmode_t -> CLong -> CInt))
p'rig_caps'get_split_mode p = plusPtr p 8840
p'rig_caps'get_split_mode :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr C'rmode_t -> Ptr CLong -> CInt))
p'rig_caps'set_split_vfo p = plusPtr p 8848
p'rig_caps'set_split_vfo :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> C'split_t -> CInt -> CInt))
p'rig_caps'get_split_vfo p = plusPtr p 8856
p'rig_caps'get_split_vfo :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr C'split_t -> Ptr CInt -> CInt))
p'rig_caps'set_rit p = plusPtr p 8864
p'rig_caps'set_rit :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CLong -> CInt))
p'rig_caps'get_rit p = plusPtr p 8872
p'rig_caps'get_rit :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> CInt))
p'rig_caps'set_xit p = plusPtr p 8880
p'rig_caps'set_xit :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CLong -> CInt))
p'rig_caps'get_xit p = plusPtr p 8888
p'rig_caps'get_xit :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> CInt))
p'rig_caps'set_ts p = plusPtr p 8896
p'rig_caps'set_ts :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CLong -> CInt))
p'rig_caps'get_ts p = plusPtr p 8904
p'rig_caps'get_ts :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> CInt))
p'rig_caps'set_dcs_code p = plusPtr p 8912
p'rig_caps'set_dcs_code :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt))
p'rig_caps'get_dcs_code p = plusPtr p 8920
p'rig_caps'get_dcs_code :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt))
p'rig_caps'set_tone p = plusPtr p 8928
p'rig_caps'set_tone :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt))
p'rig_caps'get_tone p = plusPtr p 8936
p'rig_caps'get_tone :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt))
p'rig_caps'set_ctcss_tone p = plusPtr p 8944
p'rig_caps'set_ctcss_tone :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt))
p'rig_caps'get_ctcss_tone p = plusPtr p 8952
p'rig_caps'get_ctcss_tone :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt))
p'rig_caps'set_dcs_sql p = plusPtr p 8960
p'rig_caps'set_dcs_sql :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt))
p'rig_caps'get_dcs_sql p = plusPtr p 8968
p'rig_caps'get_dcs_sql :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt))
p'rig_caps'set_tone_sql p = plusPtr p 8976
p'rig_caps'set_tone_sql :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt))
p'rig_caps'get_tone_sql p = plusPtr p 8984
p'rig_caps'get_tone_sql :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt))
p'rig_caps'set_ctcss_sql p = plusPtr p 8992
p'rig_caps'set_ctcss_sql :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CUInt -> CInt))
p'rig_caps'get_ctcss_sql p = plusPtr p 9000
p'rig_caps'get_ctcss_sql :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> CInt))
p'rig_caps'power2mW p = plusPtr p 9008
p'rig_caps'power2mW :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> Ptr CUInt -> CFloat -> CDouble -> C'rmode_t -> CInt))
p'rig_caps'mW2power p = plusPtr p 9016
p'rig_caps'mW2power :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> Ptr CFloat -> CUInt -> CDouble -> C'rmode_t -> CInt))
p'rig_caps'set_powerstat p = plusPtr p 9024
p'rig_caps'set_powerstat :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> C'powerstat_t -> CInt))
p'rig_caps'get_powerstat p = plusPtr p 9032
p'rig_caps'get_powerstat :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> Ptr C'powerstat_t -> CInt))
p'rig_caps'reset p = plusPtr p 9040
p'rig_caps'reset :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> C'reset_t -> CInt))
p'rig_caps'set_ant p = plusPtr p 9048
p'rig_caps'set_ant :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CInt -> CInt))
p'rig_caps'get_ant p = plusPtr p 9056
p'rig_caps'get_ant :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CInt -> CInt))
p'rig_caps'set_level p = plusPtr p 9064
p'rig_caps'set_level :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CULong -> C'value_t -> CInt))
p'rig_caps'get_level p = plusPtr p 9072
p'rig_caps'get_level :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CULong -> Ptr C'value_t -> CInt))
p'rig_caps'set_func p = plusPtr p 9080
p'rig_caps'set_func :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CULong -> CInt -> CInt))
p'rig_caps'get_func p = plusPtr p 9088
p'rig_caps'get_func :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CULong -> Ptr CInt -> CInt))
p'rig_caps'set_parm p = plusPtr p 9096
p'rig_caps'set_parm :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CULong -> C'value_t -> CInt))
p'rig_caps'get_parm p = plusPtr p 9104
p'rig_caps'get_parm :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CULong -> Ptr C'value_t -> CInt))
p'rig_caps'set_ext_level p = plusPtr p 9112
p'rig_caps'set_ext_level :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CLong -> C'value_t -> CInt))
p'rig_caps'get_ext_level p = plusPtr p 9120
p'rig_caps'get_ext_level :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CLong -> Ptr C'value_t -> CInt))
p'rig_caps'set_ext_parm p = plusPtr p 9128
p'rig_caps'set_ext_parm :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CLong -> C'value_t -> CInt))
p'rig_caps'get_ext_parm p = plusPtr p 9136
p'rig_caps'get_ext_parm :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CLong -> Ptr C'value_t -> CInt))
p'rig_caps'set_conf p = plusPtr p 9144
p'rig_caps'set_conf :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CLong -> CString -> CInt))
p'rig_caps'get_conf p = plusPtr p 9152
p'rig_caps'get_conf :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CLong -> CString -> CInt))
p'rig_caps'send_dtmf p = plusPtr p 9160
p'rig_caps'send_dtmf :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CString -> CInt))
p'rig_caps'recv_dtmf p = plusPtr p 9168
p'rig_caps'recv_dtmf :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CString -> Ptr CInt -> CInt))
p'rig_caps'send_morse p = plusPtr p 9176
p'rig_caps'send_morse :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CString -> CInt))
p'rig_caps'set_bank p = plusPtr p 9184
p'rig_caps'set_bank :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CInt -> CInt))
p'rig_caps'set_mem p = plusPtr p 9192
p'rig_caps'set_mem :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CInt -> CInt))
p'rig_caps'get_mem p = plusPtr p 9200
p'rig_caps'get_mem :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> Ptr CInt -> CInt))
p'rig_caps'vfo_op p = plusPtr p 9208
p'rig_caps'vfo_op :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> C'vfo_op_t -> CInt))
p'rig_caps'scan p = plusPtr p 9216
p'rig_caps'scan :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> C'scan_t -> CInt -> CInt))
p'rig_caps'set_trn p = plusPtr p 9224
p'rig_caps'set_trn :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt -> CInt))
p'rig_caps'get_trn p = plusPtr p 9232
p'rig_caps'get_trn :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> Ptr CInt -> CInt))
p'rig_caps'decode_event p = plusPtr p 9240
p'rig_caps'decode_event :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CInt))
p'rig_caps'set_channel p = plusPtr p 9248
p'rig_caps'set_channel :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> Ptr C'channel -> CInt))
p'rig_caps'get_channel p = plusPtr p 9256
p'rig_caps'get_channel :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> Ptr C'channel -> CInt))
p'rig_caps'get_info p = plusPtr p 9264
p'rig_caps'get_info :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> CString))
p'rig_caps'set_chan_all_cb p = plusPtr p 9272
p'rig_caps'set_chan_all_cb :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> C'chan_cb_t -> Ptr () -> CInt))
p'rig_caps'get_chan_all_cb p = plusPtr p 9280
p'rig_caps'get_chan_all_cb :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> C'chan_cb_t -> Ptr () -> CInt))
p'rig_caps'set_mem_all_cb p = plusPtr p 9288
p'rig_caps'set_mem_all_cb :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> C'chan_cb_t -> C'confval_cb_t -> Ptr () -> CInt))
p'rig_caps'get_mem_all_cb p = plusPtr p 9296
p'rig_caps'get_mem_all_cb :: Ptr (C'rig_caps) -> Ptr (FunPtr (Ptr C'rig -> C'chan_cb_t -> C'confval_cb_t -> Ptr () -> CInt))
p'rig_caps'clone_combo_set p = plusPtr p 9304
p'rig_caps'clone_combo_set :: Ptr (C'rig_caps) -> Ptr (CString)
p'rig_caps'clone_combo_get p = plusPtr p 9312
p'rig_caps'clone_combo_get :: Ptr (C'rig_caps) -> Ptr (CString)
instance Storable C'rig_caps where
  sizeOf _ = 9320
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 16
    v3 <- peekByteOff p 24
    v4 <- peekByteOff p 32
    v5 <- peekByteOff p 40
    v6 <- peekByteOff p 44
    v7 <- peekByteOff p 48
    v8 <- peekByteOff p 52
    v9 <- peekByteOff p 56
    v10 <- peekByteOff p 60
    v11 <- peekByteOff p 64
    v12 <- peekByteOff p 68
    v13 <- peekByteOff p 72
    v14 <- peekByteOff p 76
    v15 <- peekByteOff p 80
    v16 <- peekByteOff p 84
    v17 <- peekByteOff p 88
    v18 <- peekByteOff p 92
    v19 <- peekByteOff p 96
    v20 <- peekByteOff p 104
    v21 <- peekByteOff p 112
    v22 <- peekByteOff p 120
    v23 <- peekByteOff p 128
    v24 <- peekByteOff p 136
    v25 <- peekByteOff p 144
    v26 <- let s = div 768 $ sizeOf $ (undefined :: C'gran) in peekArray s (plusPtr p 152)
    v27 <- let s = div 768 $ sizeOf $ (undefined :: C'gran) in peekArray s (plusPtr p 920)
    v28 <- peekByteOff p 1688
    v29 <- peekByteOff p 1696
    v30 <- peekByteOff p 1704
    v31 <- peekByteOff p 1712
    v32 <- let s = div 32 $ sizeOf $ (undefined :: CInt) in peekArray s (plusPtr p 1720)
    v33 <- let s = div 32 $ sizeOf $ (undefined :: CInt) in peekArray s (plusPtr p 1752)
    v34 <- peekByteOff p 1784
    v35 <- peekByteOff p 1792
    v36 <- peekByteOff p 1800
    v37 <- peekByteOff p 1808
    v38 <- peekByteOff p 1812
    v39 <- peekByteOff p 1816
    v40 <- peekByteOff p 1820
    v41 <- peekByteOff p 1824
    v42 <- peekByteOff p 1828
    v43 <- peekByteOff p 1832
    v44 <- let s = div 768 $ sizeOf $ (undefined :: C'chan_list) in peekArray s (plusPtr p 1840)
    v45 <- let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list) in peekArray s (plusPtr p 2608)
    v46 <- let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list) in peekArray s (plusPtr p 3808)
    v47 <- let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list) in peekArray s (plusPtr p 5008)
    v48 <- let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list) in peekArray s (plusPtr p 6208)
    v49 <- let s = div 320 $ sizeOf $ (undefined :: C'tuning_step_list) in peekArray s (plusPtr p 7408)
    v50 <- let s = div 672 $ sizeOf $ (undefined :: C'filter_list) in peekArray s (plusPtr p 7728)
    v51 <- peekByteOff p 8400
    v52 <- peekByteOff p 8664
    v53 <- peekByteOff p 8672
    v54 <- peekByteOff p 8680
    v55 <- peekByteOff p 8688
    v56 <- peekByteOff p 8696
    v57 <- peekByteOff p 8704
    v58 <- peekByteOff p 8712
    v59 <- peekByteOff p 8720
    v60 <- peekByteOff p 8728
    v61 <- peekByteOff p 8736
    v62 <- peekByteOff p 8744
    v63 <- peekByteOff p 8752
    v64 <- peekByteOff p 8760
    v65 <- peekByteOff p 8768
    v66 <- peekByteOff p 8776
    v67 <- peekByteOff p 8784
    v68 <- peekByteOff p 8792
    v69 <- peekByteOff p 8800
    v70 <- peekByteOff p 8808
    v71 <- peekByteOff p 8816
    v72 <- peekByteOff p 8824
    v73 <- peekByteOff p 8832
    v74 <- peekByteOff p 8840
    v75 <- peekByteOff p 8848
    v76 <- peekByteOff p 8856
    v77 <- peekByteOff p 8864
    v78 <- peekByteOff p 8872
    v79 <- peekByteOff p 8880
    v80 <- peekByteOff p 8888
    v81 <- peekByteOff p 8896
    v82 <- peekByteOff p 8904
    v83 <- peekByteOff p 8912
    v84 <- peekByteOff p 8920
    v85 <- peekByteOff p 8928
    v86 <- peekByteOff p 8936
    v87 <- peekByteOff p 8944
    v88 <- peekByteOff p 8952
    v89 <- peekByteOff p 8960
    v90 <- peekByteOff p 8968
    v91 <- peekByteOff p 8976
    v92 <- peekByteOff p 8984
    v93 <- peekByteOff p 8992
    v94 <- peekByteOff p 9000
    v95 <- peekByteOff p 9008
    v96 <- peekByteOff p 9016
    v97 <- peekByteOff p 9024
    v98 <- peekByteOff p 9032
    v99 <- peekByteOff p 9040
    v100 <- peekByteOff p 9048
    v101 <- peekByteOff p 9056
    v102 <- peekByteOff p 9064
    v103 <- peekByteOff p 9072
    v104 <- peekByteOff p 9080
    v105 <- peekByteOff p 9088
    v106 <- peekByteOff p 9096
    v107 <- peekByteOff p 9104
    v108 <- peekByteOff p 9112
    v109 <- peekByteOff p 9120
    v110 <- peekByteOff p 9128
    v111 <- peekByteOff p 9136
    v112 <- peekByteOff p 9144
    v113 <- peekByteOff p 9152
    v114 <- peekByteOff p 9160
    v115 <- peekByteOff p 9168
    v116 <- peekByteOff p 9176
    v117 <- peekByteOff p 9184
    v118 <- peekByteOff p 9192
    v119 <- peekByteOff p 9200
    v120 <- peekByteOff p 9208
    v121 <- peekByteOff p 9216
    v122 <- peekByteOff p 9224
    v123 <- peekByteOff p 9232
    v124 <- peekByteOff p 9240
    v125 <- peekByteOff p 9248
    v126 <- peekByteOff p 9256
    v127 <- peekByteOff p 9264
    v128 <- peekByteOff p 9272
    v129 <- peekByteOff p 9280
    v130 <- peekByteOff p 9288
    v131 <- peekByteOff p 9296
    v132 <- peekByteOff p 9304
    v133 <- peekByteOff p 9312
    return $ C'rig_caps v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 v50 v51 v52 v53 v54 v55 v56 v57 v58 v59 v60 v61 v62 v63 v64 v65 v66 v67 v68 v69 v70 v71 v72 v73 v74 v75 v76 v77 v78 v79 v80 v81 v82 v83 v84 v85 v86 v87 v88 v89 v90 v91 v92 v93 v94 v95 v96 v97 v98 v99 v100 v101 v102 v103 v104 v105 v106 v107 v108 v109 v110 v111 v112 v113 v114 v115 v116 v117 v118 v119 v120 v121 v122 v123 v124 v125 v126 v127 v128 v129 v130 v131 v132 v133
  poke p (C'rig_caps v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37 v38 v39 v40 v41 v42 v43 v44 v45 v46 v47 v48 v49 v50 v51 v52 v53 v54 v55 v56 v57 v58 v59 v60 v61 v62 v63 v64 v65 v66 v67 v68 v69 v70 v71 v72 v73 v74 v75 v76 v77 v78 v79 v80 v81 v82 v83 v84 v85 v86 v87 v88 v89 v90 v91 v92 v93 v94 v95 v96 v97 v98 v99 v100 v101 v102 v103 v104 v105 v106 v107 v108 v109 v110 v111 v112 v113 v114 v115 v116 v117 v118 v119 v120 v121 v122 v123 v124 v125 v126 v127 v128 v129 v130 v131 v132 v133) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 16 v2
    pokeByteOff p 24 v3
    pokeByteOff p 32 v4
    pokeByteOff p 40 v5
    pokeByteOff p 44 v6
    pokeByteOff p 48 v7
    pokeByteOff p 52 v8
    pokeByteOff p 56 v9
    pokeByteOff p 60 v10
    pokeByteOff p 64 v11
    pokeByteOff p 68 v12
    pokeByteOff p 72 v13
    pokeByteOff p 76 v14
    pokeByteOff p 80 v15
    pokeByteOff p 84 v16
    pokeByteOff p 88 v17
    pokeByteOff p 92 v18
    pokeByteOff p 96 v19
    pokeByteOff p 104 v20
    pokeByteOff p 112 v21
    pokeByteOff p 120 v22
    pokeByteOff p 128 v23
    pokeByteOff p 136 v24
    pokeByteOff p 144 v25
    let s = div 768 $ sizeOf $ (undefined :: C'gran)
    pokeArray (plusPtr p 152) (take s v26)
    let s = div 768 $ sizeOf $ (undefined :: C'gran)
    pokeArray (plusPtr p 920) (take s v27)
    pokeByteOff p 1688 v28
    pokeByteOff p 1696 v29
    pokeByteOff p 1704 v30
    pokeByteOff p 1712 v31
    let s = div 32 $ sizeOf $ (undefined :: CInt)
    pokeArray (plusPtr p 1720) (take s v32)
    let s = div 32 $ sizeOf $ (undefined :: CInt)
    pokeArray (plusPtr p 1752) (take s v33)
    pokeByteOff p 1784 v34
    pokeByteOff p 1792 v35
    pokeByteOff p 1800 v36
    pokeByteOff p 1808 v37
    pokeByteOff p 1812 v38
    pokeByteOff p 1816 v39
    pokeByteOff p 1820 v40
    pokeByteOff p 1824 v41
    pokeByteOff p 1828 v42
    pokeByteOff p 1832 v43
    let s = div 768 $ sizeOf $ (undefined :: C'chan_list)
    pokeArray (plusPtr p 1840) (take s v44)
    let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list)
    pokeArray (plusPtr p 2608) (take s v45)
    let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list)
    pokeArray (plusPtr p 3808) (take s v46)
    let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list)
    pokeArray (plusPtr p 5008) (take s v47)
    let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list)
    pokeArray (plusPtr p 6208) (take s v48)
    let s = div 320 $ sizeOf $ (undefined :: C'tuning_step_list)
    pokeArray (plusPtr p 7408) (take s v49)
    let s = div 672 $ sizeOf $ (undefined :: C'filter_list)
    pokeArray (plusPtr p 7728) (take s v50)
    pokeByteOff p 8400 v51
    pokeByteOff p 8664 v52
    pokeByteOff p 8672 v53
    pokeByteOff p 8680 v54
    pokeByteOff p 8688 v55
    pokeByteOff p 8696 v56
    pokeByteOff p 8704 v57
    pokeByteOff p 8712 v58
    pokeByteOff p 8720 v59
    pokeByteOff p 8728 v60
    pokeByteOff p 8736 v61
    pokeByteOff p 8744 v62
    pokeByteOff p 8752 v63
    pokeByteOff p 8760 v64
    pokeByteOff p 8768 v65
    pokeByteOff p 8776 v66
    pokeByteOff p 8784 v67
    pokeByteOff p 8792 v68
    pokeByteOff p 8800 v69
    pokeByteOff p 8808 v70
    pokeByteOff p 8816 v71
    pokeByteOff p 8824 v72
    pokeByteOff p 8832 v73
    pokeByteOff p 8840 v74
    pokeByteOff p 8848 v75
    pokeByteOff p 8856 v76
    pokeByteOff p 8864 v77
    pokeByteOff p 8872 v78
    pokeByteOff p 8880 v79
    pokeByteOff p 8888 v80
    pokeByteOff p 8896 v81
    pokeByteOff p 8904 v82
    pokeByteOff p 8912 v83
    pokeByteOff p 8920 v84
    pokeByteOff p 8928 v85
    pokeByteOff p 8936 v86
    pokeByteOff p 8944 v87
    pokeByteOff p 8952 v88
    pokeByteOff p 8960 v89
    pokeByteOff p 8968 v90
    pokeByteOff p 8976 v91
    pokeByteOff p 8984 v92
    pokeByteOff p 8992 v93
    pokeByteOff p 9000 v94
    pokeByteOff p 9008 v95
    pokeByteOff p 9016 v96
    pokeByteOff p 9024 v97
    pokeByteOff p 9032 v98
    pokeByteOff p 9040 v99
    pokeByteOff p 9048 v100
    pokeByteOff p 9056 v101
    pokeByteOff p 9064 v102
    pokeByteOff p 9072 v103
    pokeByteOff p 9080 v104
    pokeByteOff p 9088 v105
    pokeByteOff p 9096 v106
    pokeByteOff p 9104 v107
    pokeByteOff p 9112 v108
    pokeByteOff p 9120 v109
    pokeByteOff p 9128 v110
    pokeByteOff p 9136 v111
    pokeByteOff p 9144 v112
    pokeByteOff p 9152 v113
    pokeByteOff p 9160 v114
    pokeByteOff p 9168 v115
    pokeByteOff p 9176 v116
    pokeByteOff p 9184 v117
    pokeByteOff p 9192 v118
    pokeByteOff p 9200 v119
    pokeByteOff p 9208 v120
    pokeByteOff p 9216 v121
    pokeByteOff p 9224 v122
    pokeByteOff p 9232 v123
    pokeByteOff p 9240 v124
    pokeByteOff p 9248 v125
    pokeByteOff p 9256 v126
    pokeByteOff p 9264 v127
    pokeByteOff p 9272 v128
    pokeByteOff p 9280 v129
    pokeByteOff p 9288 v130
    pokeByteOff p 9296 v131
    pokeByteOff p 9304 v132
    pokeByteOff p 9312 v133
    return ()

{-# LINE 1148 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef struct hamlib_port {
            union type {
                rig_port_t rig; ptt_type_t ptt; dcd_type_t dcd;
            } type;
            int fd;
            void * handle;
            int write_delay;
            int post_write_delay;
            struct post_write_date {
                int tv_sec, tv_usec;
            } post_write_date;
            int timeout;
            int retry;
            char pathname[100];
            union parm {
                struct serial {
                    int rate;
                    int data_bits;
                    int stop_bits;
                    enum serial_parity_e parity;
                    enum serial_handshake_e handshake;
                    enum serial_control_state_e rts_state;
                    enum serial_control_state_e dtr_state;
                } serial;
                struct parallel {
                    int pin;
                } parallel;
                struct cm108 {
                    int ptt_bitnum;
                } cm108;
                struct usb {
                    int vid;
                    int pid;
                    int conf;
                    int iface;
                    int alt;
                    char * vendor_name;
                    char * product;
                } usb;
            } parm;
        } hamlib_port_t; -}

{-# LINE 1190 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1191 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1192 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1193 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'type = C'type{
  c'type'rig :: C'rig_port_t,
  c'type'ptt :: C'ptt_type_t,
  c'type'dcd :: C'dcd_type_t
} deriving (Eq,Show)
p'type'rig p = plusPtr p 0
p'type'rig :: Ptr (C'type) -> Ptr (C'rig_port_t)
p'type'ptt p = plusPtr p 0
p'type'ptt :: Ptr (C'type) -> Ptr (C'ptt_type_t)
p'type'dcd p = plusPtr p 0
p'type'dcd :: Ptr (C'type) -> Ptr (C'dcd_type_t)
instance Storable C'type where
  sizeOf _ = 4
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    v2 <- peekByteOff p 0
    return $ C'type v0 v1 v2
  poke p (C'type v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    pokeByteOff p 0 v2
    return ()

{-# LINE 1194 "src/Bindings/Hamlib/Rig.hsc" #-}


{-# LINE 1196 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1197 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1198 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'post_write_date = C'post_write_date{
  c'post_write_date'tv_sec :: CInt,
  c'post_write_date'tv_usec :: CInt
} deriving (Eq,Show)
p'post_write_date'tv_sec p = plusPtr p 0
p'post_write_date'tv_sec :: Ptr (C'post_write_date) -> Ptr (CInt)
p'post_write_date'tv_usec p = plusPtr p 4
p'post_write_date'tv_usec :: Ptr (C'post_write_date) -> Ptr (CInt)
instance Storable C'post_write_date where
  sizeOf _ = 8
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    return $ C'post_write_date v0 v1
  poke p (C'post_write_date v0 v1) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    return ()

{-# LINE 1199 "src/Bindings/Hamlib/Rig.hsc" #-}


{-# LINE 1201 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1202 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1203 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1204 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1205 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1206 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1207 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1208 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'serial = C'serial{
  c'serial'rate :: CInt,
  c'serial'data_bits :: CInt,
  c'serial'stop_bits :: CInt,
  c'serial'parity :: C'serial_parity_e,
  c'serial'handshake :: C'serial_handshake_e,
  c'serial'rts_state :: C'serial_control_state_e,
  c'serial'dtr_state :: C'serial_control_state_e
} deriving (Eq,Show)
p'serial'rate p = plusPtr p 0
p'serial'rate :: Ptr (C'serial) -> Ptr (CInt)
p'serial'data_bits p = plusPtr p 4
p'serial'data_bits :: Ptr (C'serial) -> Ptr (CInt)
p'serial'stop_bits p = plusPtr p 8
p'serial'stop_bits :: Ptr (C'serial) -> Ptr (CInt)
p'serial'parity p = plusPtr p 12
p'serial'parity :: Ptr (C'serial) -> Ptr (C'serial_parity_e)
p'serial'handshake p = plusPtr p 16
p'serial'handshake :: Ptr (C'serial) -> Ptr (C'serial_handshake_e)
p'serial'rts_state p = plusPtr p 20
p'serial'rts_state :: Ptr (C'serial) -> Ptr (C'serial_control_state_e)
p'serial'dtr_state p = plusPtr p 24
p'serial'dtr_state :: Ptr (C'serial) -> Ptr (C'serial_control_state_e)
instance Storable C'serial where
  sizeOf _ = 28
  alignment _ = 4
  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
    return $ C'serial v0 v1 v2 v3 v4 v5 v6
  poke p (C'serial 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
    pokeByteOff p 24 v6
    return ()

{-# LINE 1209 "src/Bindings/Hamlib/Rig.hsc" #-}


{-# LINE 1211 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1212 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'parallel = C'parallel{
  c'parallel'pin :: CInt
} deriving (Eq,Show)
p'parallel'pin p = plusPtr p 0
p'parallel'pin :: Ptr (C'parallel) -> Ptr (CInt)
instance Storable C'parallel where
  sizeOf _ = 4
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'parallel v0
  poke p (C'parallel v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 1213 "src/Bindings/Hamlib/Rig.hsc" #-}


{-# LINE 1215 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1216 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'cm108 = C'cm108{
  c'cm108'ptt_bitnum :: CInt
} deriving (Eq,Show)
p'cm108'ptt_bitnum p = plusPtr p 0
p'cm108'ptt_bitnum :: Ptr (C'cm108) -> Ptr (CInt)
instance Storable C'cm108 where
  sizeOf _ = 4
  alignment _ = 4
  peek p = do
    v0 <- peekByteOff p 0
    return $ C'cm108 v0
  poke p (C'cm108 v0) = do
    pokeByteOff p 0 v0
    return ()

{-# LINE 1217 "src/Bindings/Hamlib/Rig.hsc" #-}


{-# LINE 1219 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1220 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1221 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1222 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1223 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1224 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1225 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1226 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'usb = C'usb{
  c'usb'vid :: CInt,
  c'usb'pid :: CInt,
  c'usb'conf :: CInt,
  c'usb'iface :: CInt,
  c'usb'alt :: CInt,
  c'usb'vendor_name :: CString,
  c'usb'product :: CString
} deriving (Eq,Show)
p'usb'vid p = plusPtr p 0
p'usb'vid :: Ptr (C'usb) -> Ptr (CInt)
p'usb'pid p = plusPtr p 4
p'usb'pid :: Ptr (C'usb) -> Ptr (CInt)
p'usb'conf p = plusPtr p 8
p'usb'conf :: Ptr (C'usb) -> Ptr (CInt)
p'usb'iface p = plusPtr p 12
p'usb'iface :: Ptr (C'usb) -> Ptr (CInt)
p'usb'alt p = plusPtr p 16
p'usb'alt :: Ptr (C'usb) -> Ptr (CInt)
p'usb'vendor_name p = plusPtr p 24
p'usb'vendor_name :: Ptr (C'usb) -> Ptr (CString)
p'usb'product p = plusPtr p 32
p'usb'product :: Ptr (C'usb) -> Ptr (CString)
instance Storable C'usb where
  sizeOf _ = 40
  alignment _ = 8
  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 24
    v6 <- peekByteOff p 32
    return $ C'usb v0 v1 v2 v3 v4 v5 v6
  poke p (C'usb 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 24 v5
    pokeByteOff p 32 v6
    return ()

{-# LINE 1227 "src/Bindings/Hamlib/Rig.hsc" #-}


{-# LINE 1229 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1230 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1231 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1232 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1233 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'parm = C'parm{
  c'parm'serial :: C'serial,
  c'parm'parallel :: C'parallel,
  c'parm'cm108 :: C'cm108,
  c'parm'usb :: C'usb
} deriving (Eq,Show)
p'parm'serial p = plusPtr p 0
p'parm'serial :: Ptr (C'parm) -> Ptr (C'serial)
p'parm'parallel p = plusPtr p 0
p'parm'parallel :: Ptr (C'parm) -> Ptr (C'parallel)
p'parm'cm108 p = plusPtr p 0
p'parm'cm108 :: Ptr (C'parm) -> Ptr (C'cm108)
p'parm'usb p = plusPtr p 0
p'parm'usb :: Ptr (C'parm) -> Ptr (C'usb)
instance Storable C'parm where
  sizeOf _ = 40
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 0
    v2 <- peekByteOff p 0
    v3 <- peekByteOff p 0
    return $ C'parm v0 v1 v2 v3
  poke p (C'parm v0 v1 v2 v3) = do
    pokeByteOff p 0 v0
    pokeByteOff p 0 v1
    pokeByteOff p 0 v2
    pokeByteOff p 0 v3
    return ()

{-# LINE 1234 "src/Bindings/Hamlib/Rig.hsc" #-}


{-# LINE 1236 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1237 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1238 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1239 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1240 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1241 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1242 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1243 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1244 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1245 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1246 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'hamlib_port = C'hamlib_port{
  c'hamlib_port'type :: C'type,
  c'hamlib_port'fd :: CInt,
  c'hamlib_port'handle :: Ptr (),
  c'hamlib_port'write_delay :: CInt,
  c'hamlib_port'post_write_delay :: CInt,
  c'hamlib_port'post_write_date :: C'post_write_date,
  c'hamlib_port'timeout :: CInt,
  c'hamlib_port'retry :: CInt,
  c'hamlib_port'pathname :: [CChar],
  c'hamlib_port'parm :: C'parm
} deriving (Eq,Show)
p'hamlib_port'type p = plusPtr p 0
p'hamlib_port'type :: Ptr (C'hamlib_port) -> Ptr (C'type)
p'hamlib_port'fd p = plusPtr p 4
p'hamlib_port'fd :: Ptr (C'hamlib_port) -> Ptr (CInt)
p'hamlib_port'handle p = plusPtr p 8
p'hamlib_port'handle :: Ptr (C'hamlib_port) -> Ptr (Ptr ())
p'hamlib_port'write_delay p = plusPtr p 16
p'hamlib_port'write_delay :: Ptr (C'hamlib_port) -> Ptr (CInt)
p'hamlib_port'post_write_delay p = plusPtr p 20
p'hamlib_port'post_write_delay :: Ptr (C'hamlib_port) -> Ptr (CInt)
p'hamlib_port'post_write_date p = plusPtr p 24
p'hamlib_port'post_write_date :: Ptr (C'hamlib_port) -> Ptr (C'post_write_date)
p'hamlib_port'timeout p = plusPtr p 32
p'hamlib_port'timeout :: Ptr (C'hamlib_port) -> Ptr (CInt)
p'hamlib_port'retry p = plusPtr p 36
p'hamlib_port'retry :: Ptr (C'hamlib_port) -> Ptr (CInt)
p'hamlib_port'pathname p = plusPtr p 40
p'hamlib_port'pathname :: Ptr (C'hamlib_port) -> Ptr (CChar)
p'hamlib_port'parm p = plusPtr p 144
p'hamlib_port'parm :: Ptr (C'hamlib_port) -> Ptr (C'parm)
instance Storable C'hamlib_port where
  sizeOf _ = 184
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 16
    v4 <- peekByteOff p 20
    v5 <- peekByteOff p 24
    v6 <- peekByteOff p 32
    v7 <- peekByteOff p 36
    v8 <- let s = div 100 $ sizeOf $ (undefined :: CChar) in peekArray s (plusPtr p 40)
    v9 <- peekByteOff p 144
    return $ C'hamlib_port v0 v1 v2 v3 v4 v5 v6 v7 v8 v9
  poke p (C'hamlib_port v0 v1 v2 v3 v4 v5 v6 v7 v8 v9) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 16 v3
    pokeByteOff p 20 v4
    pokeByteOff p 24 v5
    pokeByteOff p 32 v6
    pokeByteOff p 36 v7
    let s = div 100 $ sizeOf $ (undefined :: CChar)
    pokeArray (plusPtr p 40) (take s v8)
    pokeByteOff p 144 v9
    return ()

{-# LINE 1247 "src/Bindings/Hamlib/Rig.hsc" #-}
{- typedef hamlib_port_t port_t; -}
type C'port_t = C'hamlib_port

{-# LINE 1249 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct rig_state {
    hamlib_port_t rigport;
    hamlib_port_t pttport;
    hamlib_port_t dcdport;
    double vfo_comp;
    int itu_region;
    freq_range_t rx_range_list[30];
    freq_range_t tx_range_list[30];
    struct tuning_step_list tuning_steps[20];
    struct filter_list filters[42];
    cal_table_t str_cal;
    chan_t chan_list[16];
    shortfreq_t max_rit;
    shortfreq_t max_xit;
    shortfreq_t max_ifshift;
    ann_t announces;
    int preamp[8];
    int attenuator[8];
    setting_t has_get_func;
    setting_t has_set_func;
    setting_t has_get_level;
    setting_t has_set_level;
    setting_t has_get_parm;
    setting_t has_set_parm;
    gran_t level_gran[32];
    gran_t parm_gran[32];
    int hold_decode;
    vfo_t current_vfo;
    int vfo_list;
    int comm_state;
    void * priv;
    void * obj;
    int transceive;
    int poll_interval;
    freq_t current_freq;
    rmode_t current_mode;
    pbwidth_t current_width;
    vfo_t tx_vfo;
    int mode_list;
}; -}

{-# LINE 1290 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1291 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1292 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1293 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1294 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1295 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1296 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1297 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1298 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1299 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1300 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1301 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1302 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1303 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1304 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1305 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1306 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1307 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1308 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1309 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1310 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1311 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1312 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1313 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1314 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1315 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1316 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1317 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1318 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1319 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1320 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1321 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1322 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1323 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1324 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1325 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1326 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1327 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1328 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'rig_state = C'rig_state{
  c'rig_state'rigport :: C'hamlib_port,
  c'rig_state'pttport :: C'hamlib_port,
  c'rig_state'dcdport :: C'hamlib_port,
  c'rig_state'vfo_comp :: CDouble,
  c'rig_state'itu_region :: CInt,
  c'rig_state'rx_range_list :: [C'freq_range_list],
  c'rig_state'tx_range_list :: [C'freq_range_list],
  c'rig_state'tuning_steps :: [C'tuning_step_list],
  c'rig_state'filters :: [C'filter_list],
  c'rig_state'str_cal :: C'cal_table,
  c'rig_state'chan_list :: [C'chan_list],
  c'rig_state'max_rit :: CLong,
  c'rig_state'max_xit :: CLong,
  c'rig_state'max_ifshift :: CLong,
  c'rig_state'announces :: C'ann_t,
  c'rig_state'preamp :: [CInt],
  c'rig_state'attenuator :: [CInt],
  c'rig_state'has_get_func :: CULong,
  c'rig_state'has_set_func :: CULong,
  c'rig_state'has_get_level :: CULong,
  c'rig_state'has_set_level :: CULong,
  c'rig_state'has_get_parm :: CULong,
  c'rig_state'has_set_parm :: CULong,
  c'rig_state'level_gran :: [C'gran],
  c'rig_state'parm_gran :: [C'gran],
  c'rig_state'hold_decode :: CInt,
  c'rig_state'current_vfo :: CInt,
  c'rig_state'vfo_list :: CInt,
  c'rig_state'comm_state :: CInt,
  c'rig_state'priv :: Ptr (),
  c'rig_state'obj :: Ptr (),
  c'rig_state'transceive :: CInt,
  c'rig_state'poll_interval :: CInt,
  c'rig_state'current_freq :: CDouble,
  c'rig_state'current_mode :: C'rmode_t,
  c'rig_state'current_width :: CLong,
  c'rig_state'tx_vfo :: CInt,
  c'rig_state'mode_list :: CInt
} deriving (Eq,Show)
p'rig_state'rigport p = plusPtr p 0
p'rig_state'rigport :: Ptr (C'rig_state) -> Ptr (C'hamlib_port)
p'rig_state'pttport p = plusPtr p 184
p'rig_state'pttport :: Ptr (C'rig_state) -> Ptr (C'hamlib_port)
p'rig_state'dcdport p = plusPtr p 368
p'rig_state'dcdport :: Ptr (C'rig_state) -> Ptr (C'hamlib_port)
p'rig_state'vfo_comp p = plusPtr p 552
p'rig_state'vfo_comp :: Ptr (C'rig_state) -> Ptr (CDouble)
p'rig_state'itu_region p = plusPtr p 560
p'rig_state'itu_region :: Ptr (C'rig_state) -> Ptr (CInt)
p'rig_state'rx_range_list p = plusPtr p 568
p'rig_state'rx_range_list :: Ptr (C'rig_state) -> Ptr (C'freq_range_list)
p'rig_state'tx_range_list p = plusPtr p 1768
p'rig_state'tx_range_list :: Ptr (C'rig_state) -> Ptr (C'freq_range_list)
p'rig_state'tuning_steps p = plusPtr p 2968
p'rig_state'tuning_steps :: Ptr (C'rig_state) -> Ptr (C'tuning_step_list)
p'rig_state'filters p = plusPtr p 3288
p'rig_state'filters :: Ptr (C'rig_state) -> Ptr (C'filter_list)
p'rig_state'str_cal p = plusPtr p 3960
p'rig_state'str_cal :: Ptr (C'rig_state) -> Ptr (C'cal_table)
p'rig_state'chan_list p = plusPtr p 4224
p'rig_state'chan_list :: Ptr (C'rig_state) -> Ptr (C'chan_list)
p'rig_state'max_rit p = plusPtr p 4992
p'rig_state'max_rit :: Ptr (C'rig_state) -> Ptr (CLong)
p'rig_state'max_xit p = plusPtr p 5000
p'rig_state'max_xit :: Ptr (C'rig_state) -> Ptr (CLong)
p'rig_state'max_ifshift p = plusPtr p 5008
p'rig_state'max_ifshift :: Ptr (C'rig_state) -> Ptr (CLong)
p'rig_state'announces p = plusPtr p 5016
p'rig_state'announces :: Ptr (C'rig_state) -> Ptr (C'ann_t)
p'rig_state'preamp p = plusPtr p 5020
p'rig_state'preamp :: Ptr (C'rig_state) -> Ptr (CInt)
p'rig_state'attenuator p = plusPtr p 5052
p'rig_state'attenuator :: Ptr (C'rig_state) -> Ptr (CInt)
p'rig_state'has_get_func p = plusPtr p 5088
p'rig_state'has_get_func :: Ptr (C'rig_state) -> Ptr (CULong)
p'rig_state'has_set_func p = plusPtr p 5096
p'rig_state'has_set_func :: Ptr (C'rig_state) -> Ptr (CULong)
p'rig_state'has_get_level p = plusPtr p 5104
p'rig_state'has_get_level :: Ptr (C'rig_state) -> Ptr (CULong)
p'rig_state'has_set_level p = plusPtr p 5112
p'rig_state'has_set_level :: Ptr (C'rig_state) -> Ptr (CULong)
p'rig_state'has_get_parm p = plusPtr p 5120
p'rig_state'has_get_parm :: Ptr (C'rig_state) -> Ptr (CULong)
p'rig_state'has_set_parm p = plusPtr p 5128
p'rig_state'has_set_parm :: Ptr (C'rig_state) -> Ptr (CULong)
p'rig_state'level_gran p = plusPtr p 5136
p'rig_state'level_gran :: Ptr (C'rig_state) -> Ptr (C'gran)
p'rig_state'parm_gran p = plusPtr p 5904
p'rig_state'parm_gran :: Ptr (C'rig_state) -> Ptr (C'gran)
p'rig_state'hold_decode p = plusPtr p 6672
p'rig_state'hold_decode :: Ptr (C'rig_state) -> Ptr (CInt)
p'rig_state'current_vfo p = plusPtr p 6676
p'rig_state'current_vfo :: Ptr (C'rig_state) -> Ptr (CInt)
p'rig_state'vfo_list p = plusPtr p 6680
p'rig_state'vfo_list :: Ptr (C'rig_state) -> Ptr (CInt)
p'rig_state'comm_state p = plusPtr p 6684
p'rig_state'comm_state :: Ptr (C'rig_state) -> Ptr (CInt)
p'rig_state'priv p = plusPtr p 6688
p'rig_state'priv :: Ptr (C'rig_state) -> Ptr (Ptr ())
p'rig_state'obj p = plusPtr p 6696
p'rig_state'obj :: Ptr (C'rig_state) -> Ptr (Ptr ())
p'rig_state'transceive p = plusPtr p 6704
p'rig_state'transceive :: Ptr (C'rig_state) -> Ptr (CInt)
p'rig_state'poll_interval p = plusPtr p 6708
p'rig_state'poll_interval :: Ptr (C'rig_state) -> Ptr (CInt)
p'rig_state'current_freq p = plusPtr p 6712
p'rig_state'current_freq :: Ptr (C'rig_state) -> Ptr (CDouble)
p'rig_state'current_mode p = plusPtr p 6720
p'rig_state'current_mode :: Ptr (C'rig_state) -> Ptr (C'rmode_t)
p'rig_state'current_width p = plusPtr p 6728
p'rig_state'current_width :: Ptr (C'rig_state) -> Ptr (CLong)
p'rig_state'tx_vfo p = plusPtr p 6736
p'rig_state'tx_vfo :: Ptr (C'rig_state) -> Ptr (CInt)
p'rig_state'mode_list p = plusPtr p 6740
p'rig_state'mode_list :: Ptr (C'rig_state) -> Ptr (CInt)
instance Storable C'rig_state where
  sizeOf _ = 6744
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 184
    v2 <- peekByteOff p 368
    v3 <- peekByteOff p 552
    v4 <- peekByteOff p 560
    v5 <- let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list) in peekArray s (plusPtr p 568)
    v6 <- let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list) in peekArray s (plusPtr p 1768)
    v7 <- let s = div 320 $ sizeOf $ (undefined :: C'tuning_step_list) in peekArray s (plusPtr p 2968)
    v8 <- let s = div 672 $ sizeOf $ (undefined :: C'filter_list) in peekArray s (plusPtr p 3288)
    v9 <- peekByteOff p 3960
    v10 <- let s = div 768 $ sizeOf $ (undefined :: C'chan_list) in peekArray s (plusPtr p 4224)
    v11 <- peekByteOff p 4992
    v12 <- peekByteOff p 5000
    v13 <- peekByteOff p 5008
    v14 <- peekByteOff p 5016
    v15 <- let s = div 32 $ sizeOf $ (undefined :: CInt) in peekArray s (plusPtr p 5020)
    v16 <- let s = div 32 $ sizeOf $ (undefined :: CInt) in peekArray s (plusPtr p 5052)
    v17 <- peekByteOff p 5088
    v18 <- peekByteOff p 5096
    v19 <- peekByteOff p 5104
    v20 <- peekByteOff p 5112
    v21 <- peekByteOff p 5120
    v22 <- peekByteOff p 5128
    v23 <- let s = div 768 $ sizeOf $ (undefined :: C'gran) in peekArray s (plusPtr p 5136)
    v24 <- let s = div 768 $ sizeOf $ (undefined :: C'gran) in peekArray s (plusPtr p 5904)
    v25 <- peekByteOff p 6672
    v26 <- peekByteOff p 6676
    v27 <- peekByteOff p 6680
    v28 <- peekByteOff p 6684
    v29 <- peekByteOff p 6688
    v30 <- peekByteOff p 6696
    v31 <- peekByteOff p 6704
    v32 <- peekByteOff p 6708
    v33 <- peekByteOff p 6712
    v34 <- peekByteOff p 6720
    v35 <- peekByteOff p 6728
    v36 <- peekByteOff p 6736
    v37 <- peekByteOff p 6740
    return $ C'rig_state v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37
  poke p (C'rig_state v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v24 v25 v26 v27 v28 v29 v30 v31 v32 v33 v34 v35 v36 v37) = do
    pokeByteOff p 0 v0
    pokeByteOff p 184 v1
    pokeByteOff p 368 v2
    pokeByteOff p 552 v3
    pokeByteOff p 560 v4
    let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list)
    pokeArray (plusPtr p 568) (take s v5)
    let s = div 1200 $ sizeOf $ (undefined :: C'freq_range_list)
    pokeArray (plusPtr p 1768) (take s v6)
    let s = div 320 $ sizeOf $ (undefined :: C'tuning_step_list)
    pokeArray (plusPtr p 2968) (take s v7)
    let s = div 672 $ sizeOf $ (undefined :: C'filter_list)
    pokeArray (plusPtr p 3288) (take s v8)
    pokeByteOff p 3960 v9
    let s = div 768 $ sizeOf $ (undefined :: C'chan_list)
    pokeArray (plusPtr p 4224) (take s v10)
    pokeByteOff p 4992 v11
    pokeByteOff p 5000 v12
    pokeByteOff p 5008 v13
    pokeByteOff p 5016 v14
    let s = div 32 $ sizeOf $ (undefined :: CInt)
    pokeArray (plusPtr p 5020) (take s v15)
    let s = div 32 $ sizeOf $ (undefined :: CInt)
    pokeArray (plusPtr p 5052) (take s v16)
    pokeByteOff p 5088 v17
    pokeByteOff p 5096 v18
    pokeByteOff p 5104 v19
    pokeByteOff p 5112 v20
    pokeByteOff p 5120 v21
    pokeByteOff p 5128 v22
    let s = div 768 $ sizeOf $ (undefined :: C'gran)
    pokeArray (plusPtr p 5136) (take s v23)
    let s = div 768 $ sizeOf $ (undefined :: C'gran)
    pokeArray (plusPtr p 5904) (take s v24)
    pokeByteOff p 6672 v25
    pokeByteOff p 6676 v26
    pokeByteOff p 6680 v27
    pokeByteOff p 6684 v28
    pokeByteOff p 6688 v29
    pokeByteOff p 6696 v30
    pokeByteOff p 6704 v31
    pokeByteOff p 6708 v32
    pokeByteOff p 6712 v33
    pokeByteOff p 6720 v34
    pokeByteOff p 6728 v35
    pokeByteOff p 6736 v36
    pokeByteOff p 6740 v37
    return ()

{-# LINE 1329 "src/Bindings/Hamlib/Rig.hsc" #-}

type C'freq_cb_t = FunPtr (Ptr C'rig -> CInt -> CDouble -> Ptr () -> IO CInt)
foreign import ccall "wrapper" mk'freq_cb_t
  :: (Ptr C'rig -> CInt -> CDouble -> Ptr () -> IO CInt) -> IO C'freq_cb_t
foreign import ccall "dynamic" mK'freq_cb_t
  :: C'freq_cb_t -> (Ptr C'rig -> CInt -> CDouble -> Ptr () -> IO CInt)

{-# LINE 1331 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'mode_cb_t = FunPtr (Ptr C'rig -> CInt -> C'rmode_t -> CLong -> Ptr () -> IO CInt)
foreign import ccall "wrapper" mk'mode_cb_t
  :: (Ptr C'rig -> CInt -> C'rmode_t -> CLong -> Ptr () -> IO CInt) -> IO C'mode_cb_t
foreign import ccall "dynamic" mK'mode_cb_t
  :: C'mode_cb_t -> (Ptr C'rig -> CInt -> C'rmode_t -> CLong -> Ptr () -> IO CInt)

{-# LINE 1332 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'vfo_cb_t = FunPtr (Ptr C'rig -> CInt -> Ptr () -> IO CInt)
foreign import ccall "wrapper" mk'vfo_cb_t
  :: (Ptr C'rig -> CInt -> Ptr () -> IO CInt) -> IO C'vfo_cb_t
foreign import ccall "dynamic" mK'vfo_cb_t
  :: C'vfo_cb_t -> (Ptr C'rig -> CInt -> Ptr () -> IO CInt)

{-# LINE 1333 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'ptt_cb_t = FunPtr (Ptr C'rig -> CInt -> C'ptt_t -> Ptr () -> IO CInt)
foreign import ccall "wrapper" mk'ptt_cb_t
  :: (Ptr C'rig -> CInt -> C'ptt_t -> Ptr () -> IO CInt) -> IO C'ptt_cb_t
foreign import ccall "dynamic" mK'ptt_cb_t
  :: C'ptt_cb_t -> (Ptr C'rig -> CInt -> C'ptt_t -> Ptr () -> IO CInt)

{-# LINE 1334 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'dcd_cb_t = FunPtr (Ptr C'rig -> CInt -> C'dcd_e -> Ptr () -> IO CInt)
foreign import ccall "wrapper" mk'dcd_cb_t
  :: (Ptr C'rig -> CInt -> C'dcd_e -> Ptr () -> IO CInt) -> IO C'dcd_cb_t
foreign import ccall "dynamic" mK'dcd_cb_t
  :: C'dcd_cb_t -> (Ptr C'rig -> CInt -> C'dcd_e -> Ptr () -> IO CInt)

{-# LINE 1335 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'pltune_cb_t = FunPtr (Ptr C'rig -> CInt -> Ptr CDouble -> Ptr C'rmode_t -> Ptr CLong -> Ptr () -> IO CInt)
foreign import ccall "wrapper" mk'pltune_cb_t
  :: (Ptr C'rig -> CInt -> Ptr CDouble -> Ptr C'rmode_t -> Ptr CLong -> Ptr () -> IO CInt) -> IO C'pltune_cb_t
foreign import ccall "dynamic" mK'pltune_cb_t
  :: C'pltune_cb_t -> (Ptr C'rig -> CInt -> Ptr CDouble -> Ptr C'rmode_t -> Ptr CLong -> Ptr () -> IO CInt)

{-# LINE 1336 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct rig_callbacks {
    freq_cb_t freq_event;
    void * freq_arg;
    mode_cb_t mode_event;
    void * mode_arg;
    vfo_cb_t vfo_event;
    void * vfo_arg;
    ptt_cb_t ptt_event;
    void * ptt_arg;
    dcd_cb_t dcd_event;
    void * dcd_arg;
    pltune_cb_t pltune;
    void * pltune_arg;
}; -}

{-# LINE 1351 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1352 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1353 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1354 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1355 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1356 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1357 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1358 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1359 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1360 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1361 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1362 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1363 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'rig_callbacks = C'rig_callbacks{
  c'rig_callbacks'freq_event :: C'freq_cb_t,
  c'rig_callbacks'freq_arg :: Ptr (),
  c'rig_callbacks'mode_event :: C'mode_cb_t,
  c'rig_callbacks'mode_arg :: Ptr (),
  c'rig_callbacks'vfo_event :: C'vfo_cb_t,
  c'rig_callbacks'vfo_arg :: Ptr (),
  c'rig_callbacks'ptt_event :: C'ptt_cb_t,
  c'rig_callbacks'ptt_arg :: Ptr (),
  c'rig_callbacks'dcd_event :: C'dcd_cb_t,
  c'rig_callbacks'dcd_arg :: Ptr (),
  c'rig_callbacks'pltune :: C'pltune_cb_t,
  c'rig_callbacks'pltune_arg :: Ptr ()
} deriving (Eq,Show)
p'rig_callbacks'freq_event p = plusPtr p 0
p'rig_callbacks'freq_event :: Ptr (C'rig_callbacks) -> Ptr (C'freq_cb_t)
p'rig_callbacks'freq_arg p = plusPtr p 8
p'rig_callbacks'freq_arg :: Ptr (C'rig_callbacks) -> Ptr (Ptr ())
p'rig_callbacks'mode_event p = plusPtr p 16
p'rig_callbacks'mode_event :: Ptr (C'rig_callbacks) -> Ptr (C'mode_cb_t)
p'rig_callbacks'mode_arg p = plusPtr p 24
p'rig_callbacks'mode_arg :: Ptr (C'rig_callbacks) -> Ptr (Ptr ())
p'rig_callbacks'vfo_event p = plusPtr p 32
p'rig_callbacks'vfo_event :: Ptr (C'rig_callbacks) -> Ptr (C'vfo_cb_t)
p'rig_callbacks'vfo_arg p = plusPtr p 40
p'rig_callbacks'vfo_arg :: Ptr (C'rig_callbacks) -> Ptr (Ptr ())
p'rig_callbacks'ptt_event p = plusPtr p 48
p'rig_callbacks'ptt_event :: Ptr (C'rig_callbacks) -> Ptr (C'ptt_cb_t)
p'rig_callbacks'ptt_arg p = plusPtr p 56
p'rig_callbacks'ptt_arg :: Ptr (C'rig_callbacks) -> Ptr (Ptr ())
p'rig_callbacks'dcd_event p = plusPtr p 64
p'rig_callbacks'dcd_event :: Ptr (C'rig_callbacks) -> Ptr (C'dcd_cb_t)
p'rig_callbacks'dcd_arg p = plusPtr p 72
p'rig_callbacks'dcd_arg :: Ptr (C'rig_callbacks) -> Ptr (Ptr ())
p'rig_callbacks'pltune p = plusPtr p 80
p'rig_callbacks'pltune :: Ptr (C'rig_callbacks) -> Ptr (C'pltune_cb_t)
p'rig_callbacks'pltune_arg p = plusPtr p 88
p'rig_callbacks'pltune_arg :: Ptr (C'rig_callbacks) -> Ptr (Ptr ())
instance Storable C'rig_callbacks where
  sizeOf _ = 96
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 16
    v3 <- peekByteOff p 24
    v4 <- peekByteOff p 32
    v5 <- peekByteOff p 40
    v6 <- peekByteOff p 48
    v7 <- peekByteOff p 56
    v8 <- peekByteOff p 64
    v9 <- peekByteOff p 72
    v10 <- peekByteOff p 80
    v11 <- peekByteOff p 88
    return $ C'rig_callbacks v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
  poke p (C'rig_callbacks v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 16 v2
    pokeByteOff p 24 v3
    pokeByteOff p 32 v4
    pokeByteOff p 40 v5
    pokeByteOff p 48 v6
    pokeByteOff p 56 v7
    pokeByteOff p 64 v8
    pokeByteOff p 72 v9
    pokeByteOff p 80 v10
    pokeByteOff p 88 v11
    return ()

{-# LINE 1364 "src/Bindings/Hamlib/Rig.hsc" #-}
{- struct rig {
    struct rig_caps * caps;
    struct rig_state state;
    struct rig_callbacks callbacks;
}; -}

{-# LINE 1370 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1371 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1372 "src/Bindings/Hamlib/Rig.hsc" #-}

{-# LINE 1373 "src/Bindings/Hamlib/Rig.hsc" #-}
data C'rig = C'rig{
  c'rig'caps :: Ptr C'rig_caps,
  c'rig'state :: C'rig_state,
  c'rig'callbacks :: C'rig_callbacks
} deriving (Eq,Show)
p'rig'caps p = plusPtr p 0
p'rig'caps :: Ptr (C'rig) -> Ptr (Ptr C'rig_caps)
p'rig'state p = plusPtr p 8
p'rig'state :: Ptr (C'rig) -> Ptr (C'rig_state)
p'rig'callbacks p = plusPtr p 6752
p'rig'callbacks :: Ptr (C'rig) -> Ptr (C'rig_callbacks)
instance Storable C'rig where
  sizeOf _ = 6848
  alignment _ = 8
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 8
    v2 <- peekByteOff p 6752
    return $ C'rig v0 v1 v2
  poke p (C'rig v0 v1 v2) = do
    pokeByteOff p 0 v0
    pokeByteOff p 8 v1
    pokeByteOff p 6752 v2
    return ()

{-# LINE 1374 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_init" c'rig_init
  :: CInt -> IO (Ptr C'rig)
foreign import ccall "&rig_init" p'rig_init
  :: FunPtr (CInt -> IO (Ptr C'rig))

{-# LINE 1375 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_open" c'rig_open
  :: Ptr C'rig -> IO CInt
foreign import ccall "&rig_open" p'rig_open
  :: FunPtr (Ptr C'rig -> IO CInt)

{-# LINE 1376 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_freq" c'rig_set_freq
  :: Ptr C'rig -> CInt -> CDouble -> IO CInt
foreign import ccall "&rig_set_freq" p'rig_set_freq
  :: FunPtr (Ptr C'rig -> CInt -> CDouble -> IO CInt)

{-# LINE 1377 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_freq" c'rig_get_freq
  :: Ptr C'rig -> CInt -> Ptr CDouble -> IO CInt
foreign import ccall "&rig_get_freq" p'rig_get_freq
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CDouble -> IO CInt)

{-# LINE 1378 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_mode" c'rig_set_mode
  :: Ptr C'rig -> CInt -> C'rmode_t -> CLong -> IO CInt
foreign import ccall "&rig_set_mode" p'rig_set_mode
  :: FunPtr (Ptr C'rig -> CInt -> C'rmode_t -> CLong -> IO CInt)

{-# LINE 1379 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_mode" c'rig_get_mode
  :: Ptr C'rig -> CInt -> Ptr C'rmode_t -> Ptr CLong -> IO CInt
foreign import ccall "&rig_get_mode" p'rig_get_mode
  :: FunPtr (Ptr C'rig -> CInt -> Ptr C'rmode_t -> Ptr CLong -> IO CInt)

{-# LINE 1380 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_vfo" c'rig_set_vfo
  :: Ptr C'rig -> CInt -> IO CInt
foreign import ccall "&rig_set_vfo" p'rig_set_vfo
  :: FunPtr (Ptr C'rig -> CInt -> IO CInt)

{-# LINE 1381 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_vfo" c'rig_get_vfo
  :: Ptr C'rig -> Ptr CInt -> IO CInt
foreign import ccall "&rig_get_vfo" p'rig_get_vfo
  :: FunPtr (Ptr C'rig -> Ptr CInt -> IO CInt)

{-# LINE 1382 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_ptt" c'rig_set_ptt
  :: Ptr C'rig -> CInt -> C'ptt_t -> IO CInt
foreign import ccall "&rig_set_ptt" p'rig_set_ptt
  :: FunPtr (Ptr C'rig -> CInt -> C'ptt_t -> IO CInt)

{-# LINE 1383 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_ptt" c'rig_get_ptt
  :: Ptr C'rig -> CInt -> Ptr C'ptt_t -> IO CInt
foreign import ccall "&rig_get_ptt" p'rig_get_ptt
  :: FunPtr (Ptr C'rig -> CInt -> Ptr C'ptt_t -> IO CInt)

{-# LINE 1384 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_dcd" c'rig_get_dcd
  :: Ptr C'rig -> CInt -> Ptr C'dcd_e -> IO CInt
foreign import ccall "&rig_get_dcd" p'rig_get_dcd
  :: FunPtr (Ptr C'rig -> CInt -> Ptr C'dcd_e -> IO CInt)

{-# LINE 1385 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_rptr_shift" c'rig_set_rptr_shift
  :: Ptr C'rig -> CInt -> C'rptr_shift_t -> IO CInt
foreign import ccall "&rig_set_rptr_shift" p'rig_set_rptr_shift
  :: FunPtr (Ptr C'rig -> CInt -> C'rptr_shift_t -> IO CInt)

{-# LINE 1386 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_rptr_shift" c'rig_get_rptr_shift
  :: Ptr C'rig -> CInt -> Ptr C'rptr_shift_t -> IO CInt
foreign import ccall "&rig_get_rptr_shift" p'rig_get_rptr_shift
  :: FunPtr (Ptr C'rig -> CInt -> Ptr C'rptr_shift_t -> IO CInt)

{-# LINE 1387 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_rptr_offs" c'rig_set_rptr_offs
  :: Ptr C'rig -> CInt -> CLong -> IO CInt
foreign import ccall "&rig_set_rptr_offs" p'rig_set_rptr_offs
  :: FunPtr (Ptr C'rig -> CInt -> CLong -> IO CInt)

{-# LINE 1388 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_rptr_offs" c'rig_get_rptr_offs
  :: Ptr C'rig -> CInt -> Ptr CLong -> IO CInt
foreign import ccall "&rig_get_rptr_offs" p'rig_get_rptr_offs
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> IO CInt)

{-# LINE 1389 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_ctcss_tone" c'rig_set_ctcss_tone
  :: Ptr C'rig -> CInt -> CUInt -> IO CInt
foreign import ccall "&rig_set_ctcss_tone" p'rig_set_ctcss_tone
  :: FunPtr (Ptr C'rig -> CInt -> CUInt -> IO CInt)

{-# LINE 1390 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_ctcss_tone" c'rig_get_ctcss_tone
  :: Ptr C'rig -> CInt -> Ptr CUInt -> IO CInt
foreign import ccall "&rig_get_ctcss_tone" p'rig_get_ctcss_tone
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> IO CInt)

{-# LINE 1391 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_dcs_code" c'rig_set_dcs_code
  :: Ptr C'rig -> CInt -> CUInt -> IO CInt
foreign import ccall "&rig_set_dcs_code" p'rig_set_dcs_code
  :: FunPtr (Ptr C'rig -> CInt -> CUInt -> IO CInt)

{-# LINE 1392 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_dcs_code" c'rig_get_dcs_code
  :: Ptr C'rig -> CInt -> Ptr CUInt -> IO CInt
foreign import ccall "&rig_get_dcs_code" p'rig_get_dcs_code
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> IO CInt)

{-# LINE 1393 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_ctcss_sql" c'rig_set_ctcss_sql
  :: Ptr C'rig -> CInt -> CUInt -> IO CInt
foreign import ccall "&rig_set_ctcss_sql" p'rig_set_ctcss_sql
  :: FunPtr (Ptr C'rig -> CInt -> CUInt -> IO CInt)

{-# LINE 1394 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_ctcss_sql" c'rig_get_ctcss_sql
  :: Ptr C'rig -> CInt -> Ptr CUInt -> IO CInt
foreign import ccall "&rig_get_ctcss_sql" p'rig_get_ctcss_sql
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> IO CInt)

{-# LINE 1395 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_dcs_sql" c'rig_set_dcs_sql
  :: Ptr C'rig -> CInt -> CUInt -> IO CInt
foreign import ccall "&rig_set_dcs_sql" p'rig_set_dcs_sql
  :: FunPtr (Ptr C'rig -> CInt -> CUInt -> IO CInt)

{-# LINE 1396 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_dcs_sql" c'rig_get_dcs_sql
  :: Ptr C'rig -> CInt -> Ptr CUInt -> IO CInt
foreign import ccall "&rig_get_dcs_sql" p'rig_get_dcs_sql
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CUInt -> IO CInt)

{-# LINE 1397 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_split_freq" c'rig_set_split_freq
  :: Ptr C'rig -> CInt -> CDouble -> IO CInt
foreign import ccall "&rig_set_split_freq" p'rig_set_split_freq
  :: FunPtr (Ptr C'rig -> CInt -> CDouble -> IO CInt)

{-# LINE 1398 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_split_freq" c'rig_get_split_freq
  :: Ptr C'rig -> CInt -> Ptr CDouble -> IO CInt
foreign import ccall "&rig_get_split_freq" p'rig_get_split_freq
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CDouble -> IO CInt)

{-# LINE 1399 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_split_mode" c'rig_set_split_mode
  :: Ptr C'rig -> CInt -> C'rmode_t -> CLong -> IO CInt
foreign import ccall "&rig_set_split_mode" p'rig_set_split_mode
  :: FunPtr (Ptr C'rig -> CInt -> C'rmode_t -> CLong -> IO CInt)

{-# LINE 1400 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_split_mode" c'rig_get_split_mode
  :: Ptr C'rig -> CInt -> Ptr C'rmode_t -> Ptr CLong -> IO CInt
foreign import ccall "&rig_get_split_mode" p'rig_get_split_mode
  :: FunPtr (Ptr C'rig -> CInt -> Ptr C'rmode_t -> Ptr CLong -> IO CInt)

{-# LINE 1401 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_split_vfo" c'rig_set_split_vfo
  :: Ptr C'rig -> CInt -> C'split_t -> CInt -> IO CInt
foreign import ccall "&rig_set_split_vfo" p'rig_set_split_vfo
  :: FunPtr (Ptr C'rig -> CInt -> C'split_t -> CInt -> IO CInt)

{-# LINE 1402 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_split_vfo" c'rig_get_split_vfo
  :: Ptr C'rig -> CInt -> Ptr C'split_t -> Ptr CInt -> IO CInt
foreign import ccall "&rig_get_split_vfo" p'rig_get_split_vfo
  :: FunPtr (Ptr C'rig -> CInt -> Ptr C'split_t -> Ptr CInt -> IO CInt)

{-# LINE 1403 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_rit" c'rig_set_rit
  :: Ptr C'rig -> CInt -> CLong -> IO CInt
foreign import ccall "&rig_set_rit" p'rig_set_rit
  :: FunPtr (Ptr C'rig -> CInt -> CLong -> IO CInt)

{-# LINE 1404 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_rit" c'rig_get_rit
  :: Ptr C'rig -> CInt -> Ptr CLong -> IO CInt
foreign import ccall "&rig_get_rit" p'rig_get_rit
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> IO CInt)

{-# LINE 1405 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_xit" c'rig_set_xit
  :: Ptr C'rig -> CInt -> CLong -> IO CInt
foreign import ccall "&rig_set_xit" p'rig_set_xit
  :: FunPtr (Ptr C'rig -> CInt -> CLong -> IO CInt)

{-# LINE 1406 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_xit" c'rig_get_xit
  :: Ptr C'rig -> CInt -> Ptr CLong -> IO CInt
foreign import ccall "&rig_get_xit" p'rig_get_xit
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> IO CInt)

{-# LINE 1407 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_ts" c'rig_set_ts
  :: Ptr C'rig -> CInt -> CLong -> IO CInt
foreign import ccall "&rig_set_ts" p'rig_set_ts
  :: FunPtr (Ptr C'rig -> CInt -> CLong -> IO CInt)

{-# LINE 1408 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_ts" c'rig_get_ts
  :: Ptr C'rig -> CInt -> Ptr CLong -> IO CInt
foreign import ccall "&rig_get_ts" p'rig_get_ts
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CLong -> IO CInt)

{-# LINE 1409 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_power2mW" c'rig_power2mW
  :: Ptr C'rig -> Ptr CUInt -> CFloat -> CDouble -> C'rmode_t -> IO CInt
foreign import ccall "&rig_power2mW" p'rig_power2mW
  :: FunPtr (Ptr C'rig -> Ptr CUInt -> CFloat -> CDouble -> C'rmode_t -> IO CInt)

{-# LINE 1410 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_mW2power" c'rig_mW2power
  :: Ptr C'rig -> Ptr CFloat -> CUInt -> CDouble -> C'rmode_t -> IO CInt
foreign import ccall "&rig_mW2power" p'rig_mW2power
  :: FunPtr (Ptr C'rig -> Ptr CFloat -> CUInt -> CDouble -> C'rmode_t -> IO CInt)

{-# LINE 1411 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_resolution" c'rig_get_resolution
  :: Ptr C'rig -> C'rmode_t -> IO CLong
foreign import ccall "&rig_get_resolution" p'rig_get_resolution
  :: FunPtr (Ptr C'rig -> C'rmode_t -> IO CLong)

{-# LINE 1412 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_level" c'rig_get_level
  :: Ptr C'rig -> CInt -> CULong -> Ptr C'value_t -> IO CInt
foreign import ccall "&rig_get_level" p'rig_get_level
  :: FunPtr (Ptr C'rig -> CInt -> CULong -> Ptr C'value_t -> IO CInt)

{-# LINE 1413 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_parm" c'rig_get_parm
  :: Ptr C'rig -> CULong -> Ptr C'value_t -> IO CInt
foreign import ccall "&rig_get_parm" p'rig_get_parm
  :: FunPtr (Ptr C'rig -> CULong -> Ptr C'value_t -> IO CInt)

{-# LINE 1414 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_conf" c'rig_set_conf
  :: Ptr C'rig -> CLong -> CString -> IO CInt
foreign import ccall "&rig_set_conf" p'rig_set_conf
  :: FunPtr (Ptr C'rig -> CLong -> CString -> IO CInt)

{-# LINE 1415 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_conf" c'rig_get_conf
  :: Ptr C'rig -> CLong -> CString -> IO CInt
foreign import ccall "&rig_get_conf" p'rig_get_conf
  :: FunPtr (Ptr C'rig -> CLong -> CString -> IO CInt)

{-# LINE 1416 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_powerstat" c'rig_set_powerstat
  :: Ptr C'rig -> C'powerstat_t -> IO CInt
foreign import ccall "&rig_set_powerstat" p'rig_set_powerstat
  :: FunPtr (Ptr C'rig -> C'powerstat_t -> IO CInt)

{-# LINE 1417 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_powerstat" c'rig_get_powerstat
  :: Ptr C'rig -> Ptr C'powerstat_t -> IO CInt
foreign import ccall "&rig_get_powerstat" p'rig_get_powerstat
  :: FunPtr (Ptr C'rig -> Ptr C'powerstat_t -> IO CInt)

{-# LINE 1418 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_reset" c'rig_reset
  :: Ptr C'rig -> C'reset_t -> IO CInt
foreign import ccall "&rig_reset" p'rig_reset
  :: FunPtr (Ptr C'rig -> C'reset_t -> IO CInt)

{-# LINE 1419 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_ext_level" c'rig_get_ext_level
  :: Ptr C'rig -> CInt -> CLong -> Ptr C'value_t -> IO CInt
foreign import ccall "&rig_get_ext_level" p'rig_get_ext_level
  :: FunPtr (Ptr C'rig -> CInt -> CLong -> Ptr C'value_t -> IO CInt)

{-# LINE 1420 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_ext_parm" c'rig_get_ext_parm
  :: Ptr C'rig -> CLong -> Ptr C'value_t -> IO CInt
foreign import ccall "&rig_get_ext_parm" p'rig_get_ext_parm
  :: FunPtr (Ptr C'rig -> CLong -> Ptr C'value_t -> IO CInt)

{-# LINE 1421 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_ext_level_foreach" c'rig_ext_level_foreach
  :: Ptr C'rig -> FunPtr (Ptr C'rig -> Ptr C'confparams -> Ptr () -> CInt) -> Ptr () -> IO CInt
foreign import ccall "&rig_ext_level_foreach" p'rig_ext_level_foreach
  :: FunPtr (Ptr C'rig -> FunPtr (Ptr C'rig -> Ptr C'confparams -> Ptr () -> CInt) -> Ptr () -> IO CInt)

{-# LINE 1422 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_ext_parm_foreach" c'rig_ext_parm_foreach
  :: Ptr C'rig -> FunPtr (Ptr C'rig -> Ptr C'confparams -> Ptr () -> CInt) -> Ptr () -> IO CInt
foreign import ccall "&rig_ext_parm_foreach" p'rig_ext_parm_foreach
  :: FunPtr (Ptr C'rig -> FunPtr (Ptr C'rig -> Ptr C'confparams -> Ptr () -> CInt) -> Ptr () -> IO CInt)

{-# LINE 1423 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_ext_lookup" c'rig_ext_lookup
  :: Ptr C'rig -> CString -> IO (Ptr C'confparams)
foreign import ccall "&rig_ext_lookup" p'rig_ext_lookup
  :: FunPtr (Ptr C'rig -> CString -> IO (Ptr C'confparams))

{-# LINE 1424 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_ext_lookup_tok" c'rig_ext_lookup_tok
  :: Ptr C'rig -> CLong -> IO (Ptr C'confparams)
foreign import ccall "&rig_ext_lookup_tok" p'rig_ext_lookup_tok
  :: FunPtr (Ptr C'rig -> CLong -> IO (Ptr C'confparams))

{-# LINE 1425 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_ext_token_lookup" c'rig_ext_token_lookup
  :: Ptr C'rig -> CString -> IO CLong
foreign import ccall "&rig_ext_token_lookup" p'rig_ext_token_lookup
  :: FunPtr (Ptr C'rig -> CString -> IO CLong)

{-# LINE 1426 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_token_foreach" c'rig_token_foreach
  :: Ptr C'rig -> FunPtr (Ptr C'confparams -> Ptr () -> CInt) -> Ptr () -> IO CInt
foreign import ccall "&rig_token_foreach" p'rig_token_foreach
  :: FunPtr (Ptr C'rig -> FunPtr (Ptr C'confparams -> Ptr () -> CInt) -> Ptr () -> IO CInt)

{-# LINE 1427 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_confparam_lookup" c'rig_confparam_lookup
  :: Ptr C'rig -> CString -> IO (Ptr C'confparams)
foreign import ccall "&rig_confparam_lookup" p'rig_confparam_lookup
  :: FunPtr (Ptr C'rig -> CString -> IO (Ptr C'confparams))

{-# LINE 1428 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_token_lookup" c'rig_token_lookup
  :: Ptr C'rig -> CString -> IO CLong
foreign import ccall "&rig_token_lookup" p'rig_token_lookup
  :: FunPtr (Ptr C'rig -> CString -> IO CLong)

{-# LINE 1429 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_close" c'rig_close
  :: Ptr C'rig -> IO CInt
foreign import ccall "&rig_close" p'rig_close
  :: FunPtr (Ptr C'rig -> IO CInt)

{-# LINE 1430 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_cleanup" c'rig_cleanup
  :: Ptr C'rig -> IO CInt
foreign import ccall "&rig_cleanup" p'rig_cleanup
  :: FunPtr (Ptr C'rig -> IO CInt)

{-# LINE 1431 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_ant" c'rig_set_ant
  :: Ptr C'rig -> CInt -> CInt -> IO CInt
foreign import ccall "&rig_set_ant" p'rig_set_ant
  :: FunPtr (Ptr C'rig -> CInt -> CInt -> IO CInt)

{-# LINE 1432 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_ant" c'rig_get_ant
  :: Ptr C'rig -> CInt -> Ptr CInt -> IO CInt
foreign import ccall "&rig_get_ant" p'rig_get_ant
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CInt -> IO CInt)

{-# LINE 1433 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_has_get_level" c'rig_has_get_level
  :: Ptr C'rig -> CULong -> IO CULong
foreign import ccall "&rig_has_get_level" p'rig_has_get_level
  :: FunPtr (Ptr C'rig -> CULong -> IO CULong)

{-# LINE 1434 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_has_set_level" c'rig_has_set_level
  :: Ptr C'rig -> CULong -> IO CULong
foreign import ccall "&rig_has_set_level" p'rig_has_set_level
  :: FunPtr (Ptr C'rig -> CULong -> IO CULong)

{-# LINE 1435 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_has_get_parm" c'rig_has_get_parm
  :: Ptr C'rig -> CULong -> IO CULong
foreign import ccall "&rig_has_get_parm" p'rig_has_get_parm
  :: FunPtr (Ptr C'rig -> CULong -> IO CULong)

{-# LINE 1436 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_has_set_parm" c'rig_has_set_parm
  :: Ptr C'rig -> CULong -> IO CULong
foreign import ccall "&rig_has_set_parm" p'rig_has_set_parm
  :: FunPtr (Ptr C'rig -> CULong -> IO CULong)

{-# LINE 1437 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_has_get_func" c'rig_has_get_func
  :: Ptr C'rig -> CULong -> IO CULong
foreign import ccall "&rig_has_get_func" p'rig_has_get_func
  :: FunPtr (Ptr C'rig -> CULong -> IO CULong)

{-# LINE 1438 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_has_set_func" c'rig_has_set_func
  :: Ptr C'rig -> CULong -> IO CULong
foreign import ccall "&rig_has_set_func" p'rig_has_set_func
  :: FunPtr (Ptr C'rig -> CULong -> IO CULong)

{-# LINE 1439 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_func" c'rig_set_func
  :: Ptr C'rig -> CInt -> CULong -> CInt -> IO CInt
foreign import ccall "&rig_set_func" p'rig_set_func
  :: FunPtr (Ptr C'rig -> CInt -> CULong -> CInt -> IO CInt)

{-# LINE 1440 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_func" c'rig_get_func
  :: Ptr C'rig -> CInt -> CULong -> Ptr CInt -> IO CInt
foreign import ccall "&rig_get_func" p'rig_get_func
  :: FunPtr (Ptr C'rig -> CInt -> CULong -> Ptr CInt -> IO CInt)

{-# LINE 1441 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_send_dtmf" c'rig_send_dtmf
  :: Ptr C'rig -> CInt -> CString -> IO CInt
foreign import ccall "&rig_send_dtmf" p'rig_send_dtmf
  :: FunPtr (Ptr C'rig -> CInt -> CString -> IO CInt)

{-# LINE 1442 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_recv_dtmf" c'rig_recv_dtmf
  :: Ptr C'rig -> CInt -> CString -> Ptr CInt -> IO CInt
foreign import ccall "&rig_recv_dtmf" p'rig_recv_dtmf
  :: FunPtr (Ptr C'rig -> CInt -> CString -> Ptr CInt -> IO CInt)

{-# LINE 1443 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_send_morse" c'rig_send_morse
  :: Ptr C'rig -> CInt -> CString -> IO CInt
foreign import ccall "&rig_send_morse" p'rig_send_morse
  :: FunPtr (Ptr C'rig -> CInt -> CString -> IO CInt)

{-# LINE 1444 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_bank" c'rig_set_bank
  :: Ptr C'rig -> CInt -> CInt -> IO CInt
foreign import ccall "&rig_set_bank" p'rig_set_bank
  :: FunPtr (Ptr C'rig -> CInt -> CInt -> IO CInt)

{-# LINE 1445 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_mem" c'rig_set_mem
  :: Ptr C'rig -> CInt -> CInt -> IO CInt
foreign import ccall "&rig_set_mem" p'rig_set_mem
  :: FunPtr (Ptr C'rig -> CInt -> CInt -> IO CInt)

{-# LINE 1446 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_mem" c'rig_get_mem
  :: Ptr C'rig -> CInt -> Ptr CInt -> IO CInt
foreign import ccall "&rig_get_mem" p'rig_get_mem
  :: FunPtr (Ptr C'rig -> CInt -> Ptr CInt -> IO CInt)

{-# LINE 1447 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_vfo_op" c'rig_vfo_op
  :: Ptr C'rig -> CInt -> C'vfo_op_t -> IO CInt
foreign import ccall "&rig_vfo_op" p'rig_vfo_op
  :: FunPtr (Ptr C'rig -> CInt -> C'vfo_op_t -> IO CInt)

{-# LINE 1448 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_has_vfo_op" c'rig_has_vfo_op
  :: Ptr C'rig -> C'vfo_op_t -> IO C'vfo_op_t
foreign import ccall "&rig_has_vfo_op" p'rig_has_vfo_op
  :: FunPtr (Ptr C'rig -> C'vfo_op_t -> IO C'vfo_op_t)

{-# LINE 1449 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_scan" c'rig_scan
  :: Ptr C'rig -> CInt -> C'scan_t -> CInt -> IO CInt
foreign import ccall "&rig_scan" p'rig_scan
  :: FunPtr (Ptr C'rig -> CInt -> C'scan_t -> CInt -> IO CInt)

{-# LINE 1450 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_has_scan" c'rig_has_scan
  :: Ptr C'rig -> C'scan_t -> IO C'scan_t
foreign import ccall "&rig_has_scan" p'rig_has_scan
  :: FunPtr (Ptr C'rig -> C'scan_t -> IO C'scan_t)

{-# LINE 1451 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_channel" c'rig_set_channel
  :: Ptr C'rig -> Ptr C'channel -> IO CInt
foreign import ccall "&rig_set_channel" p'rig_set_channel
  :: FunPtr (Ptr C'rig -> Ptr C'channel -> IO CInt)

{-# LINE 1452 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_channel" c'rig_get_channel
  :: Ptr C'rig -> Ptr C'channel -> IO CInt
foreign import ccall "&rig_get_channel" p'rig_get_channel
  :: FunPtr (Ptr C'rig -> Ptr C'channel -> IO CInt)

{-# LINE 1453 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_chan_all" c'rig_set_chan_all
  :: Ptr C'rig -> Ptr (C'channel) -> IO CInt
foreign import ccall "&rig_set_chan_all" p'rig_set_chan_all
  :: FunPtr (Ptr C'rig -> Ptr (C'channel) -> IO CInt)

{-# LINE 1454 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_chan_all" c'rig_get_chan_all
  :: Ptr C'rig -> Ptr (C'channel) -> IO CInt
foreign import ccall "&rig_get_chan_all" p'rig_get_chan_all
  :: FunPtr (Ptr C'rig -> Ptr (C'channel) -> IO CInt)

{-# LINE 1455 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_chan_all_cb" c'rig_set_chan_all_cb
  :: Ptr C'rig -> C'chan_cb_t -> Ptr () -> IO CInt
foreign import ccall "&rig_set_chan_all_cb" p'rig_set_chan_all_cb
  :: FunPtr (Ptr C'rig -> C'chan_cb_t -> Ptr () -> IO CInt)

{-# LINE 1456 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_chan_all_cb" c'rig_get_chan_all_cb
  :: Ptr C'rig -> C'chan_cb_t -> Ptr () -> IO CInt
foreign import ccall "&rig_get_chan_all_cb" p'rig_get_chan_all_cb
  :: FunPtr (Ptr C'rig -> C'chan_cb_t -> Ptr () -> IO CInt)

{-# LINE 1457 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_mem_all_cb" c'rig_set_mem_all_cb
  :: Ptr C'rig -> C'chan_cb_t -> C'confval_cb_t -> Ptr () -> IO CInt
foreign import ccall "&rig_set_mem_all_cb" p'rig_set_mem_all_cb
  :: FunPtr (Ptr C'rig -> C'chan_cb_t -> C'confval_cb_t -> Ptr () -> IO CInt)

{-# LINE 1458 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_mem_all_cb" c'rig_get_mem_all_cb
  :: Ptr C'rig -> C'chan_cb_t -> C'confval_cb_t -> Ptr () -> IO CInt
foreign import ccall "&rig_get_mem_all_cb" p'rig_get_mem_all_cb
  :: FunPtr (Ptr C'rig -> C'chan_cb_t -> C'confval_cb_t -> Ptr () -> IO CInt)

{-# LINE 1459 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_mem_all" c'rig_set_mem_all
  :: Ptr C'rig -> Ptr C'channel -> Ptr C'confparams -> Ptr C'value_t -> IO CInt
foreign import ccall "&rig_set_mem_all" p'rig_set_mem_all
  :: FunPtr (Ptr C'rig -> Ptr C'channel -> Ptr C'confparams -> Ptr C'value_t -> IO CInt)

{-# LINE 1460 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_mem_all" c'rig_get_mem_all
  :: Ptr C'rig -> Ptr C'channel -> Ptr C'confparams -> Ptr C'value_t -> IO CInt
foreign import ccall "&rig_get_mem_all" p'rig_get_mem_all
  :: FunPtr (Ptr C'rig -> Ptr C'channel -> Ptr C'confparams -> Ptr C'value_t -> IO CInt)

{-# LINE 1461 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_lookup_mem_caps" c'rig_lookup_mem_caps
  :: Ptr C'rig -> CInt -> IO (Ptr C'chan_list)
foreign import ccall "&rig_lookup_mem_caps" p'rig_lookup_mem_caps
  :: FunPtr (Ptr C'rig -> CInt -> IO (Ptr C'chan_list))

{-# LINE 1462 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_mem_count" c'rig_mem_count
  :: Ptr C'rig -> IO CInt
foreign import ccall "&rig_mem_count" p'rig_mem_count
  :: FunPtr (Ptr C'rig -> IO CInt)

{-# LINE 1463 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_trn" c'rig_set_trn
  :: Ptr C'rig -> CInt -> IO CInt
foreign import ccall "&rig_set_trn" p'rig_set_trn
  :: FunPtr (Ptr C'rig -> CInt -> IO CInt)

{-# LINE 1464 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_trn" c'rig_get_trn
  :: Ptr C'rig -> Ptr CInt -> IO CInt
foreign import ccall "&rig_get_trn" p'rig_get_trn
  :: FunPtr (Ptr C'rig -> Ptr CInt -> IO CInt)

{-# LINE 1465 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_freq_callback" c'rig_set_freq_callback
  :: Ptr C'rig -> C'freq_cb_t -> Ptr () -> IO CInt
foreign import ccall "&rig_set_freq_callback" p'rig_set_freq_callback
  :: FunPtr (Ptr C'rig -> C'freq_cb_t -> Ptr () -> IO CInt)

{-# LINE 1466 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_mode_callback" c'rig_set_mode_callback
  :: Ptr C'rig -> C'mode_cb_t -> Ptr () -> IO CInt
foreign import ccall "&rig_set_mode_callback" p'rig_set_mode_callback
  :: FunPtr (Ptr C'rig -> C'mode_cb_t -> Ptr () -> IO CInt)

{-# LINE 1467 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_vfo_callback" c'rig_set_vfo_callback
  :: Ptr C'rig -> C'vfo_cb_t -> Ptr () -> IO CInt
foreign import ccall "&rig_set_vfo_callback" p'rig_set_vfo_callback
  :: FunPtr (Ptr C'rig -> C'vfo_cb_t -> Ptr () -> IO CInt)

{-# LINE 1468 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_ptt_callback" c'rig_set_ptt_callback
  :: Ptr C'rig -> C'ptt_cb_t -> Ptr () -> IO CInt
foreign import ccall "&rig_set_ptt_callback" p'rig_set_ptt_callback
  :: FunPtr (Ptr C'rig -> C'ptt_cb_t -> Ptr () -> IO CInt)

{-# LINE 1469 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_dcd_callback" c'rig_set_dcd_callback
  :: Ptr C'rig -> C'dcd_cb_t -> Ptr () -> IO CInt
foreign import ccall "&rig_set_dcd_callback" p'rig_set_dcd_callback
  :: FunPtr (Ptr C'rig -> C'dcd_cb_t -> Ptr () -> IO CInt)

{-# LINE 1470 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_pltune_callback" c'rig_set_pltune_callback
  :: Ptr C'rig -> C'pltune_cb_t -> Ptr () -> IO CInt
foreign import ccall "&rig_set_pltune_callback" p'rig_set_pltune_callback
  :: FunPtr (Ptr C'rig -> C'pltune_cb_t -> Ptr () -> IO CInt)

{-# LINE 1471 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_info" c'rig_get_info
  :: Ptr C'rig -> IO CString
foreign import ccall "&rig_get_info" p'rig_get_info
  :: FunPtr (Ptr C'rig -> IO CString)

{-# LINE 1472 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_caps" c'rig_get_caps
  :: CInt -> IO (Ptr C'rig_caps)
foreign import ccall "&rig_get_caps" p'rig_get_caps
  :: FunPtr (CInt -> IO (Ptr C'rig_caps))

{-# LINE 1473 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_get_range" c'rig_get_range
  :: Ptr (C'freq_range_list) -> CDouble -> C'rmode_t -> IO (Ptr C'freq_range_list)
foreign import ccall "&rig_get_range" p'rig_get_range
  :: FunPtr (Ptr (C'freq_range_list) -> CDouble -> C'rmode_t -> IO (Ptr C'freq_range_list))

{-# LINE 1474 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_passband_normal" c'rig_passband_normal
  :: Ptr C'rig -> C'rmode_t -> IO CLong
foreign import ccall "&rig_passband_normal" p'rig_passband_normal
  :: FunPtr (Ptr C'rig -> C'rmode_t -> IO CLong)

{-# LINE 1475 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_passband_narrow" c'rig_passband_narrow
  :: Ptr C'rig -> C'rmode_t -> IO CLong
foreign import ccall "&rig_passband_narrow" p'rig_passband_narrow
  :: FunPtr (Ptr C'rig -> C'rmode_t -> IO CLong)

{-# LINE 1476 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_passband_wide" c'rig_passband_wide
  :: Ptr C'rig -> C'rmode_t -> IO CLong
foreign import ccall "&rig_passband_wide" p'rig_passband_wide
  :: FunPtr (Ptr C'rig -> C'rmode_t -> IO CLong)

{-# LINE 1477 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rigerror" c'rigerror
  :: CInt -> IO CString
foreign import ccall "&rigerror" p'rigerror
  :: FunPtr (CInt -> IO CString)

{-# LINE 1478 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_setting2idx" c'rig_setting2idx
  :: CULong -> IO CInt
foreign import ccall "&rig_setting2idx" p'rig_setting2idx
  :: FunPtr (CULong -> IO CInt)

{-# LINE 1479 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_set_debug" c'rig_set_debug
  :: C'rig_debug_level_e -> IO ()
foreign import ccall "&rig_set_debug" p'rig_set_debug
  :: FunPtr (C'rig_debug_level_e -> IO ())

{-# LINE 1480 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_need_debug" c'rig_need_debug
  :: C'rig_debug_level_e -> IO CInt
foreign import ccall "&rig_need_debug" p'rig_need_debug
  :: FunPtr (C'rig_debug_level_e -> IO CInt)

{-# LINE 1481 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_debug" c'rig_debug
  :: C'rig_debug_level_e -> CString -> IO ()
foreign import ccall "&rig_debug" p'rig_debug
  :: FunPtr (C'rig_debug_level_e -> CString -> IO ())

{-# LINE 1482 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_register" c'rig_register
  :: Ptr C'rig_caps -> IO CInt
foreign import ccall "&rig_register" p'rig_register
  :: FunPtr (Ptr C'rig_caps -> IO CInt)

{-# LINE 1483 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_unregister" c'rig_unregister
  :: CInt -> IO CInt
foreign import ccall "&rig_unregister" p'rig_unregister
  :: FunPtr (CInt -> IO CInt)

{-# LINE 1484 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_list_foreach" c'rig_list_foreach
  :: FunPtr (Ptr C'rig_caps -> Ptr () -> CInt) -> Ptr () -> IO CInt
foreign import ccall "&rig_list_foreach" p'rig_list_foreach
  :: FunPtr (FunPtr (Ptr C'rig_caps -> Ptr () -> CInt) -> Ptr () -> IO CInt)

{-# LINE 1485 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_load_backend" c'rig_load_backend
  :: CString -> IO CInt
foreign import ccall "&rig_load_backend" p'rig_load_backend
  :: FunPtr (CString -> IO CInt)

{-# LINE 1486 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_check_backend" c'rig_check_backend
  :: CInt -> IO CInt
foreign import ccall "&rig_check_backend" p'rig_check_backend
  :: FunPtr (CInt -> IO CInt)

{-# LINE 1487 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_load_all_backends" c'rig_load_all_backends
  :: IO CInt
foreign import ccall "&rig_load_all_backends" p'rig_load_all_backends
  :: FunPtr (IO CInt)

{-# LINE 1488 "src/Bindings/Hamlib/Rig.hsc" #-}
type C'rig_probe_func_t = FunPtr (Ptr C'hamlib_port -> CInt -> Ptr () -> IO CInt)
foreign import ccall "wrapper" mk'rig_probe_func_t
  :: (Ptr C'hamlib_port -> CInt -> Ptr () -> IO CInt) -> IO C'rig_probe_func_t
foreign import ccall "dynamic" mK'rig_probe_func_t
  :: C'rig_probe_func_t -> (Ptr C'hamlib_port -> CInt -> Ptr () -> IO CInt)

{-# LINE 1489 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_probe_all" c'rig_probe_all
  :: Ptr C'hamlib_port -> C'rig_probe_func_t -> Ptr () -> IO CInt
foreign import ccall "&rig_probe_all" p'rig_probe_all
  :: FunPtr (Ptr C'hamlib_port -> C'rig_probe_func_t -> Ptr () -> IO CInt)

{-# LINE 1490 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_probe" c'rig_probe
  :: Ptr C'hamlib_port -> IO CInt
foreign import ccall "&rig_probe" p'rig_probe
  :: FunPtr (Ptr C'hamlib_port -> IO CInt)

{-# LINE 1491 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_strrmode" c'rig_strrmode
  :: C'rmode_t -> IO CString
foreign import ccall "&rig_strrmode" p'rig_strrmode
  :: FunPtr (C'rmode_t -> IO CString)

{-# LINE 1492 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_strvfo" c'rig_strvfo
  :: CInt -> IO CString
foreign import ccall "&rig_strvfo" p'rig_strvfo
  :: FunPtr (CInt -> IO CString)

{-# LINE 1493 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_strfunc" c'rig_strfunc
  :: CULong -> IO CString
foreign import ccall "&rig_strfunc" p'rig_strfunc
  :: FunPtr (CULong -> IO CString)

{-# LINE 1494 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_strlevel" c'rig_strlevel
  :: CULong -> IO CString
foreign import ccall "&rig_strlevel" p'rig_strlevel
  :: FunPtr (CULong -> IO CString)

{-# LINE 1495 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_strparm" c'rig_strparm
  :: CULong -> IO CString
foreign import ccall "&rig_strparm" p'rig_strparm
  :: FunPtr (CULong -> IO CString)

{-# LINE 1496 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_strptrshift" c'rig_strptrshift
  :: C'rptr_shift_t -> IO CString
foreign import ccall "&rig_strptrshift" p'rig_strptrshift
  :: FunPtr (C'rptr_shift_t -> IO CString)

{-# LINE 1497 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_strvfop" c'rig_strvfop
  :: C'vfo_op_t -> IO CString
foreign import ccall "&rig_strvfop" p'rig_strvfop
  :: FunPtr (C'vfo_op_t -> IO CString)

{-# LINE 1498 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_strscan" c'rig_strscan
  :: C'scan_t -> IO CString
foreign import ccall "&rig_strscan" p'rig_strscan
  :: FunPtr (C'scan_t -> IO CString)

{-# LINE 1499 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_strstatus" c'rig_strstatus
  :: C'rig_status_e -> IO CString
foreign import ccall "&rig_strstatus" p'rig_strstatus
  :: FunPtr (C'rig_status_e -> IO CString)

{-# LINE 1500 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_strmtype" c'rig_strmtype
  :: C'chan_type_t -> IO CString
foreign import ccall "&rig_strmtype" p'rig_strmtype
  :: FunPtr (C'chan_type_t -> IO CString)

{-# LINE 1501 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_parse_mode" c'rig_parse_mode
  :: CString -> IO C'rmode_t
foreign import ccall "&rig_parse_mode" p'rig_parse_mode
  :: FunPtr (CString -> IO C'rmode_t)

{-# LINE 1502 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_parse_vfo" c'rig_parse_vfo
  :: CString -> IO CInt
foreign import ccall "&rig_parse_vfo" p'rig_parse_vfo
  :: FunPtr (CString -> IO CInt)

{-# LINE 1503 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_parse_func" c'rig_parse_func
  :: CString -> IO CULong
foreign import ccall "&rig_parse_func" p'rig_parse_func
  :: FunPtr (CString -> IO CULong)

{-# LINE 1504 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_parse_level" c'rig_parse_level
  :: CString -> IO CULong
foreign import ccall "&rig_parse_level" p'rig_parse_level
  :: FunPtr (CString -> IO CULong)

{-# LINE 1505 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_parse_parm" c'rig_parse_parm
  :: CString -> IO CULong
foreign import ccall "&rig_parse_parm" p'rig_parse_parm
  :: FunPtr (CString -> IO CULong)

{-# LINE 1506 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_parse_vfo_op" c'rig_parse_vfo_op
  :: CString -> IO C'vfo_op_t
foreign import ccall "&rig_parse_vfo_op" p'rig_parse_vfo_op
  :: FunPtr (CString -> IO C'vfo_op_t)

{-# LINE 1507 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_parse_scan" c'rig_parse_scan
  :: CString -> IO C'scan_t
foreign import ccall "&rig_parse_scan" p'rig_parse_scan
  :: FunPtr (CString -> IO C'scan_t)

{-# LINE 1508 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_parse_rptr_shift" c'rig_parse_rptr_shift
  :: CString -> IO C'rptr_shift_t
foreign import ccall "&rig_parse_rptr_shift" p'rig_parse_rptr_shift
  :: FunPtr (CString -> IO C'rptr_shift_t)

{-# LINE 1509 "src/Bindings/Hamlib/Rig.hsc" #-}
foreign import ccall "rig_parse_mtype" c'rig_parse_mtype
  :: CString -> IO C'chan_type_t
foreign import ccall "&rig_parse_mtype" p'rig_parse_mtype
  :: FunPtr (CString -> IO C'chan_type_t)

{-# LINE 1510 "src/Bindings/Hamlib/Rig.hsc" #-}