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: rpmdb.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>rpmdb.h</h1><a href="rpmdb_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_RPMDB</span>
25
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define H_RPMDB</span>
26
<a name="l00003"></a>00003 <span class="preprocessor"></span>
27
<a name="l00009"></a>00009 <span class="preprocessor">#include <rpm/rpmtypes.h></span>
28
<a name="l00010"></a>00010 <span class="preprocessor">#include <rpm/rpmsw.h></span>
29
<a name="l00011"></a>00011
30
<a name="l00012"></a>00012 <span class="preprocessor">#ifdef __cplusplus</span>
31
<a name="l00013"></a>00013 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
32
<a name="l00014"></a>00014 <span class="preprocessor">#endif</span>
33
<a name="l00015"></a>00015 <span class="preprocessor"></span>
34
<a name="l00016"></a>00016 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="rpmdb_8h.html#2af73bfa54f40c03158ae5cb6ac09216">_rpmdb_debug</a>;
35
<a name="l00017"></a>00017
36
<a name="l00021"></a><a class="code" href="rpmdb_8h.html#3590a1de30d95ec5698863667d77d92e">00021</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="rpmdb_8h.html#3590a1de30d95ec5698863667d77d92e" title="Tag value pattern match mode.">rpmMireMode_e</a> {
37
<a name="l00022"></a><a class="code" href="rpmdb_8h.html#3590a1de30d95ec5698863667d77d92eef121497d11f9c3622516f18f2f30eb9">00022</a> <a class="code" href="rpmdb_8h.html#3590a1de30d95ec5698863667d77d92eef121497d11f9c3622516f18f2f30eb9">RPMMIRE_DEFAULT</a> = 0,
38
<a name="l00023"></a><a class="code" href="rpmdb_8h.html#3590a1de30d95ec5698863667d77d92e10f053aa0bcdf57007682c0e5a34f3c6">00023</a> <a class="code" href="rpmdb_8h.html#3590a1de30d95ec5698863667d77d92e10f053aa0bcdf57007682c0e5a34f3c6">RPMMIRE_STRCMP</a> = 1,
39
<a name="l00024"></a><a class="code" href="rpmdb_8h.html#3590a1de30d95ec5698863667d77d92e242ad3c89666107d755f82b854f5350c">00024</a> <a class="code" href="rpmdb_8h.html#3590a1de30d95ec5698863667d77d92e242ad3c89666107d755f82b854f5350c">RPMMIRE_REGEX</a> = 2,
40
<a name="l00025"></a><a class="code" href="rpmdb_8h.html#3590a1de30d95ec5698863667d77d92ec157db23fef936f4c34ab326b25f1e16">00025</a> <a class="code" href="rpmdb_8h.html#3590a1de30d95ec5698863667d77d92ec157db23fef936f4c34ab326b25f1e16">RPMMIRE_GLOB</a> = 3
41
<a name="l00026"></a>00026 } <a class="code" href="rpmdb_8h.html#5d484afc8c793389ed9ce400cdf7551f" title="Tag value pattern match mode.">rpmMireMode</a>;
42
<a name="l00027"></a>00027
43
<a name="l00028"></a><a class="code" href="rpmdb_8h.html#6b58838022ef324131bee3e5aa05bf37">00028</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="rpmdb_8h.html#6b58838022ef324131bee3e5aa05bf37">rpmdbOpX_e</a> {
44
<a name="l00029"></a><a class="code" href="rpmdb_8h.html#6b58838022ef324131bee3e5aa05bf3733a5df4a38850669fd7b074c56312302">00029</a> <a class="code" href="rpmdb_8h.html#6b58838022ef324131bee3e5aa05bf3733a5df4a38850669fd7b074c56312302">RPMDB_OP_DBGET</a> = 1,
45
<a name="l00030"></a><a class="code" href="rpmdb_8h.html#6b58838022ef324131bee3e5aa05bf3785492d8fb01358c787876b2f2f9fba6c">00030</a> <a class="code" href="rpmdb_8h.html#6b58838022ef324131bee3e5aa05bf3785492d8fb01358c787876b2f2f9fba6c">RPMDB_OP_DBPUT</a> = 2,
46
<a name="l00031"></a><a class="code" href="rpmdb_8h.html#6b58838022ef324131bee3e5aa05bf37cff4af904eac7bc9f47c5af5262f76b5">00031</a> <a class="code" href="rpmdb_8h.html#6b58838022ef324131bee3e5aa05bf37cff4af904eac7bc9f47c5af5262f76b5">RPMDB_OP_DBDEL</a> = 3,
47
<a name="l00032"></a><a class="code" href="rpmdb_8h.html#6b58838022ef324131bee3e5aa05bf37647c6b75604542666e2aad3b4e4575e5">00032</a> <a class="code" href="rpmdb_8h.html#6b58838022ef324131bee3e5aa05bf37647c6b75604542666e2aad3b4e4575e5">RPMDB_OP_MAX</a> = 4
48
<a name="l00033"></a>00033 } <a class="code" href="rpmdb_8h.html#0eb431e400ff038d2f9827f3694a110c">rpmdbOpX</a>;
49
<a name="l00034"></a>00034
50
<a name="l00041"></a>00041 <a class="code" href="structrpmop__s.html" title="Cumulative statistics for an operation.">rpmop</a> <a class="code" href="group__rpmdb.html#gd2812f8713dad6352cad36277875c2c8" title="Retrieve operation timestamp from rpm database.">rpmdbOp</a>(<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <a class="code" href="rpmdb_8h.html#0eb431e400ff038d2f9827f3694a110c">rpmdbOpX</a> opx);
51
<a name="l00042"></a>00042
52
<a name="l00049"></a>00049 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#ge6d9fbdf8f6de87061d75f6a73b79fe8" title="Set chrootDone flag, i.e.">rpmdbSetChrootDone</a>(<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <span class="keywordtype">int</span> chrootDone);
53
<a name="l00050"></a>00050
54
<a name="l00057"></a>00057 <a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> <a class="code" href="group__rpmdb.html#gc1174363a619746de00eb9570c3e5ec1" title="Unreference a database instance.">rpmdbUnlink</a> (<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <span class="keyword">const</span> <span class="keywordtype">char</span> * msg);
55
<a name="l00058"></a>00058
56
<a name="l00065"></a>00065 <a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> <a class="code" href="group__rpmdb.html#g5315a60d3139731e0308ad30208ae839" title="Reference a database instance.">rpmdbLink</a> (<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <span class="keyword">const</span> <span class="keywordtype">char</span> * msg);
57
<a name="l00066"></a>00066
58
<a name="l00075"></a>00075 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g803b20c733ed24a4e2361b8ab557b436" title="Open rpm database.">rpmdbOpen</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * prefix, <a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> * dbp,
59
<a name="l00076"></a>00076 <span class="keywordtype">int</span> mode, <span class="keywordtype">int</span> perms);
60
<a name="l00077"></a>00077
61
<a name="l00084"></a>00084 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#gcf517c5c8cb7eb61e6332e4ddabc91c8" title="Initialize database.">rpmdbInit</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * prefix, <span class="keywordtype">int</span> perms);
62
<a name="l00085"></a>00085
63
<a name="l00091"></a>00091 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g239060fa5ee54a365933a7a433006b52" title="Verify database components.">rpmdbVerify</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * prefix);
64
<a name="l00092"></a>00092
65
<a name="l00099"></a>00099 <span class="keywordtype">int</span> <a class="code" href="rpmdb_8h.html#f6677c37068ab00d768d57d126e93598" title="Close a single database index.">rpmdbCloseDBI</a>(<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <a class="code" href="group__rpmtag.html#gd0da081a8aa5491edae4ad732d03c2f3" title="Tags identify data in package headers.">rpmTag</a> rpmtag);
66
<a name="l00100"></a>00100
67
<a name="l00106"></a>00106 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g6a784cca3ad8e152c47ce6e830673e8a" title="Close all database indices and free rpmdb.">rpmdbClose</a> (<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db);
68
<a name="l00107"></a>00107
69
<a name="l00113"></a>00113 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#ge03accdb0f64c9d77fa3ad16ac805304" title="Sync all database indices.">rpmdbSync</a> (<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db);
70
<a name="l00114"></a>00114
71
<a name="l00120"></a>00120 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#gc046aa1ef6c0d47b3857ff6afd6af3e6" title="Open all database indices.">rpmdbOpenAll</a> (<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db);
72
<a name="l00121"></a>00121
73
<a name="l00128"></a>00128 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g411b4d901d2f4953f9674c104973d4f8" title="Return number of instances of package in rpm database.">rpmdbCountPackages</a>(<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <span class="keyword">const</span> <span class="keywordtype">char</span> * name);
74
<a name="l00129"></a>00129
75
<a name="l00135"></a>00135 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g4fefb65ede996aa0edcc80286ca640d1" title="Return header join key for current position of rpm database iterator.">rpmdbGetIteratorOffset</a>(<a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi);
76
<a name="l00136"></a>00136
77
<a name="l00142"></a>00142 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g0b2fac12a598a46a3f0780fab05839a0" title="Return number of elements in rpm database iterator.">rpmdbGetIteratorCount</a>(<a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi);
78
<a name="l00143"></a>00143
79
<a name="l00146"></a>00146 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g29c0127269b1e724bab21c1242317122">rpmdbGetIteratorFileNum</a>(<a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi);
80
<a name="l00147"></a>00147
81
<a name="l00155"></a>00155 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g41cfde52641abf73ba0f8684fe287ff1" title="Append items to set of package instances to iterate.">rpmdbAppendIterator</a>(<a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi,
82
<a name="l00156"></a>00156 <span class="keyword">const</span> <span class="keywordtype">int</span> * hdrNums, <span class="keywordtype">int</span> nHdrNums);
83
<a name="l00157"></a>00157
84
<a name="l00167"></a>00167 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#gf3dbe5ef1b760500851695954956fdfe" title="Remove items from set of package instances to iterate.">rpmdbPruneIterator</a>(<a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi,
85
<a name="l00168"></a>00168 <span class="keywordtype">int</span> * hdrNums, <span class="keywordtype">int</span> nHdrNums, <span class="keywordtype">int</span> sorted);
86
<a name="l00169"></a>00169
87
<a name="l00178"></a>00178 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g8a31a5d7e8f728784d6cf52b620bf818" title="Add pattern to iterator selector.">rpmdbSetIteratorRE</a>(<a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi, <a class="code" href="group__rpmtag.html#gd0da081a8aa5491edae4ad732d03c2f3" title="Tags identify data in package headers.">rpmTag</a> tag,
88
<a name="l00179"></a>00179 <a class="code" href="rpmdb_8h.html#5d484afc8c793389ed9ce400cdf7551f" title="Tag value pattern match mode.">rpmMireMode</a> mode, <span class="keyword">const</span> <span class="keywordtype">char</span> * pattern);
89
<a name="l00180"></a>00180
90
<a name="l00188"></a>00188 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#gcb4ad7f6238ce9caaa37b7c7dc6cec69" title="Prepare iterator for lazy writes.">rpmdbSetIteratorRewrite</a>(<a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi, <span class="keywordtype">int</span> rewrite);
91
<a name="l00189"></a>00189
92
<a name="l00196"></a>00196 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#ga21b317118dfc602bbe4636222842e39" title="Modify iterator to mark header for lazy write on release.">rpmdbSetIteratorModified</a>(<a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi, <span class="keywordtype">int</span> modified);
93
<a name="l00197"></a>00197
94
<a name="l00205"></a>00205 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g8a7c949f2c9716f9d8029090ab67d227" title="Modify iterator to verify retrieved header blobs.">rpmdbSetHdrChk</a>(<a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi, <a class="code" href="group__rpmtypes.html#g1a512138316a227059ca128597dbd464" title="The main types involved in transaction manipulation.">rpmts</a> ts,
95
<a name="l00206"></a>00206 <a class="code" href="group__rpmtypes.html#g06da857c39457bfb6ea9049643fdb706" title="Package read return codes.">rpmRC</a> (*hdrchk) (<a class="code" href="group__rpmtypes.html#g1a512138316a227059ca128597dbd464" title="The main types involved in transaction manipulation.">rpmts</a> ts, <span class="keyword">const</span> <span class="keywordtype">void</span> * uh, <span class="keywordtype">size_t</span> uc, <span class="keywordtype">char</span> ** msg));
96
<a name="l00207"></a>00207
97
<a name="l00216"></a>00216 <a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> <a class="code" href="group__rpmdb.html#gaa190ebe0d275e0f46b6ed9561ed33e2" title="Return database iterator.">rpmdbInitIterator</a>(<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <a class="code" href="group__rpmtag.html#gd0da081a8aa5491edae4ad732d03c2f3" title="Tags identify data in package headers.">rpmTag</a> rpmtag,
98
<a name="l00217"></a>00217 <span class="keyword">const</span> <span class="keywordtype">void</span> * keyp, <span class="keywordtype">size_t</span> keylen);
99
<a name="l00218"></a>00218
100
<a name="l00224"></a>00224 <a class="code" href="group__rpmtypes.html#gcb1ffe4e2d96b8277f9f46ecc0c7b8a6" title="RPM header and data retrieval types.">Header</a> <a class="code" href="group__rpmdb.html#ga20413aa4018cf32e700decc7dba83f3" title="Return next package header from iteration.">rpmdbNextIterator</a>(<a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi);
101
<a name="l00225"></a>00225
102
<a name="l00229"></a>00229 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g31b6263b2a1b5a854a4183fbcf4a7581" title="Check for and exit on termination signals.">rpmdbCheckSignals</a>(<span class="keywordtype">void</span>);
103
<a name="l00230"></a>00230
104
<a name="l00239"></a>00239 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g4e3c2f83aa71faae4c511fcc4d215e4d" title="Check rpmdb signal handler for trapped signal and/or requested exit, clean up any...">rpmdbCheckTerminate</a>(<span class="keywordtype">int</span> terminate);
105
<a name="l00240"></a>00240
106
<a name="l00246"></a>00246 <a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> <a class="code" href="group__rpmdb.html#g7d328106a65ab43bbef20b9897e463a4" title="Destroy rpm database iterator.">rpmdbFreeIterator</a>(<a class="code" href="group__rpmtypes.html#g00973e985a7728a839ea9f7bb72c2b26">rpmdbMatchIterator</a> mi);
107
<a name="l00247"></a>00247
108
<a name="l00257"></a>00257 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g33994d20546262e61c984b19158e80e8" title="Add package header to rpm database and indices.">rpmdbAdd</a>(<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <span class="keywordtype">int</span> iid, <a class="code" href="group__rpmtypes.html#gcb1ffe4e2d96b8277f9f46ecc0c7b8a6" title="RPM header and data retrieval types.">Header</a> h, <a class="code" href="group__rpmtypes.html#g1a512138316a227059ca128597dbd464" title="The main types involved in transaction manipulation.">rpmts</a> ts,
109
<a name="l00258"></a>00258 <a class="code" href="group__rpmtypes.html#g06da857c39457bfb6ea9049643fdb706" title="Package read return codes.">rpmRC</a> (*hdrchk) (<a class="code" href="group__rpmtypes.html#g1a512138316a227059ca128597dbd464" title="The main types involved in transaction manipulation.">rpmts</a> ts, <span class="keyword">const</span> <span class="keywordtype">void</span> *uh, <span class="keywordtype">size_t</span> uc, <span class="keywordtype">char</span> ** msg));
110
<a name="l00259"></a>00259
111
<a name="l00269"></a>00269 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#gc9e24e96f86604d88c359d01cc49167b" title="Remove package header from rpm database and indices.">rpmdbRemove</a>(<a class="code" href="group__rpmtypes.html#gaceaa92ed469d7d71f988cffe51dabb9">rpmdb</a> db, <span class="keywordtype">int</span> rid, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> hdrNum,
112
<a name="l00270"></a>00270 <a class="code" href="group__rpmtypes.html#g1a512138316a227059ca128597dbd464" title="The main types involved in transaction manipulation.">rpmts</a> ts,
113
<a name="l00271"></a>00271 <a class="code" href="group__rpmtypes.html#g06da857c39457bfb6ea9049643fdb706" title="Package read return codes.">rpmRC</a> (*hdrchk) (<a class="code" href="group__rpmtypes.html#g1a512138316a227059ca128597dbd464" title="The main types involved in transaction manipulation.">rpmts</a> ts, <span class="keyword">const</span> <span class="keywordtype">void</span> *uh, <span class="keywordtype">size_t</span> uc, <span class="keywordtype">char</span> ** msg));
114
<a name="l00272"></a>00272
115
<a name="l00280"></a>00280 <span class="keywordtype">int</span> <a class="code" href="group__rpmdb.html#g1304747ea1e7be01f06f6c79a658794b" title="Rebuild database indices from package headers.">rpmdbRebuild</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * prefix, <a class="code" href="group__rpmtypes.html#g1a512138316a227059ca128597dbd464" title="The main types involved in transaction manipulation.">rpmts</a> ts,
116
<a name="l00281"></a>00281 <a class="code" href="group__rpmtypes.html#g06da857c39457bfb6ea9049643fdb706" title="Package read return codes.">rpmRC</a> (*hdrchk) (<a class="code" href="group__rpmtypes.html#g1a512138316a227059ca128597dbd464" title="The main types involved in transaction manipulation.">rpmts</a> ts, <span class="keyword">const</span> <span class="keywordtype">void</span> *uh, <span class="keywordtype">size_t</span> uc, <span class="keywordtype">char</span> ** msg));
117
<a name="l00282"></a>00282
118
<a name="l00283"></a>00283 <span class="preprocessor">#ifdef __cplusplus</span>
119
<a name="l00284"></a>00284 <span class="preprocessor"></span>}
120
<a name="l00285"></a>00285 <span class="preprocessor">#endif</span>
121
<a name="l00286"></a>00286 <span class="preprocessor"></span>
122
<a name="l00287"></a>00287 <span class="preprocessor">#endif </span><span class="comment">/* H_RPMDB */</span>
124
<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jul 14 15:02:08 2009 for rpm by
125
<a href="http://www.doxygen.org/index.html">
126
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>