use crate::{upb_ExtensionRegistry, upb_MiniTable, RawArena, RawMessage}; // LINT.IfChange(encode_status) #[repr(C)] #[derive(PartialEq, Eq, Copy, Clone)] pub enum EncodeStatus { Ok = 0, OutOfMemory = 1, MaxDepthExceeded = 2, MissingRequired = 3, } // LINT.ThenChange() // LINT.IfChange(decode_status) #[repr(C)] #[derive(PartialEq, Eq, Copy, Clone)] pub enum DecodeStatus { Ok = 0, Malformed = 1, OutOfMemory = 2, BadUtf8 = 3, MaxDepthExceeded = 4, MissingRequired = 5, UnlinkedSubMessage = 6, } // LINT.ThenChange() extern "C" { pub fn upb_Encode( msg: RawMessage, mini_table: *const upb_MiniTable, options: i32, arena: RawArena, buf: *mut *mut u8, buf_size: *mut usize, ) -> EncodeStatus; pub fn upb_Decode( buf: *const u8, buf_size: usize, msg: RawMessage, mini_table: *const upb_MiniTable, extreg: *const upb_ExtensionRegistry, options: i32, arena: RawArena, ) -> DecodeStatus; }