<Type Name="FileSpecialAttributes" FullName="Mono.Unix.FileSpecialAttributes">
  <TypeSignature Language="C#" Value="public enum FileSpecialAttributes" />
  <AssemblyInfo>
    <AssemblyName>Mono.Posix</AssemblyName>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Enum</BaseTypeName>
  </Base>
  <Attributes>
    <Attribute>
      <AttributeName>System.Flags</AttributeName>
    </Attribute>
  </Attributes>
  <Members>
    <Member MemberName="SetUserId">
      <MemberSignature Language="C#" Value="SetUserId" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>Mono.Unix.FileSpecialAttributes</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>When the file is executed (either as a new process or via
          <see cref="M:Mono.Unix.Native.Syscall.exec" />), set the effective 
          user-id of the process 
          (<see cref="P:Mono.Unix.UnixEnvironment.EffectiveUserId" />)
          to the owner of the file
          (<see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerUserId" />).
        </summary>
      </Docs>
    </Member>
    <Member MemberName="SetGroupId">
      <MemberSignature Language="C#" Value="SetGroupId" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>Mono.Unix.FileSpecialAttributes</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>When the file is executed (either as a new process or via
          <see cref="M:Mono.Unix.Native.Syscall.exec" />), set the effective 
          group-id of the process 
          (<see cref="P:Mono.Unix.UnixEnvironment.EffectiveGroupId" />)
          to the owner group of the file
          (<see cref="P:Mono.Unix.UnixFileSystemInfo.OwnerGroupId" />).
        </summary>
      </Docs>
    </Member>
    <Member MemberName="Sticky">
      <MemberSignature Language="C#" Value="Sticky" />
      <MemberType>Field</MemberType>
      <ReturnValue>
        <ReturnType>Mono.Unix.FileSpecialAttributes</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
          <para>Sticky bit.</para>
          <para>
          If set on a file, this is currently meaningless, but in years past it
          requested that the operating system keep the program's code in
          memory, thus speeding up further program invocations.  This is no
          longer necessary with virtual memory.
        </para>
          <para>
          If set on a directory, a file in the directory can be removed
          or renamed only if the user has write permission for the directory,
          and either:
        </para>
          <list type="bullet">
            <item>
              <term>owns the file</term>
            </item>
            <item>
              <term>owns the directory, or</term>
            </item>
            <item>
              <term>is the superuser (<c>root</c>).</term>
            </item>
          </list>
        </summary>
      </Docs>
    </Member>
  </Members>
  <Docs>
    <summary>Unix file special attributes.</summary>
    <remarks>
      Unix file special attributes are a part of the Unix file system entry 
      (see <see cref="P:Mono.Unix.UnixFileSystemInfo.FileSpecialAttributes" />)
      and control filesystem- and operating system-specific behavior.
    </remarks>
    <altmember cref="P:Mono.Unix.UnixFileSystemInfo.FileSpecialAttributes" />
    <altmember cref="P:Mono.Unix.UnixStream.FileSpecialAttributes" />
  </Docs>
</Type>
