diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-09-08 15:46:42 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-09-08 15:46:42 +0000 |
commit | c207f23b0b6b2d215be65e670d453768ad304247 (patch) | |
tree | 5d10943ec51bbda849db9ca2fdcc7b43feb2011c /nscd/nscd.h | |
parent | 0a3ad40da92c0036bd3bd87949f7d7d9864c31c7 (diff) | |
download | glibc-c207f23b0b6b2d215be65e670d453768ad304247.zip glibc-c207f23b0b6b2d215be65e670d453768ad304247.tar.gz glibc-c207f23b0b6b2d215be65e670d453768ad304247.tar.bz2 |
Update.
* nscd/connections.c: Implement r/o sharing of nscd's cache with client
processes via shared memory.
* nscd/nscd-client.h: Likewise.
* nscd/nscd.h: Likewise.
* nscd/nscd_conf.c: Likewise.
* nscd/nscd_getgr_r.c: Likewise.
* nscd/nscd_getpw_r.c: Likewise.
* nscd/nscd_gethst_r.c: Likewise.
* nscd/nscd.conf: Add new config parameters.
* nscd/Makefile (aux): Add nscd_helper.
* nscd/nscd_helper.c: New file.
* nscd/mem.c (gc): Indicate beginning and end of the gc cycle.
* nscd/hstcache.c: Simplify a lot. We cache only the request itself,
no derived information.
* connections.c (nscd_init): Fix bug in testing size of the persistent.
* nis/Makefile (aux): Add nis_hash.
* nis/nis_hash.c: New file. Split out from nis_util.c.
* nis/nis_util.c: Move __nis_hash code in separate file.
* csu/tst-atomic.c: Improve atomic_increment_val test which would
not have found a ppc bug.
Diffstat (limited to 'nscd/nscd.h')
-rw-r--r-- | nscd/nscd.h | 82 |
1 files changed, 1 insertions, 81 deletions
diff --git a/nscd/nscd.h b/nscd/nscd.h index 45a93fd..889588c 100644 --- a/nscd/nscd.h +++ b/nscd/nscd.h @@ -42,30 +42,6 @@ typedef enum } dbtype; -/* Head of record in data part of database. */ -struct datahead -{ - size_t allocsize; /* Allocated Bytes. */ - size_t recsize; /* Size of the record. */ - time_t timeout; /* Time when this entry becomes invalid. */ - bool notfound; /* Nonzero if data for key has not been found. */ - uint8_t nreloads; /* Reloads without use. */ - bool usable; /* False if the entry must be ignored. */ - - /* We need to have the following element aligned for the response - header data types and their use in the 'struct dataset' types - defined in the XXXcache.c files. */ - union - { - pw_response_header pwdata; - gr_response_header grdata; - hst_response_header hstdata; - ssize_t align1; - time_t align2; - } data[0]; -}; - - /* Default limit on the number of times a value gets reloaded without being used in the meantime. NSCD does not throw a value out as soon as it times out. It tries to reload the value from the @@ -74,63 +50,6 @@ struct datahead #define DEFAULT_RELOAD_LIMIT 5 -/* Type for offsets in data part of database. */ -typedef uint32_t ref_t; -/* Value for invalid/no reference. */ -#define ENDREF UINT32_MAX - - -/* Structure for one hash table entry. */ -struct hashentry -{ - request_type type:8; /* Which type of dataset. */ - bool first; /* True if this was the original key. */ - size_t len; /* Length of key. */ - ref_t key; /* Pointer to key. */ - uid_t owner; /* If secure table, this is the owner. */ - ref_t next; /* Next entry in this hash bucket list. */ - ref_t packet; /* Records for the result. */ - union - { - struct hashentry *dellist; /* Next record to be deleted. This can be a - pointer since only nscd uses this field. */ - ref_t *prevp; /* Pointer to field containing forward - reference. */ - }; -}; - - -/* Current persistent database version. */ -#define DB_VERSION 1 - -/* Header of persistent database file. */ -struct database_pers_head -{ - int version; - int header_size; - - size_t module; - size_t data_size; - - size_t first_free; /* Offset of first free byte in data area. */ - - size_t nentries; - size_t maxnentries; - size_t maxnsearched; - - uintmax_t poshit; - uintmax_t neghit; - uintmax_t posmiss; - uintmax_t negmiss; - - uintmax_t rdlockdelayed; - uintmax_t wrlockdelayed; - - uintmax_t addfailed; - - ref_t array[0]; -}; - /* Structure describing dynamic part of one database. */ struct database_dyn { @@ -139,6 +58,7 @@ struct database_dyn int enabled; int check_file; int persistent; + int shared; const char *filename; const char *db_filename; time_t file_mtime; |