*
*/
struct directoryhint {
- SLIST_ENTRY(directoryhint) dh_link; /* chain */
+ TAILQ_ENTRY(directoryhint) dh_link; /* chain */
int dh_index; /* index into directory (zero relative) */
u_int32_t dh_time;
struct cat_desc dh_desc; /* entry's descriptor */
};
typedef struct directoryhint directoryhint_t;
+/*
+ * HFS_MAXDIRHINTS cannot be larger than 63 without reducing
+ * HFS_INDEX_BITS, because given the 6-bit tag, at most 63 different
+ * tags can exist. When HFS_MAXDIRHINTS is larger than 63, the same
+ * list may contain dirhints of the same tag, and a staled dirhint may
+ * be returned.
+ */
#define HFS_MAXDIRHINTS 32
#define HFS_DIRHINT_TTL 45
directoryhint_t *dirhint,
uio_t uio,
int extended,
- int * items);
+ int * items,
+ int * eofflag);
extern int cat_insertfilethread (
struct hfsmount *hfsmp,