                 <$> {#get inMemoryBuffer_t->buffer #} p
                 <*> liftM fromIntegral ({#get inMemoryBuffer_t->size #}   p)
                 <*> liftM fromIntegral ({#get inMemoryBuffer_t->inUse #}  p)
-   poke       = undefined
-
-
+    poke      = undefined
 
 getData                          :: CInMemoryBuffer -> IO ByteString
 getData (CInMemoryBuffer xs _ s) = packCStringLen (xs,fromIntegral s)

-- | Generating Signatures

type RSyncSourceState = CRSyncSourceStatePtr

type Signature = ByteString


                                           , job :: Ptr CJob
                                           , buf :: Ptr CBuffers
                                           , inBuf :: Ptr CRSFileBuf
                                           , outputBuf' :: CInMemoryBufferPtr
                                           }

{#pointer *rsyncSourceState_t as CRSyncSourceStatePtr -> CRSyncSourceState #}

instance Storable CRSyncSourceState where
    sizeOf    = const {#sizeof rsyncSourceState_t #}
    alignment = const 4
               -- We can only access the output buffer and the return state
    peek p    = CRSyncSourceState undefined undefined undefined undefined
                <$> {#get rsyncSourceState_t->outputBuf #} p
    poke      = undefined

-- data BlockSig
-- {#pointer *rs_block_sig_t as BlockSigPtr -> BlockSig #}
