<refentry id="thunar-vfs-Basic-Types">
<refmeta>
<refentrytitle>Basic Types</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>THUNAR-VFS Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>Basic Types</refname><refpurpose></refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>

<synopsis>

#include &lt;thunar-vfs/thunar-vfs.h&gt;


enum        <link linkend="ThunarVfsFileType">ThunarVfsFileType</link>;
enum        <link linkend="ThunarVfsFileMode">ThunarVfsFileMode</link>;
enum        <link linkend="ThunarVfsFileFlags">ThunarVfsFileFlags</link>;
enum        <link linkend="ThunarVfsFileHint">ThunarVfsFileHint</link>;
typedef     <link linkend="ThunarVfsFileDevice">ThunarVfsFileDevice</link>;
typedef     <link linkend="ThunarVfsFileInode">ThunarVfsFileInode</link>;
typedef     <link linkend="ThunarVfsFileSize">ThunarVfsFileSize</link>;
typedef     <link linkend="ThunarVfsFileTime">ThunarVfsFileTime</link>;
typedef     <link linkend="ThunarVfsGroupId">ThunarVfsGroupId</link>;
typedef     <link linkend="ThunarVfsUserId">ThunarVfsUserId</link>;


</synopsis>
</refsynopsisdiv>









<refsect1>
<title>Description</title>
<para>

</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="ThunarVfsFileType"/>enum ThunarVfsFileType</title>
<indexterm><primary>ThunarVfsFileType</primary></indexterm><programlisting>typedef enum {
  THUNAR_VFS_FILE_TYPE_SOCKET     = 0140000 &gt;&gt; 12,
  THUNAR_VFS_FILE_TYPE_SYMLINK    = 0120000 &gt;&gt; 12,
  THUNAR_VFS_FILE_TYPE_REGULAR    = 0100000 &gt;&gt; 12,
  THUNAR_VFS_FILE_TYPE_BLOCKDEV   = 0060000 &gt;&gt; 12,
  THUNAR_VFS_FILE_TYPE_DIRECTORY  = 0040000 &gt;&gt; 12,
  THUNAR_VFS_FILE_TYPE_CHARDEV    = 0020000 &gt;&gt; 12,
  THUNAR_VFS_FILE_TYPE_FIFO       = 0010000 &gt;&gt; 12,
  THUNAR_VFS_FILE_TYPE_UNKNOWN    = 0000000 &gt;&gt; 12,
} ThunarVfsFileType;
</programlisting>
<para>
Describes the type of a file.</para>
<para>

</para><variablelist role="enum">
<varlistentry>
<term><literal>THUNAR_VFS_FILE_TYPE_SOCKET</literal></term>
<listitem><simpara> A unix domain socket.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_TYPE_SYMLINK</literal></term>
<listitem><simpara> A broken symlink, for which the target does
                                 not exist (if the target would exist, the
                                 <link linkend="ThunarVfsInfo"><type>ThunarVfsInfo</type></link> object would have the type
                                 of the target).
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_TYPE_REGULAR</literal></term>
<listitem><simpara> A regular file.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_TYPE_BLOCKDEV</literal></term>
<listitem><simpara> A block device node.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_TYPE_DIRECTORY</literal></term>
<listitem><simpara> A directory node.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_TYPE_CHARDEV</literal></term>
<listitem><simpara> A character device node.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_TYPE_FIFO</literal></term>
<listitem><simpara> A named FIFO.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_TYPE_UNKNOWN</literal></term>
<listitem><simpara>

</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ThunarVfsFileMode"/>enum ThunarVfsFileMode</title>
<indexterm><primary>ThunarVfsFileMode</primary></indexterm><programlisting>typedef enum { /*&lt; flags &gt;*/
  THUNAR_VFS_FILE_MODE_SUID       = 04000,
  THUNAR_VFS_FILE_MODE_SGID       = 02000,
  THUNAR_VFS_FILE_MODE_STICKY     = 01000,
  THUNAR_VFS_FILE_MODE_USR_ALL    = 00700,
  THUNAR_VFS_FILE_MODE_USR_READ   = 00400,
  THUNAR_VFS_FILE_MODE_USR_WRITE  = 00200,
  THUNAR_VFS_FILE_MODE_USR_EXEC   = 00100,
  THUNAR_VFS_FILE_MODE_GRP_ALL    = 00070,
  THUNAR_VFS_FILE_MODE_GRP_READ   = 00040,
  THUNAR_VFS_FILE_MODE_GRP_WRITE  = 00020,
  THUNAR_VFS_FILE_MODE_GRP_EXEC   = 00010,
  THUNAR_VFS_FILE_MODE_OTH_ALL    = 00007,
  THUNAR_VFS_FILE_MODE_OTH_READ   = 00004,
  THUNAR_VFS_FILE_MODE_OTH_WRITE  = 00002,
  THUNAR_VFS_FILE_MODE_OTH_EXEC   = 00001,
} ThunarVfsFileMode;
</programlisting>
<para>
Special flags and permissions of a filesystem entity.</para>
<para>

</para><variablelist role="enum">
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_SUID</literal></term>
<listitem><simpara> SUID bit.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_SGID</literal></term>
<listitem><simpara> SGID bit.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_STICKY</literal></term>
<listitem><simpara> Sticky bit.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_USR_ALL</literal></term>
<listitem><simpara> Owner can do everything.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_USR_READ</literal></term>
<listitem><simpara> Owner can read the file.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_USR_WRITE</literal></term>
<listitem><simpara> Owner can write the file.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_USR_EXEC</literal></term>
<listitem><simpara> Owner can execute the file.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_GRP_ALL</literal></term>
<listitem><simpara> Owner group can do everything.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_GRP_READ</literal></term>
<listitem><simpara> Owner group can read the file.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_GRP_WRITE</literal></term>
<listitem><simpara> Owner group can write the file.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_GRP_EXEC</literal></term>
<listitem><simpara> Owner group can execute the file.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_OTH_ALL</literal></term>
<listitem><simpara> Others can do everything.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_OTH_READ</literal></term>
<listitem><simpara> Others can read the file.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_OTH_WRITE</literal></term>
<listitem><simpara> Others can write the file.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_MODE_OTH_EXEC</literal></term>
<listitem><simpara> Others can execute the file.
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ThunarVfsFileFlags"/>enum ThunarVfsFileFlags</title>
<indexterm><primary>ThunarVfsFileFlags</primary></indexterm><programlisting>typedef enum { /*&lt; flags &gt;*/
  THUNAR_VFS_FILE_FLAGS_NONE       = 0,
  THUNAR_VFS_FILE_FLAGS_SYMLINK    = 1L &lt;&lt; 0,
  THUNAR_VFS_FILE_FLAGS_EXECUTABLE = 1L &lt;&lt; 1,
} ThunarVfsFileFlags;
</programlisting>
<para>
Flags providing additional information about the
file system entity.</para>
<para>

</para><variablelist role="enum">
<varlistentry>
<term><literal>THUNAR_VFS_FILE_FLAGS_NONE</literal></term>
<listitem><simpara> No additional information available.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_FLAGS_SYMLINK</literal></term>
<listitem><simpara> The file is a symlink. Whether or not
                                    the info fields refer to the symlink
                                    itself or the linked file, depends on 
                                    whether the symlink is broken or not.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_FLAGS_EXECUTABLE</literal></term>
<listitem><simpara> The file can most probably be executed
                                    by #<link linkend="thunar-vfs-info-execute"><function>thunar_vfs_info_execute()</function></link>.
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ThunarVfsFileHint"/>enum ThunarVfsFileHint</title>
<indexterm><primary>ThunarVfsFileHint</primary></indexterm><programlisting>typedef enum {
  THUNAR_VFS_FILE_HINT_ICON,
  THUNAR_VFS_FILE_N_HINTS,
} ThunarVfsFileHint;
</programlisting>
<para>
Additional hints that may be provided by the file system
backend.
</para>
<para>
You can use <link linkend="thunar-vfs-info-get-hint"><function>thunar_vfs_info_get_hint()</function></link> to query hints from a
<link linkend="ThunarVfsInfo"><type>ThunarVfsInfo</type></link>.</para>
<para>

</para><variablelist role="enum">
<varlistentry>
<term><literal>THUNAR_VFS_FILE_HINT_ICON</literal></term>
<listitem><simpara> The name of an icon or the path to
                             an image file, which should be used
                             to represent the file (e.g. the Icon
                             entry specified in a .desktop file).
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>THUNAR_VFS_FILE_N_HINTS</literal></term>
<listitem><simpara>

</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ThunarVfsFileDevice"/>ThunarVfsFileDevice</title>
<indexterm><primary>ThunarVfsFileDevice</primary></indexterm><programlisting>typedef dev_t ThunarVfsFileDevice;
</programlisting>
<para>
</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ThunarVfsFileInode"/>ThunarVfsFileInode</title>
<indexterm><primary>ThunarVfsFileInode</primary></indexterm><programlisting>typedef ino_t ThunarVfsFileInode;
</programlisting>
<para>
</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ThunarVfsFileSize"/>ThunarVfsFileSize</title>
<indexterm><primary>ThunarVfsFileSize</primary></indexterm><programlisting>typedef off_t ThunarVfsFileSize;
</programlisting>
<para>
</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ThunarVfsFileTime"/>ThunarVfsFileTime</title>
<indexterm><primary>ThunarVfsFileTime</primary></indexterm><programlisting>typedef time_t ThunarVfsFileTime;
</programlisting>
<para>
</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ThunarVfsGroupId"/>ThunarVfsGroupId</title>
<indexterm><primary>ThunarVfsGroupId</primary></indexterm><programlisting>typedef gid_t ThunarVfsGroupId;
</programlisting>
<para>
</para>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ThunarVfsUserId"/>ThunarVfsUserId</title>
<indexterm><primary>ThunarVfsUserId</primary></indexterm><programlisting>typedef uid_t ThunarVfsUserId;
</programlisting>
<para>
</para>
<para>

</para></refsect2>

</refsect1>




</refentry>
