47 lines
1.0 KiB
C
47 lines
1.0 KiB
C
/* 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 */
|