1*61046927SAndroid Build Coastguard Worker /* 2*61046927SAndroid Build Coastguard Worker * Copyright 2021 Advanced Micro Devices, Inc. 3*61046927SAndroid Build Coastguard Worker * 4*61046927SAndroid Build Coastguard Worker * SPDX-License-Identifier: MIT 5*61046927SAndroid Build Coastguard Worker */ 6*61046927SAndroid Build Coastguard Worker 7*61046927SAndroid Build Coastguard Worker #ifndef AC_MSGPACK_H 8*61046927SAndroid Build Coastguard Worker #define AC_MSGPACK_H 9*61046927SAndroid Build Coastguard Worker 10*61046927SAndroid Build Coastguard Worker struct ac_msgpack { 11*61046927SAndroid Build Coastguard Worker uint8_t *mem; 12*61046927SAndroid Build Coastguard Worker uint32_t mem_size; 13*61046927SAndroid Build Coastguard Worker uint32_t offset; 14*61046927SAndroid Build Coastguard Worker }; 15*61046927SAndroid Build Coastguard Worker 16*61046927SAndroid Build Coastguard Worker void ac_msgpack_init(struct ac_msgpack *msgpack); 17*61046927SAndroid Build Coastguard Worker void ac_msgpack_destroy(struct ac_msgpack *msgpack); 18*61046927SAndroid Build Coastguard Worker int ac_msgpack_resize_if_required(struct ac_msgpack *msgpack, 19*61046927SAndroid Build Coastguard Worker uint32_t data_size); 20*61046927SAndroid Build Coastguard Worker void ac_msgpack_add_fixmap_op(struct ac_msgpack *msgpack, uint32_t n); 21*61046927SAndroid Build Coastguard Worker void ac_msgpack_add_fixarray_op(struct ac_msgpack *msgpack, uint32_t n); 22*61046927SAndroid Build Coastguard Worker void ac_msgpack_add_fixstr(struct ac_msgpack *msgpack, const char *str); 23*61046927SAndroid Build Coastguard Worker void ac_msgpack_add_uint(struct ac_msgpack *msgpack, uint64_t val); 24*61046927SAndroid Build Coastguard Worker void ac_msgpack_add_int(struct ac_msgpack *msgpack, int64_t val); 25*61046927SAndroid Build Coastguard Worker 26*61046927SAndroid Build Coastguard Worker #endif 27