/*
 * FAM.h
 * Copyright 1990 Darren New.  All Rights Reserved.
 * See liscence in FAM.c or FAM.doc
 */

#ifndef FAM_H
#define FAM_H

#ifndef EXEC_NODES_H
#include "exec/nodes.h"
#endif

/* This is the declaration of a scan list node */

struct ScanListNode {	  /* a ScanList entry */
    struct Node node;		/* ln_Name is name, strdupFAM()ed */
    long protection;		/* permission bits */
    long isdir; 		/* is a directory? */
    long sizebytes;		/* size in bytes */
    long sizelines;		/* size in lines */
    long filedate;		/* date of file */
    long filetime;		/* time of file */
    char * filenote;		/* strdupFAM()ed file comment or NULL */
    char * contents;		/* buffered lines */
    unsigned isNewFile:1;	/* true if file not expected in directory */
    unsigned isDeleted:1;	/* true if file not found in directory */
    unsigned isGrepped:1;	/* true if file passed GREP function */
    unsigned isLocked:1;	/* true if file not available */
    };

#define NT_FILENAME 0xA0    /* for error checking */
#define NT_FILELIST 0xA0    /* for error checking */

/* This is the definition of the function loaded by LoadSeg */

typedef long GrepFunc(struct ScanListNode *, char *);

#endif


