#[repr(C)]pub struct _IO_FILE {Show 29 fields
pub _flags: c_int,
pub _IO_read_ptr: *mut c_char,
pub _IO_read_end: *mut c_char,
pub _IO_read_base: *mut c_char,
pub _IO_write_base: *mut c_char,
pub _IO_write_ptr: *mut c_char,
pub _IO_write_end: *mut c_char,
pub _IO_buf_base: *mut c_char,
pub _IO_buf_end: *mut c_char,
pub _IO_save_base: *mut c_char,
pub _IO_backup_base: *mut c_char,
pub _IO_save_end: *mut c_char,
pub _markers: *mut _IO_marker,
pub _chain: *mut _IO_FILE,
pub _fileno: c_int,
pub _flags2: c_int,
pub _old_offset: __off_t,
pub _cur_column: c_ushort,
pub _vtable_offset: c_schar,
pub _shortbuf: [c_char; 1],
pub _lock: *mut _IO_lock_t,
pub _offset: __off64_t,
pub _codecvt: *mut _IO_codecvt,
pub _wide_data: *mut _IO_wide_data,
pub _freeres_list: *mut _IO_FILE,
pub _freeres_buf: *mut c_void,
pub __pad5: usize,
pub _mode: c_int,
pub _unused2: [c_char; 20],
}Expand description
The tag name of this struct is _IO_FILE to preserve historic C++ mangled names for functions taking FILE* arguments. That name should not be used in new code.
Fields
_flags: c_intHigh-order word is _IO_MAGIC; rest is flags.
_IO_read_ptr: *mut c_charCurrent read pointer
_IO_read_end: *mut c_charEnd of get area.
_IO_read_base: *mut c_charStart of putback+get area.
_IO_write_base: *mut c_charStart of put area.
_IO_write_ptr: *mut c_charCurrent put pointer.
_IO_write_end: *mut c_charEnd of put area.
_IO_buf_base: *mut c_charStart of reserve area.
_IO_buf_end: *mut c_charEnd of reserve area.
_IO_save_base: *mut c_charPointer to start of non-current get area.
_IO_backup_base: *mut c_charPointer to first valid character of backup area
_IO_save_end: *mut c_charPointer to end of non-current get area.
_markers: *mut _IO_marker_chain: *mut _IO_FILE_fileno: c_int_flags2: c_int_old_offset: __off_tThis used to be _offset but it’s too small.
_cur_column: c_ushort1+column number of pbase(); 0 is unknown.
_vtable_offset: c_schar_shortbuf: [c_char; 1]_lock: *mut _IO_lock_t_offset: __off64_t_codecvt: *mut _IO_codecvtWide character stream stuff.
_wide_data: *mut _IO_wide_data_freeres_list: *mut _IO_FILE_freeres_buf: *mut c_void__pad5: usize_mode: c_int_unused2: [c_char; 20]Make sure we don’t get into trouble again.
Trait Implementations
sourceimpl Ord for _IO_FILE
impl Ord for _IO_FILE
sourceimpl PartialOrd<_IO_FILE> for _IO_FILE
impl PartialOrd<_IO_FILE> for _IO_FILE
sourcefn partial_cmp(&self, other: &_IO_FILE) -> Option<Ordering>
fn partial_cmp(&self, other: &_IO_FILE) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl Copy for _IO_FILE
impl Eq for _IO_FILE
impl StructuralEq for _IO_FILE
impl StructuralPartialEq for _IO_FILE
Auto Trait Implementations
impl RefUnwindSafe for _IO_FILE
impl !Send for _IO_FILE
impl !Sync for _IO_FILE
impl Unpin for _IO_FILE
impl UnwindSafe for _IO_FILE
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more