about summary refs log tree commit diff
path: root/nscd
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-09-13 05:52:46 +0000
committerUlrich Drepper <drepper@redhat.com>2004-09-13 05:52:46 +0000
commit404db64ae7d5572b916388b749c289574efdb3a8 (patch)
treee7973111655cc34528b92d76f70b1a3b2930d498 /nscd
parentf69425fa2958fc060b2dfad45a7e52594f67cb88 (diff)
downloadglibc-404db64ae7d5572b916388b749c289574efdb3a8.tar.gz
glibc-404db64ae7d5572b916388b749c289574efdb3a8.tar.xz
glibc-404db64ae7d5572b916388b749c289574efdb3a8.zip
Update.
	* nscd/nscd-client.h: Fix database structure layout for biarch.
Diffstat (limited to 'nscd')
-rw-r--r--nscd/nscd-client.h60
1 files changed, 32 insertions, 28 deletions
diff --git a/nscd/nscd-client.h b/nscd/nscd-client.h
index 953610adc1..8f3f3a11d7 100644
--- a/nscd/nscd-client.h
+++ b/nscd/nscd-client.h
@@ -123,6 +123,9 @@ typedef uint32_t ref_t;
 /* Value for invalid/no reference.  */
 #define ENDREF	UINT32_MAX
 
+/* Timestamp type.  */
+typedef uint64_t nscd_time_t;
+
 /* Alignment requirement of the beginning of the data region.  */
 #define ALIGN 16
 
@@ -130,12 +133,13 @@ typedef uint32_t ref_t;
 /* 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.  */
+  nscd_ssize_t allocsize;	/* Allocated Bytes.  */
+  nscd_ssize_t recsize;		/* Size of the record.  */
+  nscd_time_t timeout;		/* Time when this entry becomes invalid.  */
+  bool notfound;		/* Nonzero if data has not been found.  */
+  uint8_t nreloads;		/* Reloads without use.  */
+  bool usable;			/* False if the entry must be ignored.  */
+  uint64_t :40;			/* Alignment.  */
 
   /* We need to have the following element aligned for the response
      header data types and their use in the 'struct dataset' types
@@ -145,8 +149,8 @@ struct datahead
     pw_response_header pwdata;
     gr_response_header grdata;
     hst_response_header hstdata;
-    ssize_t align1;
-    time_t align2;
+    nscd_ssize_t align1;
+    nscd_time_t align2;
   } data[0];
 };
 
@@ -156,9 +160,9 @@ 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.  */
+  nscd_ssize_t len;		/* Length of key.  */
   ref_t key;			/* Pointer to key.  */
-  uid_t owner;			/* If secure table, this is the owner.  */
+  int32_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
@@ -181,30 +185,30 @@ struct hashentry
 /* Header of persistent database file.  */
 struct database_pers_head
 {
-  int version;
-  int header_size;
-  volatile int gc_cycle;
-  volatile int nscd_certainly_running;
-  volatile time_t timestamp;
+  int32_t version;
+  int32_t header_size;
+  volatile int32_t gc_cycle;
+  volatile int32_t nscd_certainly_running;
+  volatile nscd_time_t timestamp;
 
-  size_t module;
-  size_t data_size;
+  nscd_ssize_t module;
+  nscd_ssize_t data_size;
 
-  size_t first_free;		/* Offset of first free byte in data area.  */
+  nscd_ssize_t first_free;	/* Offset of first free byte in data area.  */
 
-  size_t nentries;
-  size_t maxnentries;
-  size_t maxnsearched;
+  nscd_ssize_t nentries;
+  nscd_ssize_t maxnentries;
+  nscd_ssize_t maxnsearched;
 
-  uintmax_t poshit;
-  uintmax_t neghit;
-  uintmax_t posmiss;
-  uintmax_t negmiss;
+  uint64_t poshit;
+  uint64_t neghit;
+  uint64_t posmiss;
+  uint64_t negmiss;
 
-  uintmax_t rdlockdelayed;
-  uintmax_t wrlockdelayed;
+  uint64_t rdlockdelayed;
+  uint64_t wrlockdelayed;
 
-  uintmax_t addfailed;
+  uint64_t addfailed;
 
   ref_t array[0];
 };