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}