xenocara/dist/fontconfig/doc/fcatomic.sgml

409 lines
16 KiB
Plaintext
Raw Normal View History

<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcAtomicCreate">
<refmeta>
<refentrytitle>FcAtomicCreate</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcAtomicCreate</refname>
<refpurpose>create an FcAtomic object</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>FcAtomic * <function>FcAtomicCreate</function></funcdef>
<paramdef>const FcChar8 *<parameter>file</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
Creates a data structure containing data needed to control access to <parameter>file</parameter>.
Writing is done to a separate file. Once that file is complete, the original
configuration file is atomically replaced so that reading process always see
a consistent and complete file without the need to lock for reading.
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcAtomicLock">
<refmeta>
<refentrytitle>FcAtomicLock</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcAtomicLock</refname>
<refpurpose>lock a file</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>FcBool <function>FcAtomicLock</function></funcdef>
<paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
Attempts to lock the file referenced by <parameter>atomic</parameter>.
Returns FcFalse if the file is already locked, else returns FcTrue and
leaves the file locked.
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcAtomicNewFile">
<refmeta>
<refentrytitle>FcAtomicNewFile</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcAtomicNewFile</refname>
<refpurpose>return new temporary file name</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>FcChar8 * <function>FcAtomicNewFile</function></funcdef>
<paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
Returns the filename for writing a new version of the file referenced
by <parameter>atomic</parameter>.
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcAtomicOrigFile">
<refmeta>
<refentrytitle>FcAtomicOrigFile</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcAtomicOrigFile</refname>
<refpurpose>return original file name</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>FcChar8 * <function>FcAtomicOrigFile</function></funcdef>
<paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
Returns the file referenced by <parameter>atomic</parameter>.
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcAtomicReplaceOrig">
<refmeta>
<refentrytitle>FcAtomicReplaceOrig</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcAtomicReplaceOrig</refname>
<refpurpose>replace original with new</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>FcBool <function>FcAtomicReplaceOrig</function></funcdef>
<paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
Replaces the original file referenced by <parameter>atomic</parameter> with
the new file. Returns FcFalse if the file cannot be replaced due to
permission issues in the filesystem. Otherwise returns FcTrue.
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcAtomicDeleteNew">
<refmeta>
<refentrytitle>FcAtomicDeleteNew</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcAtomicDeleteNew</refname>
<refpurpose>delete new file</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>FcAtomicDeleteNew</function></funcdef>
<paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
Deletes the new file. Used in error recovery to back out changes.
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcAtomicUnlock">
<refmeta>
<refentrytitle>FcAtomicUnlock</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcAtomicUnlock</refname>
<refpurpose>unlock a file</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>FcAtomicUnlock</function></funcdef>
<paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
Unlocks the file.
</para>
</refsect1>
</refentry>
<!--
fontconfig/doc/func.sgml
Copyright © 2003 Keith Packard
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation, and that the name of the author(s) not be used in
advertising or publicity pertaining to distribution of the software without
specific, written prior permission. The authors make no
representations about the suitability of this software for any purpose. It
is provided "as is" without express or implied warranty.
THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
-->
<refentry id="FcAtomicDestroy">
<refmeta>
<refentrytitle>FcAtomicDestroy</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="software">Fontconfig &version;</refmiscinfo>
</refmeta>
<refnamediv>
<refname>FcAtomicDestroy</refname>
<refpurpose>destroy an FcAtomic object</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;fontconfig/fontconfig.h&gt;
</funcsynopsisinfo>
<funcprototype>
<funcdef>void <function>FcAtomicDestroy</function></funcdef>
<paramdef>FcAtomic *<parameter>atomic</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1><title>Description</title>
<para>
Destroys <parameter>atomic</parameter>.
</para>
</refsect1>
</refentry>