]> git.wh0rd.org - fontconfig.git/blame - doc/fcatomic.fncs
Documentation fixes
[fontconfig.git] / doc / fcatomic.fncs
CommitLineData
39381776 1/*
e690fbb2 2 * fontconfig/doc/fcatomic.fncs
39381776 3 *
46b51147 4 * Copyright © 2003 Keith Packard
39381776
KP
5 *
6 * Permission to use, copy, modify, distribute, and sell this software and its
7 * documentation for any purpose is hereby granted without fee, provided that
8 * the above copyright notice appear in all copies and that both that
9 * copyright notice and this permission notice appear in supporting
5aaf466d 10 * documentation, and that the name of the author(s) not be used in
39381776 11 * advertising or publicity pertaining to distribution of the software without
5aaf466d 12 * specific, written prior permission. The authors make no
39381776
KP
13 * representations about the suitability of this software for any purpose. It
14 * is provided "as is" without express or implied warranty.
15 *
3074a73b 16 * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
39381776 17 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
3074a73b 18 * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
39381776
KP
19 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22 * PERFORMANCE OF THIS SOFTWARE.
23 */
24
25@RET@ FcAtomic *
26@FUNC@ FcAtomicCreate
27@TYPE1@ const FcChar8 * @ARG1@ file
28@PURPOSE@ create an FcAtomic object
29@DESC@
30Creates a data structure containing data needed to control access to <parameter>file</parameter>.
31Writing is done to a separate file. Once that file is complete, the original
32configuration file is atomically replaced so that reading process always see
33a consistent and complete file without the need to lock for reading.
34@@
35
36@RET@ FcBool
37@FUNC@ FcAtomicLock
38@TYPE1@ FcAtomic * @ARG1@ atomic
39@PURPOSE@ lock a file
40@DESC@
910db318
KP
41Attempts to lock the file referenced by <parameter>atomic</parameter>.
42Returns FcFalse if the file is already locked, else returns FcTrue and
43leaves the file locked.
39381776
KP
44@@
45
46@RET@ FcChar8 *
47@FUNC@ FcAtomicNewFile
48@TYPE1@ FcAtomic * @ARG1@ atomic
49@PURPOSE@ return new temporary file name
50@DESC@
51Returns the filename for writing a new version of the file referenced
52by <parameter>atomic</parameter>.
53@@
54
55@RET@ FcChar8 *
56@FUNC@ FcAtomicOrigFile
57@TYPE1@ FcAtomic * @ARG1@ atomic
58@PURPOSE@ return original file name
59@DESC@
7baa20c7 60Returns the file referenced by <parameter>atomic</parameter>.
39381776
KP
61@@
62
63@RET@ FcBool
64@FUNC@ FcAtomicReplaceOrig
65@TYPE1@ FcAtomic * @ARG1@ atomic
66@PURPOSE@ replace original with new
67@DESC@
fab44f3c
KP
68Replaces the original file referenced by <parameter>atomic</parameter> with
69the new file. Returns FcFalse if the file cannot be replaced due to
70permission issues in the filesystem. Otherwise returns FcTrue.
39381776
KP
71@@
72
73@RET@ void
74@FUNC@ FcAtomicDeleteNew
75@TYPE1@ FcAtomic * @ARG1@ atomic
76@PURPOSE@ delete new file
77@DESC@
78Deletes the new file. Used in error recovery to back out changes.
79@@
80
81@RET@ void
82@FUNC@ FcAtomicUnlock
83@TYPE1@ FcAtomic * @ARG1@ atomic
84@PURPOSE@ unlock a file
85@DESC@
86Unlocks the file.
87@@
88
89@RET@ void
90@FUNC@ FcAtomicDestroy
91@TYPE1@ FcAtomic * @ARG1@ atomic
92@PURPOSE@ destroy an FcAtomic object
93@DESC@
94Destroys <parameter>atomic</parameter>.
95@@