{-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE CPP #-} 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