pjs/network/cache/netcache.h

85 строки
2.7 KiB
C

/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public License
* Version 1.0 (the "NPL"); you may not use this file except in
* compliance with the NPL. You may obtain a copy of the NPL at
* http://www.mozilla.org/NPL/
*
* Software distributed under the NPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
* for the specific language governing rights and limitations under the
* NPL.
*
* The Initial Developer of this code under the NPL is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All Rights
* Reserved.
*/
#ifndef NETCACHE_H
#define NETCACHE_H
#include "mkgeturl.h"
PR_BEGIN_EXTERN_C
/* Initialization */
extern void NET_CacheInit(void);
/* Shutdown */
extern void NET_CleanupCache(void);
/* create an HTML stream and push a bunch of HTML about
* the cache
*/
extern void NET_DisplayCacheInfoAsHTML(ActiveEntry * cur_entry);
/* create an HTML stream and push a bunch of HTML about
* the memory cache - TODO consolidate these two into one function! - Gagan
*/
extern void NET_DisplayMemCacheInfoAsHTML(ActiveEntry * cur_entry);
extern int NET_FindURLInCache(URL_Struct * URL_s, MWContext *ctxt);
#ifdef NU_CACHE
extern void NET_InitNuCacheProtocol(void);
#else
extern void NET_InitMemCacProtocol(void);
#endif
/* Will go away later */
extern PRBool NET_IsCacheTraceOn(void);
/* return TRUE if the URL is in the cache and
* is a partial cache file - TODO- only used in HTTP- cleanup - Gagan
*/
extern PRBool NET_IsPartialCacheFile(URL_Struct *URL_s);
#ifdef NU_CACHE
/* return TRUE if the URL exists somewhere in the cache */
extern PRBool NET_IsURLInCache(const URL_Struct *URL_s);
#endif
/* Update cache entry on a 304 return*/
extern void NET_RefreshCacheFileExpiration(URL_Struct * URL_s);
/* remove a URL from the cache */
extern void NET_RemoveURLFromCache(URL_Struct *URL_s);
/* Removed in NU_Cache, SAR should go through new api. - Gagan */
#ifndef NU_CACHE
extern void NET_OpenExtCacheFAT(MWContext *ctxt, char * cache_name, char * instructions);
extern void CACHE_CloseAllOpenSARCache();
extern void CACHE_OpenAllSARCache();
extern int NET_FindURLInMemCache(URL_Struct * URL_s, MWContext *ctxt);
/* lookup routine
*
* builds a key and looks for it in the database. Returns an access
* method and sets a filename in the URL struct if found
*/
extern int NET_FindURLInExtCache(URL_Struct * URL_s, MWContext *ctxt);
#endif
PR_END_EXTERN_C
#endif /* NETCACHE_H */