1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>rpm: rpmfc.h Source File</title>
4
<link href="tabs.css" rel="stylesheet" type="text/css">
5
<link href="doxygen.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.5.8 -->
8
<div class="navigation" id="top">
11
<li><a href="index.html"><span>Main Page</span></a></li>
12
<li><a href="pages.html"><span>Related Pages</span></a></li>
13
<li><a href="modules.html"><span>Modules</span></a></li>
14
<li><a href="annotated.html"><span>Data Structures</span></a></li>
15
<li class="current"><a href="files.html"><span>Files</span></a></li>
20
<li><a href="files.html"><span>File List</span></a></li>
21
<li><a href="globals.html"><span>Globals</span></a></li>
24
<h1>rpmfc.h</h1><a href="rpmfc_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef _H_RPMFC_</span>
25
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define _H_RPMFC_</span>
26
<a name="l00003"></a>00003 <span class="preprocessor"></span>
27
<a name="l00009"></a>00009 <span class="preprocessor">#include <magic.h></span>
28
<a name="l00010"></a>00010
29
<a name="l00011"></a>00011 <span class="preprocessor">#include <rpm/rpmtypes.h></span>
30
<a name="l00012"></a>00012 <span class="preprocessor">#include <rpm/argv.h></span> <span class="comment">/* for ARGV_t */</span>
31
<a name="l00013"></a>00013 <span class="preprocessor">#include <rpm/rpmstring.h></span> <span class="comment">/* for StringBuf */</span>
32
<a name="l00014"></a>00014 <span class="preprocessor">#include <rpm/rpmspec.h></span> <span class="comment">/* for Package */</span>
33
<a name="l00015"></a>00015
34
<a name="l00016"></a>00016 <span class="preprocessor">#ifdef __cplusplus</span>
35
<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
36
<a name="l00018"></a>00018 <span class="preprocessor">#endif</span>
37
<a name="l00019"></a>00019 <span class="preprocessor"></span>
38
<a name="l00020"></a>00020 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="rpmfc_8h.html#52886d44344391a5043c38ff37d9925d">_rpmfc_debug</a>;
39
<a name="l00021"></a>00021
40
<a name="l00024"></a><a class="code" href="group__rpmfc.html#geb9fe9bd3685be81a6b3532aa73808ab">00024</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>rpmfc_s * <a class="code" href="group__rpmfc.html#geb9fe9bd3685be81a6b3532aa73808ab">rpmfc</a>;
41
<a name="l00025"></a>00025
42
<a name="l00028"></a><a class="code" href="group__rpmfc.html#ga23b13b6981bcb4ab0b86235e23cd1c4">00028</a> <span class="keyword">enum</span> <a class="code" href="group__rpmfc.html#ga23b13b6981bcb4ab0b86235e23cd1c4">FCOLOR_e</a> {
43
<a name="l00029"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4e09239644841da5d446f63796c0498a0">00029</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4e09239644841da5d446f63796c0498a0">RPMFC_BLACK</a> = 0,
44
<a name="l00030"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c47d3202ffe82ac14de234f0a48a62bbe3">00030</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c47d3202ffe82ac14de234f0a48a62bbe3">RPMFC_ELF32</a> = (1 << 0),
45
<a name="l00031"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4c76af088480b8754e88c9a47998bae23">00031</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4c76af088480b8754e88c9a47998bae23">RPMFC_ELF64</a> = (1 << 1),
46
<a name="l00032"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c409a25ef9ccb96c8c81fb696c5c8f5090">00032</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c409a25ef9ccb96c8c81fb696c5c8f5090">RPMFC_ELFMIPSN32</a> = (1 << 2),
47
<a name="l00033"></a>00033 #define RPMFC_ELF (<a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c47d3202ffe82ac14de234f0a48a62bbe3">RPMFC_ELF32</a>|<a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4c76af088480b8754e88c9a47998bae23">RPMFC_ELF64</a>|<a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c409a25ef9ccb96c8c81fb696c5c8f5090">RPMFC_ELFMIPSN32</a>)
48
<a name="l00034"></a>00034 <span class="comment">/* (1 << 3) leaks into package headers, reserved */</span>
49
<a name="l00035"></a>00035
50
<a name="l00036"></a>00036 <span class="comment">/* bits 4-7 unused */</span>
51
<a name="l00037"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c42c65a9325dc77d6b82fcd181fc855cc4">00037</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c42c65a9325dc77d6b82fcd181fc855cc4">RPMFC_PKGCONFIG</a> = (1 << 8),
52
<a name="l00038"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c445f69a6420034202ae30d8765a4f1ae8">00038</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c445f69a6420034202ae30d8765a4f1ae8">RPMFC_LIBTOOL</a> = (1 << 9),
53
<a name="l00039"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4712907beb2f86681552a28db3a9031a8">00039</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4712907beb2f86681552a28db3a9031a8">RPMFC_BOURNE</a> = (1 << 10),
54
<a name="l00040"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4bc5eeb6b37639a0967050a4897452173">00040</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4bc5eeb6b37639a0967050a4897452173">RPMFC_MONO</a> = (1 << 11),
55
<a name="l00041"></a>00041
56
<a name="l00042"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4fd629be534dd7594cdbb6696e0ea2acb">00042</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4fd629be534dd7594cdbb6696e0ea2acb">RPMFC_SCRIPT</a> = (1 << 12),
57
<a name="l00043"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c47d81e6d7453d6d3ef7f54ce2f4e0c7ce">00043</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c47d81e6d7453d6d3ef7f54ce2f4e0c7ce">RPMFC_STATIC</a> = (1 << 13),
58
<a name="l00044"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c40a9c211f498145fdb37432a4005252f5">00044</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c40a9c211f498145fdb37432a4005252f5">RPMFC_NOTSTRIPPED</a> = (1 << 14),
59
<a name="l00045"></a>00045 <span class="comment">/* bit 15 unused */</span>
60
<a name="l00046"></a>00046
61
<a name="l00047"></a>00047 <span class="comment">/* bits 16-19 are enumerated, not bits */</span>
62
<a name="l00048"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4cc0076161cee77cdb4f057ff51679118">00048</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4cc0076161cee77cdb4f057ff51679118">RPMFC_DIRECTORY</a> = (1 << 16),
63
<a name="l00049"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4c4f8ab25d2a88ba66777cc6015eee897">00049</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4c4f8ab25d2a88ba66777cc6015eee897">RPMFC_SYMLINK</a> = (2 << 16),
64
<a name="l00050"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c45641ea99b65c686a8114cfa9a21d07bf">00050</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c45641ea99b65c686a8114cfa9a21d07bf">RPMFC_DEVICE</a> = (3 << 16),
65
<a name="l00051"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c48a0c1b221f541944398dac9ad0fd7aa9">00051</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c48a0c1b221f541944398dac9ad0fd7aa9">RPMFC_LIBRARY</a> = (4 << 16),
66
<a name="l00052"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c41a8f782ef083631e4ea88aee0ada0fd7">00052</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c41a8f782ef083631e4ea88aee0ada0fd7">RPMFC_FONT</a> = (5 << 16),
67
<a name="l00053"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4e5e5156970a1f6727750fbb18f08a5a9">00053</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4e5e5156970a1f6727750fbb18f08a5a9">RPMFC_IMAGE</a> = (6 << 16),
68
<a name="l00054"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c40ce5c0e9cc81db05062915eb2e20d170">00054</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c40ce5c0e9cc81db05062915eb2e20d170">RPMFC_MANPAGE</a> = (7 << 16),
69
<a name="l00055"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4811c2ec0012e9cb57a07a6146e008d4f">00055</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4811c2ec0012e9cb57a07a6146e008d4f">RPMFC_TEXT</a> = (8 << 16),
70
<a name="l00056"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c423c9ea79002deac6e047f895224de7ac">00056</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c423c9ea79002deac6e047f895224de7ac">RPMFC_DOCUMENT</a> = (9 << 16),
71
<a name="l00057"></a>00057
72
<a name="l00058"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c44fd330ed56836d6faff0c36dfb28fa29">00058</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c44fd330ed56836d6faff0c36dfb28fa29">RPMFC_ARCHIVE</a> = (1 << 20),
73
<a name="l00059"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c43169c8879b103d551952b802bf9e78b8">00059</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c43169c8879b103d551952b802bf9e78b8">RPMFC_COMPRESSED</a> = (1 << 21),
74
<a name="l00060"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4d2d170b6fef4ce922a37afa07c9c882c">00060</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4d2d170b6fef4ce922a37afa07c9c882c">RPMFC_MODULE</a> = (1 << 22),
75
<a name="l00061"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4390921e47e5a68c31fb243169a38faac">00061</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4390921e47e5a68c31fb243169a38faac">RPMFC_EXECUTABLE</a> = (1 << 23),
76
<a name="l00062"></a>00062
77
<a name="l00063"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c48b8275538c49c22fa5acd3ebcc74b10a">00063</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c48b8275538c49c22fa5acd3ebcc74b10a">RPMFC_PERL</a> = (1 << 24),
78
<a name="l00064"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4c8051ff64880b2716aea378d4a05924e">00064</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4c8051ff64880b2716aea378d4a05924e">RPMFC_JAVA</a> = (1 << 25),
79
<a name="l00065"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4915ce34978194f1540656149c999a0cb">00065</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4915ce34978194f1540656149c999a0cb">RPMFC_PYTHON</a> = (1 << 26),
80
<a name="l00066"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c47b41ef9143a77ec19d49a77c8659daae">00066</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c47b41ef9143a77ec19d49a77c8659daae">RPMFC_PHP</a> = (1 << 27),
81
<a name="l00067"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4d72a6ede7d8aa655d765f7092df7ad39">00067</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4d72a6ede7d8aa655d765f7092df7ad39">RPMFC_TCL</a> = (1 << 28),
82
<a name="l00068"></a>00068
83
<a name="l00069"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c44a3710482dcc2eb46131852fadcf5334">00069</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c44a3710482dcc2eb46131852fadcf5334">RPMFC_WHITE</a> = (1 << 29),
84
<a name="l00070"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4f60c2594cee80f15fc792f5248ec0e29">00070</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4f60c2594cee80f15fc792f5248ec0e29">RPMFC_INCLUDE</a> = (1 << 30),
85
<a name="l00071"></a><a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4e801ba504ecab006564279c10462b06a">00071</a> <a class="code" href="group__rpmfc.html#gga23b13b6981bcb4ab0b86235e23cd1c4e801ba504ecab006564279c10462b06a">RPMFC_ERROR</a> = (1 << 31)
86
<a name="l00072"></a>00072 };
87
<a name="l00073"></a>00073
88
<a name="l00076"></a><a class="code" href="group__rpmfc.html#gb645ffdb8250968a8aad97b13616c71c">00076</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="group__rpmfc.html#ga23b13b6981bcb4ab0b86235e23cd1c4">FCOLOR_e</a> <a class="code" href="group__rpmfc.html#gb645ffdb8250968a8aad97b13616c71c">FCOLOR_t</a>;
89
<a name="l00077"></a>00077
90
<a name="l00080"></a><a class="code" href="group__rpmfc.html#g60b99503642c7a9be33c9d7d09400d8b">00080</a> <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="keyword">struct </span>rpmfcTokens_s * <a class="code" href="group__rpmfc.html#g60b99503642c7a9be33c9d7d09400d8b">rpmfcToken</a>;
91
<a name="l00081"></a>00081
92
<a name="l00089"></a>00089 <span class="keywordtype">int</span> <a class="code" href="group__rpmfc.html#g5e8173a4fb545c1a64f01fdbf43d0157" title="Return helper output.">rpmfcExec</a>(<a class="code" href="argv_8h.html#8fb4667ccebe229131eae0c3655fd79d">ARGV_const_t</a> av, <a class="code" href="group__rpmstring.html#g789b0d7def82dc3acb32484b66e181fd">StringBuf</a> sb_stdin, <a class="code" href="group__rpmstring.html#g789b0d7def82dc3acb32484b66e181fd">StringBuf</a> * sb_stdoutp,
93
<a name="l00090"></a>00090 <span class="keywordtype">int</span> failnonzero);
94
<a name="l00091"></a>00091
95
<a name="l00097"></a>00097 <span class="keywordtype">int</span> <a class="code" href="group__rpmfc.html#gbfb75e0fc7b8fb17a5d1975164de0608" title="Return file color given file(1) string.">rpmfcColoring</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * fmstr);
96
<a name="l00098"></a>00098
97
<a name="l00106"></a>00106 <span class="keywordtype">void</span> <a class="code" href="group__rpmfc.html#ga20211fd4bfdd58fd7ed696b91f79d93" title="Print results of file classification.">rpmfcPrint</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * msg, rpmfc fc, FILE * fp);
98
<a name="l00107"></a>00107
99
<a name="l00113"></a>00113 rpmfc <a class="code" href="group__rpmfc.html#g98d90c420afd4b19322db8b5819a1444" title="Destroy a file classifier.">rpmfcFree</a>(rpmfc fc);
100
<a name="l00114"></a>00114
101
<a name="l00119"></a>00119 rpmfc <a class="code" href="group__rpmfc.html#g7dddb1318861990a6a6fdf3b0be0156f" title="Create a file classifier.">rpmfcNew</a>(<span class="keywordtype">void</span>);
102
<a name="l00120"></a>00120
103
<a name="l00128"></a>00128 <a class="code" href="group__rpmtypes.html#g06da857c39457bfb6ea9049643fdb706" title="Package read return codes.">rpmRC</a> <a class="code" href="group__rpmfc.html#g30c4508077dcb07581aaf1bb58003bf5" title="Build file class dictionary and mappings.">rpmfcClassify</a>(rpmfc fc, <a class="code" href="argv_8h.html#4628d0ccf538438d6ef2795aeebd7e31">ARGV_t</a> argv, <a class="code" href="group__rpmtypes.html#ga2b12130c51ee1e22f43b1a9547e2352">rpm_mode_t</a> * fmode);
104
<a name="l00129"></a>00129
105
<a name="l00135"></a>00135 <a class="code" href="group__rpmtypes.html#g06da857c39457bfb6ea9049643fdb706" title="Package read return codes.">rpmRC</a> <a class="code" href="group__rpmfc.html#g7488115bb89ee5a5144e59797d0d86fe" title="Build file/package dependency dictionary and mappings.">rpmfcApply</a>(rpmfc fc);
106
<a name="l00136"></a>00136
107
<a name="l00143"></a>00143 <a class="code" href="group__rpmtypes.html#g06da857c39457bfb6ea9049643fdb706" title="Package read return codes.">rpmRC</a> <a class="code" href="group__rpmfc.html#g34b077645f837c5bdab46a2d5dd584e6" title="Generate package dependencies.">rpmfcGenerateDepends</a>(<span class="keyword">const</span> <a class="code" href="structrpmSpec__s.html" title="The structure used to store values parsed from a spec file.">rpmSpec</a> spec, <a class="code" href="structPackage__s.html" title="The structure used to store values for a package.">Package</a> pkg);
108
<a name="l00144"></a>00144
109
<a name="l00150"></a>00150 <a class="code" href="group__rpmtypes.html#g8ee68aea070136e6b8c844995ff0c5a8">rpmds</a> <a class="code" href="group__rpmfc.html#gb4d8f29a0a78d99199609c68c30447fa" title="Retrieve file classification provides.">rpmfcProvides</a>(rpmfc fc);
110
<a name="l00151"></a>00151
111
<a name="l00157"></a>00157 <a class="code" href="group__rpmtypes.html#g8ee68aea070136e6b8c844995ff0c5a8">rpmds</a> <a class="code" href="group__rpmfc.html#g0bf8cfa38debeeef2809e02624ffbf02" title="Retrieve file classification requires.">rpmfcRequires</a>(rpmfc fc);
112
<a name="l00158"></a>00158
113
<a name="l00159"></a>00159 <span class="preprocessor">#ifdef __cplusplus</span>
114
<a name="l00160"></a>00160 <span class="preprocessor"></span>}
115
<a name="l00161"></a>00161 <span class="preprocessor">#endif</span>
116
<a name="l00162"></a>00162 <span class="preprocessor"></span>
117
<a name="l00163"></a>00163 <span class="preprocessor">#endif </span><span class="comment">/* _H_RPMFC_ */</span>
119
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jul 14 15:02:08 2009 for rpm by
120
<a href="http://www.doxygen.org/index.html">
121
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>