1 #![allow(missing_copy_implementations)] 2 #![allow(non_camel_case_types)] 3 4 extern crate libc; 5 6 pub type ogg_int64_t = libc::int64_t; 7 8 #[repr(C)] 9 pub struct ogg_iovec_t { 10 pub iov_base: *mut libc::c_void, 11 pub iov_len: libc::size_t, 12 } 13 14 #[repr(C)] 15 pub 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)] 25 pub 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)] 33 pub 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)] 59 pub 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)] 71 pub 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 82 extern { 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 } 173