std::os::unix::fs::MetadataExt - Rust
Description: API documentation for the Rust `MetadataExt` trait in crate `std`.
Keywords: rust, rustlang, rust-lang, MetadataExt

# Trait std::os::unix::fs::MetadataExt 1.1.0 [−] [src]

    pub trait MetadataExt {
        fn dev(&self) -> u64;
        fn ino(&self) -> u64;
        fn mode(&self) -> u32;
        fn nlink(&self) -> u64;
        fn uid(&self) -> u32;
        fn gid(&self) -> u32;
        fn rdev(&self) -> u64;
        fn size(&self) -> u64;
        fn atime(&self) -> i64;
        fn atime_nsec(&self) -> i64;
        fn mtime(&self) -> i64;
        fn mtime_nsec(&self) -> i64;
        fn ctime(&self) -> i64;
        fn ctime_nsec(&self) -> i64;
        fn blksize(&self) -> u64;
        fn blocks(&self) -> u64;
    }

This is supported on Unix only.

## Required Methods

### `fn dev(&self) -> u64`

This is supported on Unix only.

Returns the ID of the device containing the file.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let dev_id = meta.dev();Run

### `fn ino(&self) -> u64`

This is supported on Unix only.

Returns the inode number.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let inode = meta.ino();Run

### `fn mode(&self) -> u32`

This is supported on Unix only.

Returns the rights applied to this file.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let mode = meta.mode();
    let user_has_write_access      = mode & 0o200;
    let user_has_read_write_access = mode & 0o600;
    let group_has_read_access      = mode & 0o040;
    let others_have_exec_access    = mode & 0o001;Run

### `fn nlink(&self) -> u64`

This is supported on Unix only.

Returns the number of hard links pointing to this file.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let nb_hard_links = meta.nlink();Run

### `fn uid(&self) -> u32`

This is supported on Unix only.

Returns the user ID of the owner of this file.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let user_id = meta.uid();Run

### `fn gid(&self) -> u32`

This is supported on Unix only.

Returns the group ID of the owner of this file.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let group_id = meta.gid();Run

### `fn rdev(&self) -> u64`

This is supported on Unix only.

Returns the device ID of this file (if it is a special one).

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let device_id = meta.rdev();Run

### `fn size(&self) -> u64`

This is supported on Unix only.

Returns the total size of this file in bytes.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let file_size = meta.size();Run

### `fn atime(&self) -> i64`

This is supported on Unix only.

Returns the time of the last access to the file.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let last_access_time = meta.atime();Run

### `fn atime_nsec(&self) -> i64`

This is supported on Unix only.

Returns the time of the last access to the file in nanoseconds.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let nano_last_access_time = meta.atime_nsec();Run

### `fn mtime(&self) -> i64`

This is supported on Unix only.

Returns the time of the last modification of the file.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let last_modification_time = meta.mtime();Run

### `fn mtime_nsec(&self) -> i64`

This is supported on Unix only.

Returns the time of the last modification of the file in nanoseconds.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let nano_last_modification_time = meta.mtime_nsec();Run

### `fn ctime(&self) -> i64`

This is supported on Unix only.

Returns the time of the last status change of the file.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let last_status_change_time = meta.ctime();Run

### `fn ctime_nsec(&self) -> i64`

This is supported on Unix only.

Returns the time of the last status change of the file in nanoseconds.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let nano_last_status_change_time = meta.ctime_nsec();Run

### `fn blksize(&self) -> u64`

This is supported on Unix only.

Returns the blocksize for filesystem I/O.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let blocksize = meta.blksize();Run

### `fn blocks(&self) -> u64`

This is supported on Unix only.

Returns the number of blocks allocated to the file, in 512-byte units.

Please note that this may be smaller than `st_size / 512` when the file has holes.

# Examples

    use std::fs;
    use std::os::unix::fs::MetadataExt;

    let meta = fs::metadata("some_file")?;
    let blocks = meta.blocks();Run

## Implementors

- [src]
  `impl MetadataExt for Metadata`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
↑
  Move up in search results
↓
  Move down in search results
↹
  Switch tab
⏎
  Go to active search result
+ / -
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)