1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use libc::{c_void, c_char, c_uchar, c_uint, c_int};
use super::string::AVEscapeMode;
#[repr(C)]
pub struct AVBPrint {
pub string: *mut c_char,
pub len: c_uint,
pub size: c_uint,
pub size_max: c_uint,
buffer: [c_char; 1024],
}
#[inline(always)]
pub unsafe fn av_bprint_is_complete(buf: *const AVBPrint) -> c_int {
if (*buf).len < (*buf).size {
1
}
else {
0
}
}
extern {
pub fn av_bprint_init(buf: *mut AVBPrint, size_init: c_uint, size_max: c_uint);
pub fn av_bprint_init_for_buffer(buf: *mut AVBPrint, buffer: *mut c_char, size: c_uint);
pub fn av_bprintf(buf: *mut AVBPrint, fmt: *const c_char, ...);
pub fn av_bprint_chars(buf: *mut AVBPrint, c: c_char, n: c_uint);
pub fn av_bprint_append_data(buf: *mut AVBPrint, data: *const c_char, size: c_uint);
pub fn av_bprint_strftime(buf: *mut AVBPrint, fmt: *const c_char, tm: *const c_void);
pub fn av_bprint_get_buffer(buf: *mut AVBPrint, size: c_uint, mem: *mut *mut c_uchar, actual_size: *mut c_uint);
pub fn av_bprint_clear(buf: *mut AVBPrint);
pub fn av_bprint_finalize(buf: *mut AVBPrint, ret_str: *mut *mut c_char) -> c_int;
pub fn av_bprint_escape(dstbuf: *mut AVBPrint, src: *const c_char, special_chars: *const c_char, mode: AVEscapeMode, flags: c_int);
}