Path: blob/21.2-virgl/src/virtio/venus-protocol/vn_protocol_driver_cs.h
4560 views
/* This file is generated by venus-protocol. See vn_protocol_driver.h. */12/*3* Copyright 2020 Google LLC4* SPDX-License-Identifier: MIT5*/67#ifndef VN_PROTOCOL_DRIVER_CS_H8#define VN_PROTOCOL_DRIVER_CS_H910#include <assert.h>1112/*13* These types/functions are expected14*15* struct vn_cs_encoder16* vn_cs_encoder_get_len17* vn_cs_encoder_reserve18* vn_cs_encoder_write19*20* struct vn_cs_decoder21* vn_cs_decoder_set_fatal22* vn_cs_decoder_read23* vn_cs_decoder_peek24*25* vn_cs_handle_load_id26* vn_cs_handle_store_id27*/28#include "vn_cs.h"2930static inline void31vn_encode(struct vn_cs_encoder *enc, size_t size, const void *data, size_t data_size)32{33assert(size % 4 == 0);34/* TODO check if the generated code is optimal */35vn_cs_encoder_write(enc, size, data, data_size);36}3738static inline void39vn_decode(struct vn_cs_decoder *dec, size_t size, void *data, size_t data_size)40{41assert(size % 4 == 0);42vn_cs_decoder_read(dec, size, data, data_size);43}4445#endif /* VN_PROTOCOL_DRIVER_CS_H */464748