Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.0 KiB
47 lines
1.0 KiB
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; |
|
}
|
|
|