| 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; |
| } |