blob: 7fbd69429ba071a1165069426e470a6f4b9613c4 [file] [log] [blame]
/* This file is generated by venus-protocol. See vn_protocol_driver.h. */
/*
* Copyright 2020 Google LLC
* SPDX-License-Identifier: MIT
*/
#ifndef VN_PROTOCOL_DRIVER_CS_H
#define VN_PROTOCOL_DRIVER_CS_H
#include <assert.h>
/*
* These types/functions are expected
*
* struct vn_cs_encoder
* vn_cs_encoder_get_len
* vn_cs_encoder_reserve
* vn_cs_encoder_write
*
* struct vn_cs_decoder
* vn_cs_decoder_set_fatal
* vn_cs_decoder_read
* vn_cs_decoder_peek
*
* vn_cs_handle_load_id
* vn_cs_handle_store_id
*/
#include "vn_cs.h"
static inline void
vn_encode(struct vn_cs_encoder *enc, size_t size, const void *data, size_t data_size)
{
assert(size % 4 == 0);
/* TODO check if the generated code is optimal */
vn_cs_encoder_write(enc, size, data, data_size);
}
static inline void
vn_decode(struct vn_cs_decoder *dec, size_t size, void *data, size_t data_size)
{
assert(size % 4 == 0);
vn_cs_decoder_read(dec, size, data, data_size);
}
#endif /* VN_PROTOCOL_DRIVER_CS_H */