2010-08-18 18:41:22 +04:00
<refentry id= "media-func-open" >
<refmeta >
<refentrytitle > media open()</refentrytitle>
&manvol;
</refmeta>
<refnamediv >
<refname > media-open</refname>
<refpurpose > Open a media device</refpurpose>
</refnamediv>
<refsynopsisdiv >
<funcsynopsis >
<funcsynopsisinfo > #include < fcntl.h> </funcsynopsisinfo>
<funcprototype >
<funcdef > int <function > open</function> </funcdef>
<paramdef > const char *<parameter > device_name</parameter> </paramdef>
<paramdef > int <parameter > flags</parameter> </paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 >
<title > Arguments</title>
<variablelist >
<varlistentry >
<term > <parameter > device_name</parameter> </term>
<listitem >
<para > Device to be opened.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <parameter > flags</parameter> </term>
<listitem >
<para > Open flags. Access mode must be either <constant > O_RDONLY</constant>
or <constant > O_RDWR</constant> . Other flags have no effect.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 >
<title > Description</title>
<para > To open a media device applications call <function > open()</function>
with the desired device name. The function has no side effects; the device
configuration remain unchanged.</para>
2015-04-25 11:15:24 +03:00
<para > When the device is opened in read-only mode, attempts to modify its
2010-08-18 18:41:22 +04:00
configuration will result in an error, and <varname > errno</varname> will be
set to <errorcode > EBADF</errorcode> .</para>
</refsect1>
<refsect1 >
<title > Return Value</title>
<para > <function > open</function> returns the new file descriptor on success.
On error, -1 is returned, and <varname > errno</varname> is set appropriately.
Possible error codes are:</para>
<variablelist >
<varlistentry >
<term > <errorcode > EACCES</errorcode> </term>
<listitem >
<para > The requested access to the file is not allowed.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <errorcode > EMFILE</errorcode> </term>
<listitem >
<para > The process already has the maximum number of files open.
</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <errorcode > ENFILE</errorcode> </term>
<listitem >
<para > The system limit on the total number of open files has been
reached.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <errorcode > ENOMEM</errorcode> </term>
<listitem >
<para > Insufficient kernel memory was available.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <errorcode > ENXIO</errorcode> </term>
<listitem >
<para > No device corresponding to this device special file exists.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
</refentry>