module Database.Memcached.Binary.Internal.Definition where
import Foreign.Storable
import Data.Word
newtype OpCode = OpCode Word8 deriving (Storable)
#define defOpCode(n,w) n :: OpCode; n = OpCode w
defOpCode(opGet , 0x00)
defOpCode(opSet , 0x01)
defOpCode(opAdd , 0x02)
defOpCode(opReplace , 0x03)
defOpCode(opDelete , 0x04)
defOpCode(opIncrement , 0x05)
defOpCode(opDecrement , 0x06)
defOpCode(opQuit , 0x07)
defOpCode(opFlush , 0x08)
defOpCode(opGetQ , 0x09)
defOpCode(opNoOp , 0x0a)
defOpCode(opVersion , 0x0b)
defOpCode(opGetK , 0x0c)
defOpCode(opGetKQ , 0x0d)
defOpCode(opAppend , 0x0e)
defOpCode(opPrepend , 0x0f)
defOpCode(opStat , 0x10)
defOpCode(opSetQ , 0x11)
defOpCode(opAddQ , 0x12)
defOpCode(opReplaceQ , 0x13)
defOpCode(opDeleteQ , 0x14)
defOpCode(opIncrementQ , 0x15)
defOpCode(opDecrementQ , 0x16)
defOpCode(opQuitQ , 0x17)
defOpCode(opFlushQ , 0x18)
defOpCode(opAppendQ , 0x19)
defOpCode(opPrependQ , 0x1a)
defOpCode(opVerbosity , 0x1b)
defOpCode(opTouch , 0x1c)
defOpCode(opGAT , 0x1d)
defOpCode(opGATQ , 0x1e)
defOpCode(opSaslListMechs , 0x20)
defOpCode(opSaslAuth , 0x21)
defOpCode(opSaslStep , 0x22)
defOpCode(opRGet , 0x30)
defOpCode(opRSet , 0x31)
defOpCode(opRSetQ , 0x32)
defOpCode(opRAppend , 0x33)
defOpCode(opRAppendQ , 0x34)
defOpCode(opRPrepend , 0x35)
defOpCode(opRPrependQ , 0x36)
defOpCode(opRDelete , 0x37)
defOpCode(opRDeleteQ , 0x38)
defOpCode(opRIncr , 0x39)
defOpCode(opRIncrQ , 0x3a)
defOpCode(opRDecr , 0x3b)
defOpCode(opRDecrQ , 0x3c)
defOpCode(opSetVBucket , 0x3d)
defOpCode(opGetVBucket , 0x3e)
defOpCode(opDelVBucket , 0x3f)
defOpCode(opTAPConnect , 0x40)
defOpCode(opTAPMutation , 0x41)
defOpCode(opTAPDelete , 0x42)
defOpCode(opTAPFlush , 0x43)
defOpCode(opTAPOpaque , 0x44)
defOpCode(opTAPVBucketSet , 0x45)
defOpCode(opTAPCheckpointStart, 0x46)
defOpCode(opTAPCheckpointEnd , 0x47)
#undef defOpCode