fcdircache.fncs revision 1cc69409
1/*
2 * Copyright © 2007 Keith Packard
3 *
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that copyright
7 * notice and this permission notice appear in supporting documentation, and
8 * that the name of the copyright holders not be used in advertising or
9 * publicity pertaining to distribution of the software without specific,
10 * written prior permission.  The copyright holders make no representations
11 * about the suitability of this software for any purpose.  It is provided "as
12 * is" without express or implied warranty.
13 *
14 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
20 * OF THIS SOFTWARE.
21 */
22
23@RET@           FcBool
24@FUNC@          FcDirCacheUnlink
25@TYPE1@         const FcChar8 *                 @ARG1@          dir
26@TYPE2@         FcConfig *                      @ARG2@          config
27@PURPOSE@       Remove all caches related to <parameter>dir</parameter>
28@DESC@
29Scans the cache directories in <parameter>config</parameter>, removing any
30instances of the cache file for <parameter>dir</parameter>. Returns FcFalse
31when some internal error occurs (out of memory, etc). Errors actually
32unlinking any files are ignored.
33@@
34
35@RET@           FcBool
36@FUNC@          FcDirCacheValid
37@TYPE1@         const FcChar8 *                 @ARG1@          dir
38@PURPOSE@       check directory cache
39@DESC@
40Returns FcTrue if <parameter>dir</parameter> has an associated valid cache
41file, else returns FcFalse
42@@
43
44@RET@           FcCache *
45@FUNC@          FcDirCacheLoad
46@TYPE1@         const FcChar8 *                 @ARG1@          dir
47@TYPE2@         FcConfig *                      @ARG2@          config
48@TYPE3@         FcChar8 **                      @ARG3@          cache_file
49@PURPOSE@       load a directory cache
50@DESC@
51Loads the cache related to <parameter>dir</parameter>. If no cache file
52exists, returns NULL. The name of the cache file is returned in
53<parameter>cache_file</parameter>, unless that is NULL. See also
54FcDirCacheRead.
55@@
56
57@RET@           FcCache *
58@FUNC@          FcDirCacheRescan
59@TYPE1@         const FcChar8 *                 @ARG1@          dir
60@TYPE2@         FcConfig *                      @ARG2@          config
61@PURPOSE@       Re-scan a directory cache
62@DESC@
63Re-scan directories only at <parameter>dir</parameter> and update the cache.
64returns NULL if failed.
65@SINCE@         2.11.1
66@@
67
68@RET@           FcCache *
69@FUNC@          FcDirCacheRead
70@TYPE1@         const FcChar8 *                 @ARG1@          dir
71@TYPE2@         FcBool%                         @ARG2@          force
72@TYPE3@         FcConfig *                      @ARG3@          config
73@PURPOSE@       read or construct a directory cache
74@DESC@
75This returns a cache for <parameter>dir</parameter>. If
76<parameter>force</parameter> is FcFalse, then an existing, valid cache file
77will be used. Otherwise, a new cache will be created by scanning the
78directory and that returned.
79@@
80
81@RET@           FcCache *
82@FUNC@          FcDirCacheLoadFile
83@TYPE1@         const FcChar8 *                 @ARG1@          cache_file
84@TYPE2@         struct stat *                   @ARG2@          file_stat
85@PURPOSE@       load a cache file
86@DESC@
87This function loads a directory cache from
88<parameter>cache_file</parameter>. If <parameter>file_stat</parameter> is
89non-NULL, it will be filled with the results of stat(2) on the cache file.
90@@
91
92@RET@           void
93@FUNC@          FcDirCacheUnload
94@TYPE1@         FcCache *                       @ARG1@          cache
95@PURPOSE@       unload a cache file
96@DESC@
97This function dereferences <parameter>cache</parameter>. When no other
98references to it remain, all memory associated with the cache will be freed.
99@@
100