{-# LINE 1 "src/Bindings/G15.hsc" #-}
{-# LANGUAGE CPP #-}
{-# LINE 2 "src/Bindings/G15.hsc" #-}

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

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

module Bindings.G15 where
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 7 "src/Bindings/G15.hsc" #-}

c'G15_LCD = 1
c'G15_LCD :: (Num a) => a

{-# LINE 9 "src/Bindings/G15.hsc" #-}
c'G15_KEYS = 2
c'G15_KEYS :: (Num a) => a

{-# LINE 10 "src/Bindings/G15.hsc" #-}
c'G15_DEVICE_IS_SHARED = 4
c'G15_DEVICE_IS_SHARED :: (Num a) => a

{-# LINE 11 "src/Bindings/G15.hsc" #-}
c'G15_DEVICE_5BYTE_RETURN = 8
c'G15_DEVICE_5BYTE_RETURN :: (Num a) => a

{-# LINE 12 "src/Bindings/G15.hsc" #-}
c'G15_DEVICE_G13 = 16
c'G15_DEVICE_G13 :: (Num a) => a

{-# LINE 13 "src/Bindings/G15.hsc" #-}
c'G15_DEVICE_G510 = 32
c'G15_DEVICE_G510 :: (Num a) => a

{-# LINE 14 "src/Bindings/G15.hsc" #-}

c'G15_KEY_READ_LENGTH = 9
c'G15_KEY_READ_LENGTH :: (Num a) => a

{-# LINE 16 "src/Bindings/G15.hsc" #-}
c'G510_STANDARD_KEYBOARD_INTERFACE = 0
c'G510_STANDARD_KEYBOARD_INTERFACE :: (Num a) => a

{-# LINE 17 "src/Bindings/G15.hsc" #-}

c'G15_LOG_INFO = 1
c'G15_LOG_INFO :: (Num a) => a

{-# LINE 19 "src/Bindings/G15.hsc" #-}
c'G15_LOG_WARN = 2
c'G15_LOG_WARN :: (Num a) => a

{-# LINE 20 "src/Bindings/G15.hsc" #-}

c'G15_NO_ERROR = 0
c'G15_NO_ERROR :: (Num a) => a

{-# LINE 22 "src/Bindings/G15.hsc" #-}
c'G15_ERROR_OPENING_USB_DEVICE = 1
c'G15_ERROR_OPENING_USB_DEVICE :: (Num a) => a

{-# LINE 23 "src/Bindings/G15.hsc" #-}
c'G15_ERROR_WRITING_PIXMAP = 2
c'G15_ERROR_WRITING_PIXMAP :: (Num a) => a

{-# LINE 24 "src/Bindings/G15.hsc" #-}
c'G15_ERROR_TIMEOUT = 3
c'G15_ERROR_TIMEOUT :: (Num a) => a

{-# LINE 25 "src/Bindings/G15.hsc" #-}
c'G15_ERROR_READING_USB_DEVICE = 4
c'G15_ERROR_READING_USB_DEVICE :: (Num a) => a

{-# LINE 26 "src/Bindings/G15.hsc" #-}
c'G15_ERROR_TRY_AGAIN = 5
c'G15_ERROR_TRY_AGAIN :: (Num a) => a

{-# LINE 27 "src/Bindings/G15.hsc" #-}
c'G15_ERROR_WRITING_BUFFER = 6
c'G15_ERROR_WRITING_BUFFER :: (Num a) => a

{-# LINE 28 "src/Bindings/G15.hsc" #-}
c'G15_ERROR_UNSUPPORTED = 7
c'G15_ERROR_UNSUPPORTED :: (Num a) => a

{-# LINE 29 "src/Bindings/G15.hsc" #-}

c'G15_LCD_OFFSET = 32
c'G15_LCD_OFFSET :: (Num a) => a

{-# LINE 31 "src/Bindings/G15.hsc" #-}
c'G15_LCD_HEIGHT = 43
c'G15_LCD_HEIGHT :: (Num a) => a

{-# LINE 32 "src/Bindings/G15.hsc" #-}
c'G15_LCD_WIDTH = 160
c'G15_LCD_WIDTH :: (Num a) => a

{-# LINE 33 "src/Bindings/G15.hsc" #-}

c'G15_BUFFER_LEN = 992
c'G15_BUFFER_LEN :: (Num a) => a

{-# LINE 35 "src/Bindings/G15.hsc" #-}

c'G15_LED_M1 = 1
c'G15_LED_M1 :: (Num a) => a

{-# LINE 37 "src/Bindings/G15.hsc" #-}
c'G15_LED_M2 = 2
c'G15_LED_M2 :: (Num a) => a

{-# LINE 38 "src/Bindings/G15.hsc" #-}
c'G15_LED_M3 = 4
c'G15_LED_M3 :: (Num a) => a

{-# LINE 39 "src/Bindings/G15.hsc" #-}
c'G15_LED_MR = 8
c'G15_LED_MR :: (Num a) => a

{-# LINE 40 "src/Bindings/G15.hsc" #-}

c'G15_CONTRAST_LOW = 0
c'G15_CONTRAST_LOW :: (Num a) => a

{-# LINE 42 "src/Bindings/G15.hsc" #-}
c'G15_CONTRAST_MEDIUM = 1
c'G15_CONTRAST_MEDIUM :: (Num a) => a

{-# LINE 43 "src/Bindings/G15.hsc" #-}
c'G15_CONTRAST_HIGH = 2
c'G15_CONTRAST_HIGH :: (Num a) => a

{-# LINE 44 "src/Bindings/G15.hsc" #-}

c'G15_BRIGHTNESS_DARK = 0
c'G15_BRIGHTNESS_DARK :: (Num a) => a

{-# LINE 46 "src/Bindings/G15.hsc" #-}
c'G15_BRIGHTNESS_MEDIUM = 1
c'G15_BRIGHTNESS_MEDIUM :: (Num a) => a

{-# LINE 47 "src/Bindings/G15.hsc" #-}
c'G15_BRIGHTNESS_BRIGHT = 2
c'G15_BRIGHTNESS_BRIGHT :: (Num a) => a

{-# LINE 48 "src/Bindings/G15.hsc" #-}

c'G15_KEY_G1 = 1
c'G15_KEY_G1 :: (Num a) => a

{-# LINE 50 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G2 = 2
c'G15_KEY_G2 :: (Num a) => a

{-# LINE 51 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G3 = 4
c'G15_KEY_G3 :: (Num a) => a

{-# LINE 52 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G4 = 8
c'G15_KEY_G4 :: (Num a) => a

{-# LINE 53 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G5 = 16
c'G15_KEY_G5 :: (Num a) => a

{-# LINE 54 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G6 = 32
c'G15_KEY_G6 :: (Num a) => a

{-# LINE 55 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G7 = 64
c'G15_KEY_G7 :: (Num a) => a

{-# LINE 56 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G8 = 128
c'G15_KEY_G8 :: (Num a) => a

{-# LINE 57 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G9 = 256
c'G15_KEY_G9 :: (Num a) => a

{-# LINE 58 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G10 = 512
c'G15_KEY_G10 :: (Num a) => a

{-# LINE 59 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G11 = 1024
c'G15_KEY_G11 :: (Num a) => a

{-# LINE 60 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G12 = 2048
c'G15_KEY_G12 :: (Num a) => a

{-# LINE 61 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G13 = 4096
c'G15_KEY_G13 :: (Num a) => a

{-# LINE 62 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G14 = 8192
c'G15_KEY_G14 :: (Num a) => a

{-# LINE 63 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G15 = 16384
c'G15_KEY_G15 :: (Num a) => a

{-# LINE 64 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G16 = 32768
c'G15_KEY_G16 :: (Num a) => a

{-# LINE 65 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G17 = 65536
c'G15_KEY_G17 :: (Num a) => a

{-# LINE 66 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G18 = 131072
c'G15_KEY_G18 :: (Num a) => a

{-# LINE 67 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G19 = 268435456
c'G15_KEY_G19 :: (Num a) => a

{-# LINE 68 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G20 = 536870912
c'G15_KEY_G20 :: (Num a) => a

{-# LINE 69 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G21 = 1073741824
c'G15_KEY_G21 :: (Num a) => a

{-# LINE 70 "src/Bindings/G15.hsc" #-}
c'G15_KEY_G22 = -2147483648
c'G15_KEY_G22 :: (Num a) => a

{-# LINE 71 "src/Bindings/G15.hsc" #-}

c'G15_KEY_M1 = 262144
c'G15_KEY_M1 :: (Num a) => a

{-# LINE 73 "src/Bindings/G15.hsc" #-}
c'G15_KEY_M2 = 524288
c'G15_KEY_M2 :: (Num a) => a

{-# LINE 74 "src/Bindings/G15.hsc" #-}
c'G15_KEY_M3 = 1048576
c'G15_KEY_M3 :: (Num a) => a

{-# LINE 75 "src/Bindings/G15.hsc" #-}
c'G15_KEY_MR = 2097152
c'G15_KEY_MR :: (Num a) => a

{-# LINE 76 "src/Bindings/G15.hsc" #-}

c'G15_KEY_L1 = 4194304
c'G15_KEY_L1 :: (Num a) => a

{-# LINE 78 "src/Bindings/G15.hsc" #-}
c'G15_KEY_L2 = 8388608
c'G15_KEY_L2 :: (Num a) => a

{-# LINE 79 "src/Bindings/G15.hsc" #-}
c'G15_KEY_L3 = 16777216
c'G15_KEY_L3 :: (Num a) => a

{-# LINE 80 "src/Bindings/G15.hsc" #-}
c'G15_KEY_L4 = 33554432
c'G15_KEY_L4 :: (Num a) => a

{-# LINE 81 "src/Bindings/G15.hsc" #-}
c'G15_KEY_L5 = 67108864
c'G15_KEY_L5 :: (Num a) => a

{-# LINE 82 "src/Bindings/G15.hsc" #-}

c'G15_KEY_LIGHT = 134217728
c'G15_KEY_LIGHT :: (Num a) => a

{-# LINE 84 "src/Bindings/G15.hsc" #-}

foreign import ccall "initLibG15" c'initLibG15
  :: IO CInt
foreign import ccall "&initLibG15" p'initLibG15
  :: FunPtr (IO CInt)

{-# LINE 86 "src/Bindings/G15.hsc" #-}
foreign import ccall "re_initLibG15" c're_initLibG15
  :: IO CInt
foreign import ccall "&re_initLibG15" p're_initLibG15
  :: FunPtr (IO CInt)

{-# LINE 87 "src/Bindings/G15.hsc" #-}
foreign import ccall "exitLibG15" c'exitLibG15
  :: IO CInt
foreign import ccall "&exitLibG15" p'exitLibG15
  :: FunPtr (IO CInt)

{-# LINE 88 "src/Bindings/G15.hsc" #-}

foreign import ccall "libg15Debug" c'libg15Debug
  :: CInt -> IO ()
foreign import ccall "&libg15Debug" p'libg15Debug
  :: FunPtr (CInt -> IO ())

{-# LINE 90 "src/Bindings/G15.hsc" #-}

foreign import ccall "writePixmapToLCD" c'writePixmapToLCD
  :: Ptr CChar -> IO CInt
foreign import ccall "&writePixmapToLCD" p'writePixmapToLCD
  :: FunPtr (Ptr CChar -> IO CInt)

{-# LINE 92 "src/Bindings/G15.hsc" #-}
foreign import ccall "setLCDContrast" c'setLCDContrast
  :: CInt -> IO CInt
foreign import ccall "&setLCDContrast" p'setLCDContrast
  :: FunPtr (CInt -> IO CInt)

{-# LINE 93 "src/Bindings/G15.hsc" #-}
foreign import ccall "setLEDs" c'setLEDs
  :: CInt -> IO CInt
foreign import ccall "&setLEDs" p'setLEDs
  :: FunPtr (CInt -> IO CInt)

{-# LINE 94 "src/Bindings/G15.hsc" #-}
foreign import ccall "setLCDBrightness" c'setLCDBrightness
  :: CInt -> IO CInt
foreign import ccall "&setLCDBrightness" p'setLCDBrightness
  :: FunPtr (CInt -> IO CInt)

{-# LINE 95 "src/Bindings/G15.hsc" #-}
foreign import ccall "setKBBrightness" c'setKBBrightness
  :: CInt -> IO CInt
foreign import ccall "&setKBBrightness" p'setKBBrightness
  :: FunPtr (CInt -> IO CInt)

{-# LINE 96 "src/Bindings/G15.hsc" #-}
foreign import ccall "setG510LEDColor" c'setG510LEDColor
  :: CChar -> CChar -> CChar -> IO CInt
foreign import ccall "&setG510LEDColor" p'setG510LEDColor
  :: FunPtr (CChar -> CChar -> CChar -> IO CInt)

{-# LINE 97 "src/Bindings/G15.hsc" #-}

foreign import ccall "getPressedKeys" c'getPressedKeys
  :: Ptr CInt -> CInt -> IO CInt
foreign import ccall "&getPressedKeys" p'getPressedKeys
  :: FunPtr (Ptr CInt -> CInt -> IO CInt)

{-# LINE 99 "src/Bindings/G15.hsc" #-}