fcdircache.fncs revision b09479dc
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