Struct simics_api_sys::_IO_FILE
source · #[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_int
High-order word is _IO_MAGIC; rest is flags.
_IO_read_ptr: *mut c_char
Current read pointer
_IO_read_end: *mut c_char
End of get area.
_IO_read_base: *mut c_char
Start of putback+get area.
_IO_write_base: *mut c_char
Start of put area.
_IO_write_ptr: *mut c_char
Current put pointer.
_IO_write_end: *mut c_char
End of put area.
_IO_buf_base: *mut c_char
Start of reserve area.
_IO_buf_end: *mut c_char
End of reserve area.
_IO_save_base: *mut c_char
Pointer to start of non-current get area.
_IO_backup_base: *mut c_char
Pointer to first valid character of backup area
_IO_save_end: *mut c_char
Pointer to end of non-current get area.
_markers: *mut _IO_marker
§_chain: *mut _IO_FILE
§_fileno: c_int
§_flags2: c_int
§_old_offset: __off_t
This used to be _offset but it’s too small.
_cur_column: c_ushort
1+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_codecvt
Wide 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§
source§impl Ord for _IO_FILE
impl Ord for _IO_FILE
source§impl PartialOrd for _IO_FILE
impl PartialOrd for _IO_FILE
impl Copy for _IO_FILE
impl Eq for _IO_FILE
impl StructuralPartialEq for _IO_FILE
Auto Trait Implementations§
impl Freeze for _IO_FILE
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)