/*
 * This source file is Copyright 1995 by Evan Scott.
 * All rights reserved.
 * Permission is granted to distribute this file provided no
 * fees beyond distribution costs are levied.
 */

struct info_header {
	struct info_header *next;
	struct info_header **prev;
	
	magic_verify;
	
	b32	unique;
	
	struct	my_info *infos;
	struct  my_info **last_info_p;

	boolean	case_sensitive;
	b8	name[0];
};

typedef struct my_info {
	struct 	my_info *next;
	
	magic_verify;
	
	b32	size;
	b32	blocks;
	b32	flags;
	struct	DateStamp modified;
	b8	name[0];
} ftpinfo;

#define MYFLAG_DIR 0x80000	/* for indicating directories with our normal protection bits */
#define MYFLAG_DELETED 0x40000

#define V_ftpinfo	6033
#define V_info_header	9412

void add_ftpinfo(struct info_header *ih, b8 *name, struct DateStamp ds, b32 size, b32 blocks, b32 flags);
void free_info_header(struct info_header *ih);
struct info_header *new_info_header(site *sp, b8 *name);
struct info_header *find_info_header(site *sp, b8 *name);
ftpinfo *find_info(struct info_header *ih, b8 *name);

