\section{mime.c File Reference}
\label{mime_8c}\index{mime.c@{mime.c}}
Shared MIME database functions for ROX-CLib. 

{\tt \#include \char`\"{}rox-clib.h\char`\"{}}\par
{\tt \#include $<$stdlib.h$>$}\par
{\tt \#include $<$time.h$>$}\par
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$sys/param.h$>$}\par
{\tt \#include $<$fnmatch.h$>$}\par
{\tt \#include $<$sys/types.h$>$}\par
{\tt \#include $<$sys/stat.h$>$}\par
{\tt \#include $<$gtk/gtk.h$>$}\par
{\tt \#include $<$libxml/parser.h$>$}\par
{\tt \#include \char`\"{}rox.h\char`\"{}}\par
{\tt \#include \char`\"{}basedir.h\char`\"{}}\par
{\tt \#include \char`\"{}mime.h\char`\"{}}\par
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct {\bf pattern}
\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\#define {\bf TYPE\_\-NS}~\char`\"{}http://www.freedesktop.org/standards/shared-mime-info\char`\"{}
\item 
\#define {\bf UNKNOWN}~{\bf text\_\-plain}
\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
typedef {\bf pattern} {\bf Pattern}
\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
void {\bf rox\_\-mime\_\-init} (void)
\item 
{\bf ROXMIMEType} $\ast$ {\bf rox\_\-mime\_\-get\_\-type} (const char $\ast$name, gboolean can\_\-create)
\item 
void {\bf mime\_\-init} (void)
\item 
{\bf ROXMIMEType} $\ast$ {\bf rox\_\-mime\_\-lookup} (const char $\ast$path)
\item 
{\bf ROXMIMEType} $\ast$ {\bf mime\_\-lookup} (const char $\ast$path)
\item 
{\bf ROXMIMEType} $\ast$ {\bf rox\_\-mime\_\-lookup\_\-by\_\-name} (const char $\ast$name)
\item 
{\bf ROXMIMEType} $\ast$ {\bf mime\_\-lookup\_\-by\_\-name} (const char $\ast$name)
\item 
char $\ast$ {\bf rox\_\-mime\_\-type\_\-name} (const {\bf ROXMIMEType} $\ast$type)
\item 
char $\ast$ {\bf mime\_\-type\_\-name} (const {\bf ROXMIMEType} $\ast$type)
\item 
const char $\ast$ {\bf rox\_\-mime\_\-type\_\-comment} ({\bf ROXMIMEType} $\ast$type)
\item 
const char $\ast$ {\bf mime\_\-type\_\-comment} ({\bf ROXMIMEType} $\ast$type)
\item 
void {\bf rox\_\-mime\_\-set\_\-ignore\_\-exec\_\-bit} (int ignore)
\item 
void {\bf mime\_\-set\_\-ignore\_\-exec\_\-bit} (int ignore)
\item 
int {\bf rox\_\-mime\_\-get\_\-ignore\_\-exec\_\-bit} (void)
\item 
int {\bf mime\_\-get\_\-ignore\_\-exec\_\-bit} (void)
\item 
void {\bf rox\_\-mime\_\-set\_\-by\_\-content} (int content)
\item 
void {\bf mime\_\-set\_\-by\_\-content} (int content)
\item 
int {\bf rox\_\-mime\_\-get\_\-by\_\-content} (void)
\item 
int {\bf mime\_\-get\_\-by\_\-content} (void)
\item 
Gdk\-Pixbuf $\ast$ {\bf rox\_\-mime\_\-get\_\-icon} (const {\bf ROXMIMEType} $\ast$type, int msize)
\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item 
MIMEType\_\-export {\bf ROXMIMEType} $\ast$ {\bf text\_\-plain}
\item 
MIMEType\_\-export {\bf ROXMIMEType} $\ast$ {\bf application\_\-executable}
\item 
MIMEType\_\-export {\bf ROXMIMEType} $\ast$ {\bf application\_\-octet\_\-stream}
\item 
MIMEType\_\-export {\bf ROXMIMEType} $\ast$ {\bf inode\_\-directory}
\item 
MIMEType\_\-export {\bf ROXMIMEType} $\ast$ {\bf inode\_\-mountpoint}
\item 
MIMEType\_\-export {\bf ROXMIMEType} $\ast$ {\bf inode\_\-pipe}
\item 
MIMEType\_\-export {\bf ROXMIMEType} $\ast$ {\bf inode\_\-socket}
\item 
MIMEType\_\-export {\bf ROXMIMEType} $\ast$ {\bf inode\_\-block}
\item 
MIMEType\_\-export {\bf ROXMIMEType} $\ast$ {\bf inode\_\-char}
\item 
MIMEType\_\-export {\bf ROXMIMEType} $\ast$ {\bf inode\_\-door}
\item 
MIMEType\_\-export {\bf ROXMIMEType} $\ast$ {\bf inode\_\-unknown}
\end{CompactItemize}


\subsection{Detailed Description}
Shared MIME database functions for ROX-CLib. 

\begin{Desc}
\item[Author:]Thomas Leonard, Stephen Watson \end{Desc}
\begin{Desc}
\item[Version:]\begin{Desc}
\item[Id]\doxyref{mime.c}{p.}{mime_8c},v 1.9 2006/10/03 20:45:58 stephen Exp \end{Desc}
\end{Desc}


\subsection{Define Documentation}
\index{mime.c@{mime.c}!TYPE_NS@{TYPE\_\-NS}}
\index{TYPE_NS@{TYPE\_\-NS}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define TYPE\_\-NS~\char`\"{}http://www.freedesktop.org/standards/shared-mime-info\char`\"{}}\label{mime_8c_80c88b5fc256949983ea2b7f48bd9c92}


XML name space of the MIME definitions. \index{mime.c@{mime.c}!UNKNOWN@{UNKNOWN}}
\index{UNKNOWN@{UNKNOWN}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}\#define UNKNOWN~{\bf text\_\-plain}}\label{mime_8c_c1ae4add974b9cfc6b5aaf8a578f01ab}


Normal files of undefined type default to text/plain 

\subsection{Typedef Documentation}
\index{mime.c@{mime.c}!Pattern@{Pattern}}
\index{Pattern@{Pattern}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf pattern}  {\bf Pattern}}\label{mime_8c_3985cb8194aff81c61afd32046610c64}


The first pattern in the list which matches is used 

\subsection{Function Documentation}
\index{mime.c@{mime.c}!mime_get_by_content@{mime\_\-get\_\-by\_\-content}}
\index{mime_get_by_content@{mime\_\-get\_\-by\_\-content}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mime\_\-get\_\-by\_\-content (void)}\label{mime_8c_19e22c55610303dd278eada3c6873b91}


Return how the MIME system deals with the content of files, see \doxyref{mime\_\-set\_\-by\_\-content()}{p.}{mime_8c_d34a43f956194b7f16c4eeda1b87ee98}.

\begin{Desc}
\item[{\bf Deprecated}]Use \doxyref{rox\_\-mime\_\-get\_\-by\_\-content()}{p.}{mime_8c_0ab9b8f2c38cc5bc92f1c03433e93b05} \end{Desc}
\index{mime.c@{mime.c}!mime_get_ignore_exec_bit@{mime\_\-get\_\-ignore\_\-exec\_\-bit}}
\index{mime_get_ignore_exec_bit@{mime\_\-get\_\-ignore\_\-exec\_\-bit}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int mime\_\-get\_\-ignore\_\-exec\_\-bit (void)}\label{mime_8c_a140c08fdf4e7ce0fe303d0dc9290784}


Return how the MIME system treats executable files, see \doxyref{mime\_\-set\_\-ignore\_\-exec\_\-bit()}{p.}{mime_8c_6a3de8d81139fcc55c137172895ffa84}.

\begin{Desc}
\item[{\bf Deprecated}]Use \doxyref{rox\_\-mime\_\-get\_\-ignore\_\-exec\_\-bit()}{p.}{mime_8c_a87db0e0a0cf6b7c9fbf4a456baef956}. \end{Desc}
\index{mime.c@{mime.c}!mime_init@{mime\_\-init}}
\index{mime_init@{mime\_\-init}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mime\_\-init (void)}\label{mime_8c_dedf2ef52ff9b5b1640728a860f443bf}


Initialize the MIME type system. \begin{Desc}
\item[{\bf Deprecated}]Use \doxyref{rox\_\-mime\_\-init()}{p.}{mime_8c_42933f0cae0aee6d4b1de6373c98a12b} instead. \end{Desc}
\index{mime.c@{mime.c}!mime_lookup@{mime\_\-lookup}}
\index{mime_lookup@{mime\_\-lookup}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf ROXMIMEType}$\ast$ mime\_\-lookup (const char $\ast$ {\em path})}\label{mime_8c_5655e4745eb1c3cfbb2641e08da7a00f}


Return the MIME type of the named object.

\begin{Desc}
\item[{\bf Deprecated}]Use \doxyref{rox\_\-mime\_\-lookup()}{p.}{mime_8c_79acda69dbf62c49bb834f6e2d329bca}. \end{Desc}
\index{mime.c@{mime.c}!mime_lookup_by_name@{mime\_\-lookup\_\-by\_\-name}}
\index{mime_lookup_by_name@{mime\_\-lookup\_\-by\_\-name}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf ROXMIMEType}$\ast$ mime\_\-lookup\_\-by\_\-name (const char $\ast$ {\em name})}\label{mime_8c_34bc04a631b2a0c4216a82e3ca7c1b71}


Return the type of a file based purely on the name. The file need not exist or be readable.

\begin{Desc}
\item[{\bf Deprecated}]use \doxyref{rox\_\-mime\_\-lookup\_\-by\_\-name()}{p.}{mime_8c_92e8865e463831d7f9480a93ba1f83a5} \end{Desc}
\index{mime.c@{mime.c}!mime_set_by_content@{mime\_\-set\_\-by\_\-content}}
\index{mime_set_by_content@{mime\_\-set\_\-by\_\-content}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mime\_\-set\_\-by\_\-content (int {\em content})}\label{mime_8c_d34a43f956194b7f16c4eeda1b87ee98}


Set how the MIME system deals with the content of files. If {\em content\/} is {\tt FALSE} then the content of the files will never be read to identify the type.

\begin{Desc}
\item[{\bf Deprecated}]Use \doxyref{rox\_\-mime\_\-set\_\-by\_\-content()}{p.}{mime_8c_b2984f4931c49fa231fab3c396f33ffa} \end{Desc}
\index{mime.c@{mime.c}!mime_set_ignore_exec_bit@{mime\_\-set\_\-ignore\_\-exec\_\-bit}}
\index{mime_set_ignore_exec_bit@{mime\_\-set\_\-ignore\_\-exec\_\-bit}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void mime\_\-set\_\-ignore\_\-exec\_\-bit (int {\em ignore})}\label{mime_8c_6a3de8d81139fcc55c137172895ffa84}


Set how the MIME system treats executable files. If {\em ignore\/} is {\tt FALSE} then all executable files will be identified as application/executable

\begin{Desc}
\item[{\bf Deprecated}]Use \doxyref{rox\_\-mime\_\-set\_\-ignore\_\-exec\_\-bit()}{p.}{mime_8c_e61987a56a58063558d0c7937bc1dbc5}. \end{Desc}
\index{mime.c@{mime.c}!mime_type_comment@{mime\_\-type\_\-comment}}
\index{mime_type_comment@{mime\_\-type\_\-comment}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ mime\_\-type\_\-comment ({\bf ROXMIMEType} $\ast$ {\em type})}\label{mime_8c_848dd8d8a93ea12c040042190d4a599a}


Return the comment of a MIME type (the long form of a name, e.g. \char`\"{} Text document\char`\"{})

\begin{Desc}
\item[{\bf Deprecated}]use \doxyref{rox\_\-mime\_\-type\_\-comment()}{p.}{mime_8c_ec141d33c3d16782538a2aa25b8cb677}. \end{Desc}
\index{mime.c@{mime.c}!mime_type_name@{mime\_\-type\_\-name}}
\index{mime_type_name@{mime\_\-type\_\-name}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ mime\_\-type\_\-name (const {\bf ROXMIMEType} $\ast$ {\em type})}\label{mime_8c_4397ccfed946b177c7f114ab71095139}


Return the human readable name of the type, in the form media/sub-type

\begin{Desc}
\item[{\bf Deprecated}]use \doxyref{rox\_\-mime\_\-type\_\-name()}{p.}{mime_8c_7f32ce1d50369798dd817799c98380d9}. \end{Desc}
\index{mime.c@{mime.c}!rox_mime_get_by_content@{rox\_\-mime\_\-get\_\-by\_\-content}}
\index{rox_mime_get_by_content@{rox\_\-mime\_\-get\_\-by\_\-content}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int rox\_\-mime\_\-get\_\-by\_\-content (void)}\label{mime_8c_0ab9b8f2c38cc5bc92f1c03433e93b05}


Return how the MIME system deals with the content of files, see \doxyref{mime\_\-set\_\-by\_\-content()}{p.}{mime_8c_d34a43f956194b7f16c4eeda1b87ee98}.

Currently this flag has no effect as identifying files by content is not yet supported.

\begin{Desc}
\item[Returns:]the value of the by\_\-content flag. \end{Desc}
\index{mime.c@{mime.c}!rox_mime_get_icon@{rox\_\-mime\_\-get\_\-icon}}
\index{rox_mime_get_icon@{rox\_\-mime\_\-get\_\-icon}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}Gdk\-Pixbuf$\ast$ rox\_\-mime\_\-get\_\-icon (const {\bf ROXMIMEType} $\ast$ {\em type}, int {\em msize})}\label{mime_8c_93e345fc20cca9be75bec85c1f0996a4}


Return the icon for the specified MIME type, scaled appropriately. This function checks the override icons for media/subtype, then the ROX theme icon for the same type. If neither works it tries again for the generic media icon in the same places. If nothing works, {\tt NULL} is returned.

In the future this will detect the icon theme in use, but until then only the ROX theme is checked.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em type}]MIME type to look up \item[\mbox{$\leftarrow$} {\em msize}]maximum size in pixels of the icon to return. If 0 or less the default size of 48 is used. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the icon, or {\tt NULL} if not found. \end{Desc}
\index{mime.c@{mime.c}!rox_mime_get_ignore_exec_bit@{rox\_\-mime\_\-get\_\-ignore\_\-exec\_\-bit}}
\index{rox_mime_get_ignore_exec_bit@{rox\_\-mime\_\-get\_\-ignore\_\-exec\_\-bit}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int rox\_\-mime\_\-get\_\-ignore\_\-exec\_\-bit (void)}\label{mime_8c_a87db0e0a0cf6b7c9fbf4a456baef956}


Return how the MIME system treats executable files, see \doxyref{mime\_\-set\_\-ignore\_\-exec\_\-bit()}{p.}{mime_8c_6a3de8d81139fcc55c137172895ffa84}.

\begin{Desc}
\item[Returns:]the value of the ignore\_\-exec flag. \end{Desc}
\index{mime.c@{mime.c}!rox_mime_get_type@{rox\_\-mime\_\-get\_\-type}}
\index{rox_mime_get_type@{rox\_\-mime\_\-get\_\-type}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf ROXMIMEType}$\ast$ rox\_\-mime\_\-get\_\-type (const char $\ast$ {\em name}, gboolean {\em can\_\-create})}\label{mime_8c_e0ac90b4d432c82f4b1fe765c03b86b2}


Parse a MIME type name and return the corresponding ROXMIMEType data.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em name}]name of the type, as media/sub-type \item[\mbox{$\leftarrow$} {\em can\_\-create}]if {\tt TRUE} and {\em name\/} is not a currently known type then create a new one and return it, otherwise return {\tt NULL} \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the type, or {\tt NULL} if {\em is\/} not known and {\em can\_\-create\/} {\em false\/}, or if {\em is\/} malformed. \end{Desc}
\index{mime.c@{mime.c}!rox_mime_init@{rox\_\-mime\_\-init}}
\index{rox_mime_init@{rox\_\-mime\_\-init}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-mime\_\-init (void)}\label{mime_8c_42933f0cae0aee6d4b1de6373c98a12b}


Initialize the MIME type system. This must be called before the other functions. \index{mime.c@{mime.c}!rox_mime_lookup@{rox\_\-mime\_\-lookup}}
\index{rox_mime_lookup@{rox\_\-mime\_\-lookup}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf ROXMIMEType}$\ast$ rox\_\-mime\_\-lookup (const char $\ast$ {\em path})}\label{mime_8c_79acda69dbf62c49bb834f6e2d329bca}


Return the MIME type of the named object.

If the object does not exist, or is in an unsearchable directory, then the type returned is based purely on the name.

If the object does exist then the type of file is checked. If it is a non-file object (such as a directory) then the appropriate inode/subtype type is returned. If it is a file and is executable and the \doxyref{mime\_\-get\_\-ignore\_\-exec\_\-bit()}{p.}{mime_8c_a140c08fdf4e7ce0fe303d0dc9290784} value is {\tt FALSE} then application/executable is returned.

If \doxyref{mime\_\-get\_\-by\_\-content()}{p.}{mime_8c_19e22c55610303dd278eada3c6873b91} is not {\tt FALSE} and content checking is implemented (it currently is not) and a type is identified it is returned.

If the type can be identified by the name then that is returned.

Finally if the execute bit is set application/executable is returned, otherwise \doxyref{UNKNOWN}{p.}{mime_8c_c1ae4add974b9cfc6b5aaf8a578f01ab}.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em path}]path to object to check, or a name of a non-existant file \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the identified type. \end{Desc}
\index{mime.c@{mime.c}!rox_mime_lookup_by_name@{rox\_\-mime\_\-lookup\_\-by\_\-name}}
\index{rox_mime_lookup_by_name@{rox\_\-mime\_\-lookup\_\-by\_\-name}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf ROXMIMEType}$\ast$ rox\_\-mime\_\-lookup\_\-by\_\-name (const char $\ast$ {\em name})}\label{mime_8c_92e8865e463831d7f9480a93ba1f83a5}


Return the type of a file based purely on the name. The file need not exist or be readable.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em name}]name of file \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the identified type. \end{Desc}
\index{mime.c@{mime.c}!rox_mime_set_by_content@{rox\_\-mime\_\-set\_\-by\_\-content}}
\index{rox_mime_set_by_content@{rox\_\-mime\_\-set\_\-by\_\-content}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-mime\_\-set\_\-by\_\-content (int {\em content})}\label{mime_8c_b2984f4931c49fa231fab3c396f33ffa}


Set how the MIME system deals with the content of files. If {\em content\/} is {\tt FALSE} then the content of the files will never be read to identify the type.

Currently this flag has no effect as identifying files by content is not yet supported.

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em content}]the new value of the by\_\-cotnent flag. \end{description}
\end{Desc}
\index{mime.c@{mime.c}!rox_mime_set_ignore_exec_bit@{rox\_\-mime\_\-set\_\-ignore\_\-exec\_\-bit}}
\index{rox_mime_set_ignore_exec_bit@{rox\_\-mime\_\-set\_\-ignore\_\-exec\_\-bit}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void rox\_\-mime\_\-set\_\-ignore\_\-exec\_\-bit (int {\em ignore})}\label{mime_8c_e61987a56a58063558d0c7937bc1dbc5}


Set how the MIME system treats executable files. If {\em ignore\/} is {\tt FALSE} then all executable files will be identified as application/executable

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em ignore}]the new value of the ignore\_\-exec flag. \end{description}
\end{Desc}
\index{mime.c@{mime.c}!rox_mime_type_comment@{rox\_\-mime\_\-type\_\-comment}}
\index{rox_mime_type_comment@{rox\_\-mime\_\-type\_\-comment}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ rox\_\-mime\_\-type\_\-comment ({\bf ROXMIMEType} $\ast$ {\em type})}\label{mime_8c_ec141d33c3d16782538a2aa25b8cb677}


Return the comment of a MIME type (the long form of a name, e.g. \char`\"{} Text document\char`\"{})

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em type}]the type \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the comment \end{Desc}
\index{mime.c@{mime.c}!rox_mime_type_name@{rox\_\-mime\_\-type\_\-name}}
\index{rox_mime_type_name@{rox\_\-mime\_\-type\_\-name}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ rox\_\-mime\_\-type\_\-name (const {\bf ROXMIMEType} $\ast$ {\em type})}\label{mime_8c_7f32ce1d50369798dd817799c98380d9}


Return the human readable name of the type, in the form media/sub-type

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[\mbox{$\leftarrow$} {\em type}]type to return name of. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]the name, pass to g\_\-free() when done. \end{Desc}


\subsection{Variable Documentation}
\index{mime.c@{mime.c}!application_executable@{application\_\-executable}}
\index{application_executable@{application\_\-executable}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}MIMEType\_\-export {\bf ROXMIMEType}$\ast$ {\bf application\_\-executable}}\label{mime_8c_26049b1cb4eee400e49bbe0e67022c7d}


Default for executable file \index{mime.c@{mime.c}!application_octet_stream@{application\_\-octet\_\-stream}}
\index{application_octet_stream@{application\_\-octet\_\-stream}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}MIMEType\_\-export {\bf ROXMIMEType}$\ast$ {\bf application\_\-octet\_\-stream}}\label{mime_8c_54ce6986135decdd9115776e27c98cd4}


Default for binary file \index{mime.c@{mime.c}!inode_block@{inode\_\-block}}
\index{inode_block@{inode\_\-block}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}MIMEType\_\-export {\bf ROXMIMEType}$\ast$ {\bf inode\_\-block}}\label{mime_8c_23099db625eb95fb3573d2fa38768892}


Block device file \index{mime.c@{mime.c}!inode_char@{inode\_\-char}}
\index{inode_char@{inode\_\-char}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}MIMEType\_\-export {\bf ROXMIMEType}$\ast$ {\bf inode\_\-char}}\label{mime_8c_1e8445eea55896acba42b9cfe27ff3ed}


Character device file \index{mime.c@{mime.c}!inode_directory@{inode\_\-directory}}
\index{inode_directory@{inode\_\-directory}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}MIMEType\_\-export {\bf ROXMIMEType}$\ast$ {\bf inode\_\-directory}}\label{mime_8c_ed246c18731eda3748ff6fb7da5c28a8}


A directory \index{mime.c@{mime.c}!inode_door@{inode\_\-door}}
\index{inode_door@{inode\_\-door}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}MIMEType\_\-export {\bf ROXMIMEType}$\ast$ {\bf inode\_\-door}}\label{mime_8c_ab1551f115c2a066976d6deea8cc68fc}


Door file, similar to sockets, not available on all operating systems \index{mime.c@{mime.c}!inode_mountpoint@{inode\_\-mountpoint}}
\index{inode_mountpoint@{inode\_\-mountpoint}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}MIMEType\_\-export {\bf ROXMIMEType}$\ast$ {\bf inode\_\-mountpoint}}\label{mime_8c_322940c406e32a18843f3de50acf1f1b}


A directory used as a mount point \index{mime.c@{mime.c}!inode_pipe@{inode\_\-pipe}}
\index{inode_pipe@{inode\_\-pipe}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}MIMEType\_\-export {\bf ROXMIMEType}$\ast$ {\bf inode\_\-pipe}}\label{mime_8c_7a5ffbc20333c05177428e317a7936bb}


A named pipe \index{mime.c@{mime.c}!inode_socket@{inode\_\-socket}}
\index{inode_socket@{inode\_\-socket}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}MIMEType\_\-export {\bf ROXMIMEType}$\ast$ {\bf inode\_\-socket}}\label{mime_8c_f17571096d9488de4ea9fd3090db4be8}


UNIX domain socket \index{mime.c@{mime.c}!inode_unknown@{inode\_\-unknown}}
\index{inode_unknown@{inode\_\-unknown}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}MIMEType\_\-export {\bf ROXMIMEType}$\ast$ {\bf inode\_\-unknown}}\label{mime_8c_92efda800717c1c8ec46bf00f76e19d4}


Unknown type, probably broken symbolic link \index{mime.c@{mime.c}!text_plain@{text\_\-plain}}
\index{text_plain@{text\_\-plain}!mime.c@{mime.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}MIMEType\_\-export {\bf ROXMIMEType}$\ast$ {\bf text\_\-plain}}\label{mime_8c_1cdadb922e347fb4bfd53bb42795ecd5}


Default for plain file 