@@ -7,7 +7,6 @@ use std::ptr;
77use libc;
88
99use crate :: errno:: Errno ;
10- use crate :: off_t;
1110use crate :: Result ;
1211
1312/// Copy up to `count` bytes to `out_fd` from `in_fd` starting at `offset`.
@@ -27,7 +26,7 @@ use crate::Result;
2726pub fn sendfile < F1 : AsFd , F2 : AsFd > (
2827 out_fd : F1 ,
2928 in_fd : F2 ,
30- offset : Option < & mut off_t > ,
29+ offset : Option < & mut i64 > ,
3130 count : usize ,
3231) -> Result < usize > {
3332 let offset = offset
@@ -174,19 +173,19 @@ cfg_if! {
174173 pub fn sendfile<F1 : AsFd , F2 : AsFd >(
175174 in_fd: F1 ,
176175 out_sock: F2 ,
177- offset: off_t ,
176+ offset: i64 ,
178177 count: Option <usize >,
179178 headers: Option <& [ & [ u8 ] ] >,
180179 trailers: Option <& [ & [ u8 ] ] >,
181180 flags: SfFlags ,
182181 readahead: u16
183- ) -> ( Result <( ) >, off_t ) {
182+ ) -> ( Result <( ) >, i64 ) {
184183 // Readahead goes in upper 16 bits
185184 // Flags goes in lower 16 bits
186185 // see `man 2 sendfile`
187186 let ra32 = u32 :: from( readahead) ;
188187 let flags: u32 = ( ra32 << 16 ) | ( flags. bits( ) as u32 ) ;
189- let mut bytes_sent: off_t = 0 ;
188+ let mut bytes_sent: i64 = 0 ;
190189 let hdtr = headers. or( trailers) . map( |_| SendfileHeaderTrailer :: new( headers, trailers) ) ;
191190 let hdtr_ptr = hdtr. as_ref( ) . map_or( ptr:: null( ) , |s| & s. 0 as * const libc:: sf_hdtr) ;
192191 let return_code = unsafe {
@@ -195,7 +194,7 @@ cfg_if! {
195194 offset,
196195 count. unwrap_or( 0 ) ,
197196 hdtr_ptr as * mut libc:: sf_hdtr,
198- & mut bytes_sent as * mut off_t ,
197+ & mut bytes_sent as * mut i64 ,
199198 flags as c_int)
200199 } ;
201200 ( Errno :: result( return_code) . and( Ok ( ( ) ) ) , bytes_sent)
@@ -224,12 +223,12 @@ cfg_if! {
224223 pub fn sendfile<F1 : AsFd , F2 : AsFd >(
225224 in_fd: F1 ,
226225 out_sock: F2 ,
227- offset: off_t ,
226+ offset: i64 ,
228227 count: Option <usize >,
229228 headers: Option <& [ & [ u8 ] ] >,
230229 trailers: Option <& [ & [ u8 ] ] >,
231- ) -> ( Result <( ) >, off_t ) {
232- let mut bytes_sent: off_t = 0 ;
230+ ) -> ( Result <( ) >, i64 ) {
231+ let mut bytes_sent: i64 = 0 ;
233232 let hdtr = headers. or( trailers) . map( |_| SendfileHeaderTrailer :: new( headers, trailers) ) ;
234233 let hdtr_ptr = hdtr. as_ref( ) . map_or( ptr:: null( ) , |s| & s. 0 as * const libc:: sf_hdtr) ;
235234 let return_code = unsafe {
@@ -238,7 +237,7 @@ cfg_if! {
238237 offset,
239238 count. unwrap_or( 0 ) ,
240239 hdtr_ptr as * mut libc:: sf_hdtr,
241- & mut bytes_sent as * mut off_t ,
240+ & mut bytes_sent as * mut i64 ,
242241 0 )
243242 } ;
244243 ( Errno :: result( return_code) . and( Ok ( ( ) ) ) , bytes_sent)
@@ -270,19 +269,19 @@ cfg_if! {
270269 pub fn sendfile<F1 : AsFd , F2 : AsFd >(
271270 in_fd: F1 ,
272271 out_sock: F2 ,
273- offset: off_t ,
274- count: Option <off_t >,
272+ offset: i64 ,
273+ count: Option <i64 >,
275274 headers: Option <& [ & [ u8 ] ] >,
276275 trailers: Option <& [ & [ u8 ] ] >
277- ) -> ( Result <( ) >, off_t ) {
276+ ) -> ( Result <( ) >, i64_t ) {
278277 let mut len = count. unwrap_or( 0 ) ;
279278 let hdtr = headers. or( trailers) . map( |_| SendfileHeaderTrailer :: new( headers, trailers) ) ;
280279 let hdtr_ptr = hdtr. as_ref( ) . map_or( ptr:: null( ) , |s| & s. 0 as * const libc:: sf_hdtr) ;
281280 let return_code = unsafe {
282281 libc:: sendfile( in_fd. as_fd( ) . as_raw_fd( ) ,
283282 out_sock. as_fd( ) . as_raw_fd( ) ,
284283 offset,
285- & mut len as * mut off_t ,
284+ & mut len as * mut i64 ,
286285 hdtr_ptr as * mut libc:: sf_hdtr,
287286 0 )
288287 } ;
0 commit comments