<!--
   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>
