1use ergo_lib_c_core::{
4 util::{byte_array_from_raw_parts, ByteArray, ByteArrayPtr, ConstByteArrayPtr},
5 Error, ErrorPtr,
6};
7use paste::paste;
8
9use crate::delete_ptr;
10
11#[no_mangle]
12pub unsafe extern "C" fn ergo_lib_byte_array_from_raw_parts(
13 ptr: *const u8,
14 len: usize,
15 byte_array_out: *mut ByteArrayPtr,
16) -> ErrorPtr {
17 let res = byte_array_from_raw_parts(ptr, len, byte_array_out);
18 Error::c_api_from(res)
19}
20
21#[no_mangle]
22pub unsafe extern "C" fn ergo_lib_byte_array_delete(ptr: ByteArrayPtr) {
23 delete_ptr(ptr)
24}
25
26make_collection!(ByteArrays, ByteArray);