<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>libdap++: HTTPCache.cc File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>HTTPCache.cc File Reference</h1><code>#include "<a class="el" href="config_8h_source.html">config.h</a>"</code><br> <code>#include <pthread.h></code><br> <code>#include <limits.h></code><br> <code>#include <unistd.h></code><br> <code>#include <sys/types.h></code><br> <code>#include <sys/stat.h></code><br> <code>#include <cstring></code><br> <code>#include <iostream></code><br> <code>#include <sstream></code><br> <code>#include <algorithm></code><br> <code>#include <iterator></code><br> <code>#include <set></code><br> <code>#include "<a class="el" href="Error_8h_source.html">Error.h</a>"</code><br> <code>#include "<a class="el" href="InternalErr_8h_source.html">InternalErr.h</a>"</code><br> <code>#include "<a class="el" href="ResponseTooBigErr_8h_source.html">ResponseTooBigErr.h</a>"</code><br> <code>#include "<a class="el" href="SignalHandler_8h_source.html">SignalHandler.h</a>"</code><br> <code>#include "<a class="el" href="HTTPCacheInterruptHandler_8h_source.html">HTTPCacheInterruptHandler.h</a>"</code><br> <code>#include "<a class="el" href="HTTPCacheTable_8h_source.html">HTTPCacheTable.h</a>"</code><br> <code>#include "<a class="el" href="HTTPCache_8h_source.html">HTTPCache.h</a>"</code><br> <code>#include "<a class="el" href="util__mit_8h_source.html">util_mit.h</a>"</code><br> <code>#include "<a class="el" href="debug_8h_source.html">debug.h</a>"</code><br> <p> <div class="dynheader"> Include dependency graph for HTTPCache.cc:</div> <div class="dynsection"> <p><center><img src="HTTPCache_8cc__incl.png" border="0" usemap="#HTTPCache.cc_map" alt=""></center> <map name="HTTPCache.cc_map"> <area shape="rect" id="node3" href="config_8h.html" title="config.h" alt="" coords="5,80,107,107"><area shape="rect" id="node27" href="Error_8h.html" title="Error.h" alt="" coords="677,379,768,405"><area shape="rect" id="node34" href="InternalErr_8h.html" title="InternalErr.h" alt="" coords="232,304,384,331"><area shape="rect" id="node38" href="ResponseTooBigErr_8h.html" title="ResponseTooBigErr.h" alt="" coords="747,229,957,256"><area shape="rect" id="node42" href="SignalHandler_8h.html" title="SignalHandler.h" alt="" coords="1057,80,1228,107"><area shape="rect" id="node50" href="HTTPCacheInterruptHandler_8h.html" title="HTTPCacheInterruptHandler.h" alt="" coords="1252,80,1543,107"><area shape="rect" id="node57" href="HTTPCache_8h.html" title="HTTPCache.h" alt="" coords="816,155,947,181"><area shape="rect" id="node65" href="HTTPCacheTable_8h.html" title="HTTPCacheTable.h" alt="" coords="440,229,621,256"><area shape="rect" id="node71" href="debug_8h.html" title="debug.h" alt="" coords="1365,304,1456,331"><area shape="rect" id="node86" href="util__mit_8h.html" title="util_mit.h" alt="" coords="151,379,271,405"><area shape="rect" id="node46" href="EventHandler_8h.html" title="EventHandler.h" alt="" coords="1200,155,1360,181"><area shape="rect" id="node76" href="HTTPCacheDisconnectedMode_8h.html" title="HTTPCacheDisconnectedMode.h" alt="" coords="981,229,1272,256"><area shape="rect" id="node78" href="SignalHandlerRegisteredErr_8h.html" title="SignalHandlerRegisteredErr.h" alt="" coords="925,304,1227,331"></map> </div> <p> <a href="HTTPCache_8cc_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Namespaces</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html">libdap</a></td></tr> <tr><td colspan="2"><br><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#c3215fe6da2907a9efc7f488fb7c5ec5">CACHE_FOLDER_PCT</a> 10</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#2065c49052d2d2adeefc9d66fa136b46">CACHE_GC_PCT</a> 10</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#2fcbe1f1875c3c4b38a63ea99b906c49">CACHE_INDEX</a> ".index"</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#c3dd016cd86fde4c7d4380ed0a9151c8">CACHE_LOC</a> "/tmp/"</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#74ca3ee931733bde029a605ec0eab397">CACHE_LOCK</a> ".lock"</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#9f34e7ee25eb923739b1ea126dce4528">CACHE_META</a> ".meta"</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#eb598ae6ad780a09fe6ae3ee0db679f3">CACHE_ROOT</a> "dods-cache/"</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#f51756767c4eeb33c45209a62b205fcf">CACHE_TOTAL_SIZE</a> 20</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#1d22fde6e7501aebedb7663f0b0aa4e2">DIR_SEPARATOR_CHAR</a> '/'</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#23e72ca2d8456a971c13441bdfc4586f">DIR_SEPARATOR_STR</a> "/"</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#38b298d045bf3f59133a1852187d9a1c">DUMP_FREQUENCY</a> 10</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#9b0cd750616422a4c04187b15666628a">MAX_CACHE_ENTRY_SIZE</a> 3</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#78a6115b485de47c7cc56b224c558ea2">MEGA</a> 0x100000L</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#33a98a1c97431e86ac8ae32ea5e08cbc">MIN_CACHE_TOTAL_SIZE</a> 5</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#2bf44344e285663ad0b0b7bb001ac4fd">MKDIR</a>(a, b) mkdir((a), (b))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#e76603c1b2ef94cb2664dbad1b82a4c6">MKSTEMP</a>(a) mkstemp((a))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#fefcb1315dce44b5c9459b8f0ad22cb7">NO_LM_EXPIRATION</a> 24*3600</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#2a6edcee170a79b132872d22066754ed">REMOVE</a>(a) remove((a))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="HTTPCache_8cc.html#b51d9d52fad4f0a5361d2a3ab9d0edea">UMASK</a>(a) umask((a))</td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacelibdap.html#1987f9d225c2778a297eab61a6a612b3">libdap::is_hop_by_hop_header</a> (const string &header)</td></tr> </table> <hr><h2>Define Documentation</h2> <a class="anchor" name="c3215fe6da2907a9efc7f488fb7c5ec5"></a><!-- doxytag: member="HTTPCache.cc::CACHE_FOLDER_PCT" ref="c3215fe6da2907a9efc7f488fb7c5ec5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CACHE_FOLDER_PCT 10 </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00110">110</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> <p>Referenced by <a class="el" href="HTTPCache_8cc_source.html#l00717">libdap::HTTPCache::set_max_size()</a>.</p> </div> </div><p> <a class="anchor" name="2065c49052d2d2adeefc9d66fa136b46"></a><!-- doxytag: member="HTTPCache.cc::CACHE_GC_PCT" ref="2065c49052d2d2adeefc9d66fa136b46" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CACHE_GC_PCT 10 </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00111">111</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> <p>Referenced by <a class="el" href="HTTPCache_8cc_source.html#l00717">libdap::HTTPCache::set_max_size()</a>.</p> </div> </div><p> <a class="anchor" name="2fcbe1f1875c3c4b38a63ea99b906c49"></a><!-- doxytag: member="HTTPCache.cc::CACHE_INDEX" ref="2fcbe1f1875c3c4b38a63ea99b906c49" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CACHE_INDEX ".index" </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00099">99</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> </div> </div><p> <a class="anchor" name="c3dd016cd86fde4c7d4380ed0a9151c8"></a><!-- doxytag: member="HTTPCache.cc::CACHE_LOC" ref="c3dd016cd86fde4c7d4380ed0a9151c8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CACHE_LOC "/tmp/" </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00096">96</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> </div> </div><p> <a class="anchor" name="74ca3ee931733bde029a605ec0eab397"></a><!-- doxytag: member="HTTPCache.cc::CACHE_LOCK" ref="74ca3ee931733bde029a605ec0eab397" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CACHE_LOCK ".lock" </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00100">100</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> </div> </div><p> <a class="anchor" name="9f34e7ee25eb923739b1ea126dce4528"></a><!-- doxytag: member="HTTPCache.cc::CACHE_META" ref="9f34e7ee25eb923739b1ea126dce4528" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CACHE_META ".meta" </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00101">101</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> <p>Referenced by <a class="el" href="HTTPCacheTable_8cc_source.html#l00634">libdap::HTTPCacheTable::remove_cache_entry()</a>.</p> </div> </div><p> <a class="anchor" name="eb598ae6ad780a09fe6ae3ee0db679f3"></a><!-- doxytag: member="HTTPCache.cc::CACHE_ROOT" ref="eb598ae6ad780a09fe6ae3ee0db679f3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CACHE_ROOT "dods-cache/" </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00097">97</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> </div> </div><p> <a class="anchor" name="f51756767c4eeb33c45209a62b205fcf"></a><!-- doxytag: member="HTTPCache.cc::CACHE_TOTAL_SIZE" ref="f51756767c4eeb33c45209a62b205fcf" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define CACHE_TOTAL_SIZE 20 </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00109">109</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> </div> </div><p> <a class="anchor" name="1d22fde6e7501aebedb7663f0b0aa4e2"></a><!-- doxytag: member="HTTPCache.cc::DIR_SEPARATOR_CHAR" ref="1d22fde6e7501aebedb7663f0b0aa4e2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DIR_SEPARATOR_CHAR '/' </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00088">88</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> </div> </div><p> <a class="anchor" name="23e72ca2d8456a971c13441bdfc4586f"></a><!-- doxytag: member="HTTPCache.cc::DIR_SEPARATOR_STR" ref="23e72ca2d8456a971c13441bdfc4586f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DIR_SEPARATOR_STR "/" </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00089">89</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> </div> </div><p> <a class="anchor" name="38b298d045bf3f59133a1852187d9a1c"></a><!-- doxytag: member="HTTPCache.cc::DUMP_FREQUENCY" ref="38b298d045bf3f59133a1852187d9a1c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define DUMP_FREQUENCY 10 </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00106">106</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> <p>Referenced by <a class="el" href="HTTPCache_8cc_source.html#l01143">libdap::HTTPCache::cache_response()</a>.</p> </div> </div><p> <a class="anchor" name="9b0cd750616422a4c04187b15666628a"></a><!-- doxytag: member="HTTPCache.cc::MAX_CACHE_ENTRY_SIZE" ref="9b0cd750616422a4c04187b15666628a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MAX_CACHE_ENTRY_SIZE 3 </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00113">113</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> </div> </div><p> <a class="anchor" name="78a6115b485de47c7cc56b224c558ea2"></a><!-- doxytag: member="HTTPCache.cc::MEGA" ref="78a6115b485de47c7cc56b224c558ea2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MEGA 0x100000L </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00108">108</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> <p>Referenced by <a class="el" href="HTTPCache_8cc_source.html#l00797">libdap::HTTPCache::get_max_entry_size()</a>, <a class="el" href="HTTPCache_8cc_source.html#l00752">libdap::HTTPCache::get_max_size()</a>, <a class="el" href="HTTPCache_8cc_source.html#l00766">libdap::HTTPCache::set_max_entry_size()</a>, and <a class="el" href="HTTPCache_8cc_source.html#l00717">libdap::HTTPCache::set_max_size()</a>.</p> </div> </div><p> <a class="anchor" name="33a98a1c97431e86ac8ae32ea5e08cbc"></a><!-- doxytag: member="HTTPCache.cc::MIN_CACHE_TOTAL_SIZE" ref="33a98a1c97431e86ac8ae32ea5e08cbc" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MIN_CACHE_TOTAL_SIZE 5 </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00112">112</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> <p>Referenced by <a class="el" href="HTTPCache_8cc_source.html#l00717">libdap::HTTPCache::set_max_size()</a>.</p> </div> </div><p> <a class="anchor" name="2bf44344e285663ad0b0b7bb001ac4fd"></a><!-- doxytag: member="HTTPCache.cc::MKDIR" ref="2bf44344e285663ad0b0b7bb001ac4fd" args="(a, b)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MKDIR </td> <td>(</td> <td class="paramtype">a, <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">b </td> <td class="paramname"> </td> <td> ) </td> <td> mkdir((a), (b))</td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00084">84</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> <p>Referenced by <a class="el" href="HTTPCacheTable_8cc_source.html#l00449">libdap::HTTPCacheTable::create_hash_directory()</a>.</p> </div> </div><p> <a class="anchor" name="e76603c1b2ef94cb2664dbad1b82a4c6"></a><!-- doxytag: member="HTTPCache.cc::MKSTEMP" ref="e76603c1b2ef94cb2664dbad1b82a4c6" args="(a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define MKSTEMP </td> <td>(</td> <td class="paramtype">a </td> <td class="paramname"> </td> <td> ) </td> <td> mkstemp((a))</td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00087">87</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> <p>Referenced by <a class="el" href="HTTPCacheTable_8cc_source.html#l00487">libdap::HTTPCacheTable::create_location()</a>.</p> </div> </div><p> <a class="anchor" name="fefcb1315dce44b5c9459b8f0ad22cb7"></a><!-- doxytag: member="HTTPCache.cc::NO_LM_EXPIRATION" ref="fefcb1315dce44b5c9459b8f0ad22cb7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define NO_LM_EXPIRATION 24*3600 </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00104">104</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> </div> </div><p> <a class="anchor" name="2a6edcee170a79b132872d22066754ed"></a><!-- doxytag: member="HTTPCache.cc::REMOVE" ref="2a6edcee170a79b132872d22066754ed" args="(a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define REMOVE </td> <td>(</td> <td class="paramtype">a </td> <td class="paramname"> </td> <td> ) </td> <td> remove((a))</td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00086">86</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> <p>Referenced by <a class="el" href="HTTPCacheTable_8cc_source.html#l00281">libdap::HTTPCacheTable::cache_index_delete()</a>, <a class="el" href="HTTPCache_8cc_source.html#l01143">libdap::HTTPCache::cache_response()</a>, and <a class="el" href="HTTPCacheTable_8cc_source.html#l00634">libdap::HTTPCacheTable::remove_cache_entry()</a>.</p> </div> </div><p> <a class="anchor" name="b51d9d52fad4f0a5361d2a3ab9d0edea"></a><!-- doxytag: member="HTTPCache.cc::UMASK" ref="b51d9d52fad4f0a5361d2a3ab9d0edea" args="(a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define UMASK </td> <td>(</td> <td class="paramtype">a </td> <td class="paramname"> </td> <td> ) </td> <td> umask((a))</td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="HTTPCache_8cc_source.html#l00085">85</a> of file <a class="el" href="HTTPCache_8cc_source.html">HTTPCache.cc</a>.</p> </div> </div><p> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Oct 7 19:57:53 2009 for libdap++ by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>