ogg_sys/
lib.rs

1#![allow(missing_copy_implementations)]
2#![allow(non_camel_case_types)]
3
4extern crate libc;
5
6pub type ogg_int64_t = libc::int64_t;
7
8#[repr(C)]
9pub struct ogg_iovec_t {
10    pub iov_base: *mut libc::c_void,
11    pub iov_len: libc::size_t,
12}
13
14#[repr(C)]
15pub struct oggpack_buffer {
16    pub endbyte: libc::c_long,
17    pub endbit: libc::c_int,
18
19    pub buffer: *mut libc::c_uchar,
20    pub ptr: *mut libc::c_uchar,
21    pub storage: libc::c_long,
22}
23
24#[repr(C)]
25pub struct ogg_page {
26    pub header: *mut libc::c_uchar,
27    pub header_len: libc::c_long,
28    pub body: *mut libc::c_uchar,
29    pub body_len: libc::c_long,
30}
31
32#[repr(C)]
33pub struct ogg_stream_state {
34    pub body_data: *mut libc::c_uchar,
35    pub body_storage: libc::c_long,
36    pub body_fill: libc::c_long,
37    pub body_returned: libc::c_long,
38
39    pub lacing_vals: *mut libc::c_int,
40    pub granule_vals: *mut ogg_int64_t,
41
42    pub lacing_storage: libc::c_long,
43    pub lacing_fill: libc::c_long,
44    pub lacing_packet: libc::c_long,
45    pub lacing_returned: libc::c_long,
46
47    pub header: [libc::c_uchar; 282],
48    pub header_fill: libc::c_int,
49
50    pub e_o_s: libc::c_int,
51    pub b_o_s: libc::c_int,
52    pub serialno: libc::c_long,
53    pub pageno: libc::c_long,
54    pub packetno: ogg_int64_t,
55    pub granulepos: ogg_int64_t,
56}
57
58#[repr(C)]
59pub struct ogg_packet {
60    pub packet: *mut libc::c_uchar,
61    pub bytes: libc::c_long,
62    pub b_o_s: libc::c_long,
63    pub e_o_s: libc::c_long,
64
65    pub granulepos: ogg_int64_t,
66
67    pub packetno: ogg_int64_t,
68}
69
70#[repr(C)]
71pub struct ogg_sync_state {
72    pub data: *mut libc::c_uchar,
73    pub storage: libc::c_int,
74    pub fill: libc::c_int,
75    pub returned: libc::c_int,
76
77    pub unsynced: libc::c_int,
78    pub headerbytes: libc::c_int,
79    pub bodybytes: libc::c_int,
80}
81
82extern {
83    pub fn oggpack_writeinit(b: *mut oggpack_buffer);
84    pub fn oggpack_writecheck(b: *mut oggpack_buffer) -> libc::c_int;
85    pub fn oggpack_writetrunc(b: *mut oggpack_buffer, bits: libc::c_long);
86    pub fn oggpack_writealign(b: *mut oggpack_buffer);
87    pub fn oggpack_writecopy(b: *mut oggpack_buffer, source: *mut libc::c_void, bits: libc::c_long);
88    pub fn oggpack_reset(b: *mut oggpack_buffer);
89    pub fn oggpack_writeclear(b: *mut oggpack_buffer);
90    pub fn oggpack_readinit(b: *mut oggpack_buffer, buf: *mut libc::c_uchar, bytes: libc::c_int)
91        -> libc::c_int;
92    pub fn oggpack_write(b: *mut oggpack_buffer, value: libc::c_ulong, bits: libc::c_int)
93        -> libc::c_int;
94    pub fn oggpack_look(b: *mut oggpack_buffer, bits: libc::c_int) -> libc::c_long;
95    pub fn oggpack_look1(b: *mut oggpack_buffer) -> libc::c_long;
96    pub fn oggpack_adv(b: *mut oggpack_buffer, bits: libc::c_int) -> libc::c_int;
97    pub fn oggpack_adv1(b: *mut oggpack_buffer);
98    pub fn oggpack_read(b: *mut oggpack_buffer, bits: libc::c_int) -> libc::c_long;
99    pub fn oggpack_read1(b: *mut oggpack_buffer) -> libc::c_long;
100    pub fn oggpack_bytes(b: *mut oggpack_buffer) -> libc::c_long;
101    pub fn oggpack_bits(b: *mut oggpack_buffer) -> libc::c_long;
102    pub fn oggpack_get_buffer(b: *mut oggpack_buffer) -> *const libc::c_uchar;
103
104    pub fn oggpackB_writeinit(b: *mut oggpack_buffer);
105    pub fn oggpackB_writecheck(b: *mut oggpack_buffer) -> libc::c_int;
106    pub fn oggpackB_writetrunc(b: *mut oggpack_buffer, bits: libc::c_long);
107    pub fn oggpackB_writealign(b: *mut oggpack_buffer);
108    pub fn oggpackB_writecopy(b: *mut oggpack_buffer, source: *mut libc::c_void,
109        bits: libc::c_long);
110    pub fn oggpackB_reset(b: *mut oggpack_buffer);
111    pub fn oggpackB_writeclear(b: *mut oggpack_buffer);
112    pub fn oggpackB_readinit(b: *mut oggpack_buffer, buf: *mut libc::c_uchar, bytes: libc::c_int)
113        -> libc::c_int;
114    pub fn oggpackB_write(b: *mut oggpack_buffer, value: libc::c_ulong, bits: libc::c_int)
115        -> libc::c_int;
116    pub fn oggpackB_look(b: *mut oggpack_buffer,bits: libc::c_int) -> libc::c_long;
117    pub fn oggpackB_look1(b: *mut oggpack_buffer) -> libc::c_long;
118    pub fn oggpackB_adv(b: *mut oggpack_buffer, bits: libc::c_int) -> libc::c_int;
119    pub fn oggpackB_adv1(b: *mut oggpack_buffer);
120    pub fn oggpackB_read(b: *mut oggpack_buffer, bits: libc::c_int) -> libc::c_long;
121    pub fn oggpackB_read1(b: *mut oggpack_buffer) -> libc::c_long;
122    pub fn oggpackB_bytes(b: *mut oggpack_buffer) -> libc::c_long;
123    pub fn oggpackB_bits(b: *mut oggpack_buffer) -> libc::c_long;
124    pub fn oggpackB_get_buffer(b: *mut oggpack_buffer) -> *const libc::c_uchar;
125
126    pub fn ogg_stream_packetin(os: *mut ogg_stream_state, op: *mut ogg_packet) -> libc::c_int;
127    pub fn ogg_stream_iovecin(os: *mut ogg_stream_state, iov: *mut ogg_iovec_t, count: libc::c_int,
128        e_o_s: libc::c_long, granulepos: ogg_int64_t) -> libc::c_int;
129    pub fn ogg_stream_pageout(os: *mut ogg_stream_state, og: *mut ogg_page) -> libc::c_int;
130    pub fn ogg_stream_pageout_fill(os: *mut ogg_stream_state, og: *mut ogg_page,
131        nfill: libc::c_int) -> libc::c_int;
132    pub fn ogg_stream_flush(os: *mut ogg_stream_state, og: *mut ogg_page) -> libc::c_int;
133    pub fn ogg_stream_flush_fill(os: *mut ogg_stream_state, og: *mut ogg_page,
134        nfill: libc::c_int) -> libc::c_int;
135
136    pub fn ogg_sync_init(oy: *mut ogg_sync_state) -> libc::c_int;
137    pub fn ogg_sync_clear(oy: *mut ogg_sync_state) -> libc::c_int;
138    pub fn ogg_sync_reset(oy: *mut ogg_sync_state) -> libc::c_int;
139    pub fn ogg_sync_destroy(oy: *mut ogg_sync_state) -> libc::c_int;
140    pub fn ogg_sync_check(oy: *mut ogg_sync_state) -> libc::c_int;
141
142    pub fn ogg_sync_buffer(oy: *mut ogg_sync_state, size: libc::c_long) -> *const libc::c_char;
143    pub fn ogg_sync_wrote(oy: *mut ogg_sync_state, bytes: libc::c_long) -> libc::c_int;
144    pub fn ogg_sync_pageseek(oy: *mut ogg_sync_state,og: *mut ogg_page) -> libc::c_long;
145    pub fn ogg_sync_pageout(oy: *mut ogg_sync_state, og: *mut ogg_page) -> libc::c_int;
146    pub fn ogg_stream_pagein(os: *mut ogg_stream_state, og: *mut ogg_page) -> libc::c_int;
147    pub fn ogg_stream_packetout(os: *mut ogg_stream_state,op: *mut ogg_packet) -> libc::c_int;
148    pub fn ogg_stream_packetpeek(os: *mut ogg_stream_state,op: *mut ogg_packet) -> libc::c_int;
149
150    pub fn ogg_stream_init(os: *mut ogg_stream_state, serialno: libc::c_int) -> libc::c_int;
151    pub fn ogg_stream_clear(os: *mut ogg_stream_state) -> libc::c_int;
152    pub fn ogg_stream_reset(os: *mut ogg_stream_state) -> libc::c_int;
153    pub fn ogg_stream_reset_serialno(os: *mut ogg_stream_state, serialno: libc::c_int)
154        -> libc::c_int;
155    pub fn ogg_stream_destroy(os: *mut ogg_stream_state) -> libc::c_int;
156    pub fn ogg_stream_check(os: *mut ogg_stream_state) -> libc::c_int;
157    pub fn ogg_stream_eos(os: *mut ogg_stream_state) -> libc::c_int;
158
159    pub fn ogg_page_checksum_set(og: *mut ogg_page);
160
161    pub fn ogg_page_version(og: *const ogg_page) -> libc::c_int;
162    pub fn ogg_page_continued(og: *const ogg_page) -> libc::c_int;
163    pub fn ogg_page_bos(og: *const ogg_page) -> libc::c_int;
164    pub fn ogg_page_eos(og: *const ogg_page) -> libc::c_int;
165    pub fn ogg_page_granulepos(og: *const ogg_page) -> ogg_int64_t;
166    pub fn ogg_page_serialno(og: *const ogg_page) -> libc::c_int;
167    pub fn ogg_page_pageno(og: *const ogg_page) -> libc::c_long;
168    pub fn ogg_page_packets(og: *const ogg_page) -> libc::c_int;
169
170    pub fn ogg_packet_clear(op: *mut ogg_packet);
171
172}