[PATCH:xfs 7/7] Remove unused server cache functionality

Alan Coopersmith alan.coopersmith at oracle.com
Sat Jan 19 23:03:55 PST 2013


We initialized the cache & reset the cache, but never put anything in it.
(Unlike the FontPatternCache provided by libXfont.)

Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
 Makefile.am        |    3 -
 difs/cache.c       |  382 ----------------------------------------------------
 difs/dispatch.c    |    2 -
 difs/main.c        |    7 -
 doc/xfs-design.xml |  137 -------------------
 include/cache.h    |   71 ----------
 include/cachestr.h |   74 ----------
 7 files changed, 676 deletions(-)
 delete mode 100644 difs/cache.c
 delete mode 100644 include/cache.h
 delete mode 100644 include/cachestr.h

diff --git a/Makefile.am b/Makefile.am
index 490b52a..d07ce8a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,7 +36,6 @@ LDADD = $(XFS_LIBS)
 
 xfs_SOURCES = \
 	difs/atom.c \
-	difs/cache.c \
 	difs/charinfo.c \
 	difs/difsutils.c \
 	difs/dispatch.c \
@@ -68,8 +67,6 @@ xfs_SOURCES = \
 	include/assert.h \
 	include/auth.h \
 	include/authstr.h \
-	include/cache.h \
-	include/cachestr.h \
 	include/client.h \
 	include/clientstr.h \
 	include/closestr.h \
diff --git a/difs/cache.c b/difs/cache.c
deleted file mode 100644
index 06fca6c..0000000
--- a/difs/cache.c
+++ /dev/null
@@ -1,382 +0,0 @@
-/*
-Copyright 1987, 1998  The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
- * Copyright 1990, 1991 Network Computing Devices;
- * Portions Copyright 1987 by Digital Equipment Corporation 
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the names of Network Computing Devices,
- * or Digital not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  Network Computing Devices, or Digital
- * make no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- *
- * NETWORK COMPUTING DEVICES, AND DIGITAL DISCLAIM ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES, OR DIGITAL BE
- * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- */
-
-#include	"config.h"
-
-#include	"cachestr.h"
-#include	"misc.h"
-
-#define INITBUCKETS 64
-#define INITHASHSIZE 6
-#define MAXHASHSIZE 11
-
-
-#define	ENTRYOFFSET		22
-#define CACHE_ENTRY_MASK	0x3FFFFF
-#define	CACHE_ENTRY_BITS(id)	((id) & 0x1fc00000)
-#define	CACHE_ID(id)		((int)(CACHE_ENTRY_BITS(id) >> ENTRYOFFSET))
-
-#define	NullCacheEntry	((CacheEntryPtr) 0)
-
-#define	MAX_NUM_CACHES	32
-/* XXX make this dynamic? */
-static CachePtr caches[MAX_NUM_CACHES];
-static int  num_caches = 1;
-
-/*-
- * Notes on cache implementation
- *
- * This is basically the X11 resource code, with some modifications
- * to handle aging.
- *
- * Its currently optimized for lookup & store.  Flushing old stuff
- * is a lot slower than it should probably be, but there's tradeoffs
- * in tuning.
- */
-
-Cache
-CacheInit(unsigned long maxsize)
-{
-    Cache       id = (Cache) num_caches;
-    CachePtr    cache;
-
-    cache = (CachePtr) fsalloc(sizeof(CacheRec));
-    if (!cache)
-	return (Cache) 0;
-    cache->entries = (CacheEntryPtr *)
-	fsalloc(INITBUCKETS * sizeof(CacheEntryPtr));
-    bzero((char *) cache->entries, (INITBUCKETS * sizeof(CacheEntryPtr)));
-    if (!cache->entries) {
-	fsfree(cache);
-	return (Cache) 0;
-    }
-    caches[id] = cache;
-    cache->elements = 0;
-    cache->buckets = INITBUCKETS;
-    cache->hashsize = INITHASHSIZE;
-    cache->maxsize = maxsize;
-    cache->cursize = 0;
-    cache->nextid = id << ENTRYOFFSET;
-    cache->id = id;
-    num_caches++;
-    return id;
-}
-
-static int
-hash(CacheID cid)
-{
-    CachePtr    cache = caches[CACHE_ID(cid)];
-
-    switch (cache->hashsize) {
-#ifdef DEBUG	/* only need this if INITHASHSIZE < 6 */
-    case 2:
-	return ((int) (0x03 & (cid ^ (cid >> 2) ^ (cid >> 8))));
-    case 3:
-	return ((int) (0x07 & (cid ^ (cid >> 3) ^ (cid >> 9))));
-    case 4:
-	return ((int) (0x0F & (cid ^ (cid >> 4) ^ (cid >> 10))));
-    case 5:
-	return ((int) (0x01F & (cid ^ (cid >> 5) ^ (cid >> 11))));
-#endif
-    case 6:
-	return ((int) (0x03F & (cid ^ (cid >> 6) ^ (cid >> 12))));
-    case 7:
-	return ((int) (0x07F & (cid ^ (cid >> 7) ^ (cid >> 13))));
-    case 8:
-	return ((int) (0x0FF & (cid ^ (cid >> 8) ^ (cid >> 16))));
-    case 9:
-	return ((int) (0x1FF & (cid ^ (cid >> 9))));
-    case 10:
-	return ((int) (0x3FF & (cid ^ (cid >> 10))));
-    case 11:
-	return ((int) (0x7FF & (cid ^ (cid >> 11))));
-    }
-    return -1;
-}
-
-static void
-rebuild_cache(CachePtr cache)
-{
-    int         j;
-    CacheEntryPtr cp,
-                next,
-              **tails,
-               *entries,
-              **tptr,
-               *cptr;
-
-    assert(cache);
-    j = 2 * cache->buckets;
-    tails = (CacheEntryPtr **) ALLOCATE_LOCAL(j * sizeof(CacheEntryPtr *));
-    if (!tails)
-	return;
-    entries = (CacheEntryPtr *) fsalloc(j * sizeof(CacheEntryPtr));
-    if (!entries) {
-	DEALLOCATE_LOCAL(tails);
-	return;
-    }
-    for (cptr = entries, tptr = tails; --j >= 0; cptr++, tptr++) {
-	*cptr = NullCacheEntry;
-	*tptr = cptr;
-    }
-    cache->hashsize++;
-    for (j = cache->buckets, cptr = cache->entries; --j >= 0; cptr++) {
-	for (cp = *cptr; cp; cp = next) {
-	    next = cp->next;
-	    cp->next = NullCacheEntry;
-	    tptr = &tails[hash(cp->id)];
-	    **tptr = cp;
-	    *tptr = &cp->next;
-	}
-    }
-    DEALLOCATE_LOCAL(tails);
-    cache->buckets *= 2;
-    fsfree(cache->entries);
-    cache->entries = entries;
-}
-
-/*
- * throws out all existing entries
- */
-void
-CacheReset(void)
-{
-    CacheEntryPtr cp;
-    CachePtr    cache;
-    int         i,
-                j;
-
-    for (j = 0; j < num_caches; j++) {
-	cache = caches[j];
-	if (!cache)
-	    continue;
-	for (i = 0; i < cache->buckets; i++) {
-	    for (cp = cache->entries[i]; cp; cp = cp->next) {
-		cache->elements--;
-		cache->cursize -= cp->size;
-		(*cp->free_func) (cp->id, cp->data, CacheWasReset);
-		fsfree(cp);
-	    }
-	    cache->entries[i] = (CacheEntryPtr) 0;
-	}
-	assert(cache->cursize == 0);
-    }
-}
-
-static void
-flush_cache(CachePtr cache, unsigned long needed)
-{
-/* XXX -- try to set oldprev properly inside search loop */
-    CacheEntryPtr cp,
-                oldest,
-               *oldprev;
-    int         oldbucket = -1,
-                i;
-
-    while ((cache->cursize + needed) > cache->maxsize) {
-	oldest = (CacheEntryPtr) 0;
-	/* find oldest */
-	for (i = 0; i < cache->buckets; i++) {
-	    cp = cache->entries[i];
-	    if (!cp)
-		continue;
-	    if (!oldest) {
-		oldbucket = i;
-		oldest = cp;
-	    }
-	    while (cp) {
-		if (cp->timestamp < oldest->timestamp) {
-		oldest = cp;
-		    oldbucket = i;
-		}
-		cp = cp->next;
-	    }
-	}
-	/* fixup list */
-	oldprev = &cache->entries[oldbucket];
-	cp = *oldprev;
-	for (; (cp = *oldprev) != NULL; oldprev = &cp->next) {
-	    if (cp == oldest) {
-		*oldprev = oldest->next;
-		break;
-	    }
-	}
-	/* clobber it */
-	cache->elements--;
-	cache->cursize -= oldest->size;
-	(*oldest->free_func) (oldest->id, oldest->data, CacheEntryOld);
-	fsfree(oldest);
-    }
-}
-
-void
-CacheResize(Cache cid, unsigned newsize)
-{
-    CachePtr    cache = caches[cid];
-
-    if (!cache)
-    	return;
-
-    if (newsize < cache->maxsize) {
-	/* have to toss some stuff */
-	flush_cache(cache, cache->maxsize - newsize);
-    }
-    cache->maxsize = newsize;
-}
-
-CacheID
-CacheStoreMemory(
-    Cache       cid,
-    pointer     data,
-    unsigned long size,
-    CacheFree   free_func)
-{
-    CacheID     id;
-    CacheEntryPtr cp,
-               *head;
-    CachePtr    cache = caches[cid];
-
-    if (size > cache->maxsize)	/* beyond cache limits */
-	return (CacheID) 0;
-
-    if ((cache->elements >= 4 * cache->buckets) &&
-	    (cache->hashsize < MAXHASHSIZE)) {
-	rebuild_cache(cache);
-    }
-    id = cache->nextid++;
-
-    if ((cache->cursize + size) > cache->maxsize) {
-	flush_cache(cache, size);
-    }
-    head = &cache->entries[hash(id)];
-    cp = (CacheEntryPtr) fsalloc(sizeof(CacheEntryRec));
-    if (!cp) {
-	return (CacheID) 0;
-    }
-    cp->next = *head;
-    cp->id = id;
-    cp->timestamp = GetTimeInMillis();
-    cp->free_func = free_func;
-    cp->size = size;
-    cp->data = data;
-    cache->cursize += size;
-    cache->elements++;
-    *head = cp;
-
-    return id;
-}
-
-pointer
-CacheFetchMemory(
-    CacheID     cid,
-    Bool        update)
-{
-    CachePtr    cache = caches[CACHE_ID(cid)];
-    CacheEntryPtr cp,
-               *head;
-
-    head = &cache->entries[hash(cid)];
-    for (cp = *head; cp; cp = cp->next) {
-	if (cp->id == cid) {
-	    if (update) {
-		cp->timestamp = GetTimeInMillis();
-		if (cp != *head) {	/* put it in the front */
-		    cp->next = *head;
-		    *head = cp;
-		}
-	    }
-	    return cp->data;
-	}
-    }
-    return (pointer) 0;
-}
-
-void
-CacheFreeMemory(
-    CacheID     cid,
-    Bool        notify)
-{
-    CachePtr    cache = caches[CACHE_ID(cid)];
-    CacheEntryPtr cp,
-               *prev,
-               *head;
-    int        *elptr;
-    int         elements;
-    Bool        found = FALSE;
-
-    head = &cache->entries[hash(cid)];
-    elptr = &cache->elements;
-    prev = head;
-    while ((cp = *prev) != NullCacheEntry) {
-	if (cp->id == cid) {
-	    *prev = cp->next;
-	    elements = --*elptr;
-	    if (notify) {
-		(*(cp->free_func)) (cid, cp->data, CacheEntryFreed);
-	    }
-	    cache->cursize -= cp->size;
-	    fsfree(cp);
-	    if (*elptr != elements)
-		prev = head;
-	    found = TRUE;
-	} else {
-	    prev = &cp->next;
-	}
-    }
-    if (!found)
-	FatalError("freeing cache entry %ld which isn't there\n", cid);
-}
-
-/* ARGSUSED */
-void
-CacheSimpleFree(
-    CacheID     cid,
-    pointer     data,
-    int         reason)
-{
-    fsfree(data);
-}
diff --git a/difs/dispatch.c b/difs/dispatch.c
index f22ec36..6f8b2b6 100644
--- a/difs/dispatch.c
+++ b/difs/dispatch.c
@@ -65,7 +65,6 @@ in this Software without prior written authorization from The Open Group.
 #include	<X11/fonts/fontstruct.h>
 #include	"site.h"
 #include	"fsevents.h"
-#include	"cache.h"
 #include	"globals.h"
 #include	"difs.h"
 #include	"access.h"
@@ -168,7 +167,6 @@ Dispatch(void)
 	    /* flush all the caches */
 	    if (dispatchException & DE_FLUSH) {
 		NoticeF("flushing all caches\n");
-		CacheReset();
 		dispatchException &= ~DE_FLUSH;
 	    }
 	    /* reset */
diff --git a/difs/main.c b/difs/main.c
index 9e8e957..a202a53 100644
--- a/difs/main.c
+++ b/difs/main.c
@@ -58,7 +58,6 @@ in this Software without prior written authorization from The Open Group.
 #include	"misc.h"
 #include	"globals.h"
 #include	"servermd.h"
-#include	"cache.h"
 #include	"site.h"
 #include	"dispatch.h"
 #include	"extentst.h"
@@ -67,10 +66,6 @@ in this Software without prior written authorization from The Open Group.
 char       *ConnectionInfo;
 int         ConnInfoLen;
 
-Cache       serverCache;
-
-#define	SERVER_CACHE_SIZE	10000	/* for random server cacheables */
-
 static Bool create_connection_block(void);
 
 char       *configfilename;
@@ -109,7 +104,6 @@ main(int argc, char *argv[])
 	OsInit();
 	if (serverGeneration == 1) {
 	    /* do first time init */
-	    serverCache = CacheInit(SERVER_CACHE_SIZE);
 	    CreateSockets(OldListenCount, OldListen);
 	    InitProcVectors();
 	    clients = (ClientPtr *) fsalloc(MAXCLIENTS * sizeof(ClientPtr));
@@ -152,7 +146,6 @@ main(int argc, char *argv[])
 #endif
 
 	/* clean up per-cycle stuff */
-	CacheReset();
 	CloseDownExtensions();
 	if ((dispatchException & DE_TERMINATE) || drone_server)
 	    break;
diff --git a/doc/xfs-design.xml b/doc/xfs-design.xml
index b6352dd..7606d88 100644
--- a/doc/xfs-design.xml
+++ b/doc/xfs-design.xml
@@ -1043,143 +1043,6 @@ fsResolution	*GetClientResolutions(int  *<parameter>num_resolutions</parameter>)
       Returns the list of resolutions that the current client has set.</para>
     </sect2>
     <sect2>
-      <title>Caching functions</title>
-
-      <para>These are functions that simplify caching of renderer
-      data. These are for use by renderers that take significant
-      resources to produce data. The data must be re-creatable -- the
-      cache is not meant for general storage. The data may also be
-      moved by the cache, so it should only be accessed by
-      CacheID.</para>
-
-      <para><synopsis>
-typedef void (*CacheFree)();
-typedef unsigned long	CacheID;
-typedef unsigned long	Cache;
-
-Cache CacheInit(int <parameter>renderer_id</parameter>)
-      </synopsis>
-
-
-      Initializes a cache object for the renderer. the returned
-      ID should be passed to <function>CacheStoreMemory()</function>
-      when adding an object to the cache.</para>
-
-      <para><synopsis>
-void CacheStats(Cache <parameter>cid</parameter>, unsigned long *<parameter>num_entries</parameter>,
-	unsigned long *<parameter>max_storage</parameter>, unsigned long *<parameter>current_storage</parameter>,
-	unsigned long *<parameter>num_lookups</parameter>, unsigned long *<parameter>hit_ratio</parameter>)
-      </synopsis>
-
-
-      Returns statistics on the cache. Useful if the renderer
-      wants some hints about whether to place an object in the cache.
-      If the cache is nearly full, and the priority low, it may want
-      to take different action.</para>
-
-      <para><synopsis>
-CacheID	CacheStoreMemory(Cache <parameter>cacheid</parameter>, pointer <parameter>data</parameter>, unsigned long <parameter>size</parameter>,
-			CacheFree <parameter>free_func</parameter>)
-      </synopsis>
-
-
-      The renderer hands the cache some chunk of contiguous
-      memory, which the cache timestamps and stores. When it needs to
-      remove them, it calls the
-      <parameter class="function">free_func</parameter>, which must
-      take responsibility for properly freeing the data.
-      <parameter class="function">size</parameter> is primarily a hint
-      to the cache, so that cache limits can be properly calculated. A
-      return value of zero means the store failed, probably because
-      the given size was over the cache limit. If the given data is
-      too large for the current cache, it will attempt to free old
-      data to make room. The returned ID is a unique value that refers
-      both to the object and the cache in which it was placed.</para>
-
-      <para><synopsis>
-pointer CacheFetchMemory(CacheID <parameter>cid</parameter>, Bool <parameter>update</parameter>)
-      </synopsis>
-
-
-      Returns the memory attached to the id. If
-      <parameter class="function">update</parameter> is set, the
-      timestamp is updated. (Some accesses may wish to be 'silent',
-      which allows some control over the freeing scheduling.) If the
-      cid is invalid, <constant>NULL</constant> is returned.</para>
-
-      <para><synopsis>
-pointer CacheFetchMemory(CacheID <parameter>cid</parameter>, Bool <parameter>update</parameter>)
-      </synopsis>
-
-
-      Allows the cache to flush the data. If
-      <emphasis remap='I'>notify</emphasis> is set, the CacheFree
-      function passed in when the data was cached will also be
-      called.</para>
-
-      <para><synopsis>
-void	MemoryFreed(CacheID <parameter>cid</parameter>, pointer <parameter>data</parameter>, int <parameter>reason</parameter>)
-      </synopsis>
-
-
-      Callback function from the cache to the renderer notifying
-      it that its data has been flushed. This function then has the
-      responsibility to free that data.
-      <parameter class="function">reason</parameter> may be one of:
-
-      <synopsis>
-CacheReset	/* all cache freed because of server reset */
-CacheEntryFreed	/* explicit request via free_memory() */
-CacheEntryOld	/* cache hit limit, and memory being freed because its old */
-      </synopsis>
-
-
-      and is supplied so that the renderer may choose how to
-      deal with the free request. (It will probably be ignored by
-      most, but some may want to keep the memory around by bypassing
-      the cache, or re-inserting it.) Note that the cache will
-      consider the data gone, so it <emphasis remap='B'>must</emphasis>
-      be re-inserted to keep it alive.</para>
-
-      <para><synopsis>
-void	CacheSimpleFree(CacheID <parameter>cid</parameter>, pointer <parameter>data</parameter>, int <parameter>reason</parameter>)
-    </synopsis>
-
-
-      Just calls <function>free()</function> on the data. Simple
-      CacheFree defined here to prevent it being redefined in each
-      renderer.</para>
-
-      <para>Typical usage of the cache is for the renderer to store a
-      CacheID rather than a pointer to the cacheable data. The
-      renderer is responsible for both allocating and freeing the
-      data, as well as keeping track of just what it is. When the
-      renderer needs the cached data, it will request it from the
-      cache. If it fails, it must rebuild it.</para>
-
-      <para>A possible configuration parameter is the size of the
-      cache. when the cache is filled (with the calculation based on
-      the given size), it sweeps the cache and frees old data. The
-      amount of memory actually freed may wish to be tunable: some
-      systems may want to keep the cache as full as possible, others
-      may want to free some percentage such that sweeps occur less
-      frequently.</para>
-
-      <para>Cache statistics may want to be available for
-      administrators. They could be dumped to a file when a signal is
-      received. (SNMP seems like a perfect match, but apparently the
-      technology isn't there yet.)</para>
-
-      <para>Cached data could also be compressed, if the memory/CPU
-      tradeoffs make it worthwhile.</para>
-
-      <note><title>ISSUE: Is a time-based freeing schedule sufficient?</title>
-	<para>Should priorities or size also be taken into account? [ No.
-      Anything that the renderer thinks should have a higher priority
-      should probably not be placed into the cache. ]</para></note>
-
-    </sect2>
-    <sect2>
       <title>Byte swapping</title>
 
       <para>Functions for swapping a 4-byte quantity, a 2-byte
diff --git a/include/cache.h b/include/cache.h
deleted file mode 100644
index 254dd49..0000000
--- a/include/cache.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* 
-Copyright 1987, 1998  The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
- * Copyright 1990, 1991 Network Computing Devices; 
- * Portions Copyright 1987 by Digital Equipment Corporation 
- * 
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the names of Network Computing Devices,
- * or Digital not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  Network Computing Devices, or Digital
- * make no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- * 
- * NETWORK COMPUTING DEVICES, AND DIGITAL DISCLAIM ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES, DIGITAL OR MIT BE
- * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- */
-
-#ifndef _CACHE_H_
-#define	_CACHE_H_
-
-#include	"misc.h"
-
-#define	CacheWasReset		1
-#define	CacheEntryFreed		2
-#define	CacheEntryOld		3
-
-typedef unsigned long CacheID;
-typedef unsigned long Cache;
-typedef void (*CacheFree) (CacheID cid, pointer, int flag);
-
-typedef struct _cache *CachePtr;
-
-extern Cache CacheInit(unsigned long maxsize);
-extern CacheID CacheStoreMemory(Cache cid, pointer data, unsigned long size, CacheFree free_func);
-extern void CacheFreeMemory(CacheID cid, Bool notify);
-extern pointer CacheFetchMemory(CacheID cid, Bool update);
-extern void CacheReset(void);
-extern void CacheResize(Cache cid, unsigned newsize);
-extern void CacheSimpleFree(CacheID cid, pointer data, int reason);
-
-#endif				/* _CACHE_H_ */
diff --git a/include/cachestr.h b/include/cachestr.h
deleted file mode 100644
index 3360e5c..0000000
--- a/include/cachestr.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-Copyright 1987, 1998  The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall not be
-used in advertising or otherwise to promote the sale, use or other dealings
-in this Software without prior written authorization from The Open Group.
- * Copyright 1990, 1991 Network Computing Devices;
- * Portions Copyright 1987 by Digital Equipment Corporation 
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the names of Network Computing Devices,
- * or Digital not be used in advertising or
- * publicity pertaining to distribution of the software without specific,
- * written prior permission.  Network Computing Devices, or Digital
- * make no representations about the
- * suitability of this software for any purpose.  It is provided "as is"
- * without express or implied warranty.
- *
- * NETWORK COMPUTING DEVICES, AND DIGITAL DISCLAIM ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES, OR DIGITAL BE
- * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- */
-
-#ifndef _CACHSTR_H_
-#define _CACHSTR_H_
-#include	"cache.h"
-
-typedef struct _cache_entry {
-    pointer     data;
-    unsigned long timestamp;
-    CacheID     id;
-    unsigned long size;
-    CacheFree   free_func;
-    struct _cache_entry *next;
-}           CacheEntryRec, *CacheEntryPtr;
-
-typedef struct _cache {
-    Cache       id;
-    CacheEntryPtr *entries;
-    int         elements;
-    int         buckets;
-    int         hashsize;
-    CacheID     nextid;
-    unsigned long maxsize;
-    unsigned long cursize;
-}           CacheRec;
-
-#define	NullCacheEntryPtr	((CacheEntryPtr) 0)
-
-#endif				/* _CACHSTR_H_ */
-- 
1.7.9.2



More information about the xorg-devel mailing list