lock
[root] / format.nim
type
Header* = object
version*: byte
salt*: array[16, byte]
nonce*: array[24, byte]
const HDRLEN* = 1 + 16 + 24
proc hdrput*(h: Header, outbuf: ptr byte) =
var buf = cast[ptr UncheckedArray[byte]](outbuf)
buf[0] = h.version
for i in 0..<16:
buf[1 + i] = h.salt[i]
for i in 0..<24:
buf[17 + i] = h.nonce[i]
proc hdrget*(data: ptr byte): Header =
var buf = cast[ptr UncheckedArray[byte]](data)
result.version = buf[0]
for i in 0..<16:
result.salt[i] = buf[1 + i]
for i in 0..<24:
result.nonce[i] = buf[17 + i]