<Type Name="Stat" FullName="Mono.Unix.Native.Stat">
  <TypeSignature Language="C#" Value="public struct Stat : IEquatable&lt;Mono.Unix.Native.Stat&gt;" />
  <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit Stat extends System.ValueType implements class System.IEquatable`1&lt;valuetype Mono.Unix.Native.Stat&gt;" />
  <AssemblyInfo>
    <AssemblyName>Mono.Posix</AssemblyName>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadingSafetyStatement>
  All public static members of this type are safe for multithreaded operations. 
  No instance members are guaranteed to be thread safe.
  </ThreadingSafetyStatement>
  <Base>
    <BaseTypeName>System.ValueType</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.IEquatable&lt;Mono.Unix.Native.Stat&gt;</InterfaceName>
    </Interface>
  </Interfaces>
  <Docs>
    <summary>Every file has a unique INODE data structure. Mono's managed representation is the Stat struct. the <see cref="M:Mono.Unix.Native.Syscall.stat" /> and <see cref="M:Mono.Unix.Native.Syscall.lstat" /> methods return the Stat struct as an output parameter.</summary>
    <remarks>See <c>stat</c>(2) for more information. Not all filesystems implement all of the time fields and certain mount types can affect the ATime value as well. See <c>mount</c>(8) for more information.</remarks>
    <altmember cref="M:Mono.Unix.Native.Syscall.fstat" />
    <altmember cref="M:Mono.Unix.Native.Syscall.lstat" />
    <altmember cref="M:Mono.Unix.Native.Syscall.stat" />
  </Docs>
  <Members>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public bool Equals (Mono.Unix.Native.Stat value);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool Equals(valuetype Mono.Unix.Native.Stat value) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="value" Type="Mono.Unix.Native.Stat" />
      </Parameters>
      <Docs>
        <param name="value">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="C#" Value="public override bool Equals (object obj);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object obj) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="obj" Type="System.Object" />
      </Parameters>
      <Docs>
        <param name="obj">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="GetHashCode">
      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="op_Equality">
      <MemberSignature Language="C#" Value="public static bool op_Equality (Mono.Unix.Native.Stat lhs, Mono.Unix.Native.Stat rhs);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_Equality(valuetype Mono.Unix.Native.Stat lhs, valuetype Mono.Unix.Native.Stat rhs) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="lhs" Type="Mono.Unix.Native.Stat" />
        <Parameter Name="rhs" Type="Mono.Unix.Native.Stat" />
      </Parameters>
      <Docs>
        <param name="lhs">To be added.</param>
        <param name="rhs">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="op_Inequality">
      <MemberSignature Language="C#" Value="public static bool op_Inequality (Mono.Unix.Native.Stat lhs, Mono.Unix.Native.Stat rhs);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname bool op_Inequality(valuetype Mono.Unix.Native.Stat lhs, valuetype Mono.Unix.Native.Stat rhs) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="lhs" Type="Mono.Unix.Native.Stat" />
        <Parameter Name="rhs" Type="Mono.Unix.Native.Stat" />
      </Parameters>
      <Docs>
        <param name="lhs">To be added.</param>
        <param name="rhs">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="st_atime">
      <MemberSignature Language="C#" Value="public long st_atime;" />
      <MemberSignature Language="ILAsm" Value=".field public int64 st_atime" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Last access time.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="st_blksize">
      <MemberSignature Language="C#" Value="public long st_blksize;" />
      <MemberSignature Language="ILAsm" Value=".field public int64 st_blksize" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Contains the preferred block size for efficient file system I/O.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="st_blocks">
      <MemberSignature Language="C#" Value="public long st_blocks;" />
      <MemberSignature Language="ILAsm" Value=".field public int64 st_blocks" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Blocks gives the size of the file in 512-byte blocks.</summary>
        <remarks>This may be smaller than Size/512 e.g. when the file has holes.</remarks>
      </Docs>
    </Member>
    <Member MemberName="st_ctime">
      <MemberSignature Language="C#" Value="public long st_ctime;" />
      <MemberSignature Language="ILAsm" Value=".field public int64 st_ctime" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Creation time.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="st_dev">
      <MemberSignature Language="C#" Value="public ulong st_dev;" />
      <MemberSignature Language="ILAsm" Value=".field public unsigned int64 st_dev" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.UInt64</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>A device number on which the file resides.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="st_gid">
      <MemberSignature Language="C#" Value="public uint st_gid;" />
      <MemberSignature Language="ILAsm" Value=".field public unsigned int32 st_gid" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Group ID.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="st_ino">
      <MemberSignature Language="C#" Value="public ulong st_ino;" />
      <MemberSignature Language="ILAsm" Value=".field public unsigned int64 st_ino" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.UInt64</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The inode number of file on disk.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="st_mode">
      <MemberSignature Language="C#" Value="public Mono.Unix.Native.FilePermissions st_mode;" />
      <MemberSignature Language="ILAsm" Value=".field public valuetype Mono.Unix.Native.FilePermissions st_mode" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>Mono.Unix.Native.FilePermissions</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The file permissions/protection.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="st_mtime">
      <MemberSignature Language="C#" Value="public long st_mtime;" />
      <MemberSignature Language="ILAsm" Value=".field public int64 st_mtime" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Time of last modification.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="st_nlink">
      <MemberSignature Language="C#" Value="public ulong st_nlink;" />
      <MemberSignature Language="ILAsm" Value=".field public unsigned int64 st_nlink" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.UInt64</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The number of pathnames or links that reference this inode.</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="st_rdev">
      <MemberSignature Language="C#" Value="public ulong st_rdev;" />
      <MemberSignature Language="ILAsm" Value=".field public unsigned int64 st_rdev" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.UInt64</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Device type (if inode device).</summary>
        <remarks />
      </Docs>
    </Member>
    <Member MemberName="st_size">
      <MemberSignature Language="C#" Value="public long st_size;" />
      <MemberSignature Language="ILAsm" Value=".field public int64 st_size" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>Size gives the size of the file in bytes.</summary>
        <remarks>If the file is a symlink and <see cref="M:Mono.Unix.Native.Syscall.lstat" /> was used, then this is the length of the pathname it contains without trailing null.</remarks>
      </Docs>
    </Member>
    <Member MemberName="st_uid">
      <MemberSignature Language="C#" Value="public uint st_uid;" />
      <MemberSignature Language="ILAsm" Value=".field public unsigned int32 st_uid" />
      <MemberType>Field</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Attributes>
        <Attribute>
          <AttributeName>System.CLSCompliant(false)</AttributeName>
        </Attribute>
      </Attributes>
      <ReturnValue>
        <ReturnType>System.UInt32</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>The owner user ID.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
