#ifndef INVUTIL_H
#define INVUTIL_H
#define STR_LEN INV_STRLEN+32
#define GEN_STRLEN 32
/* open_and_lock() return codes */
#define SYSCALL_FAILED (-1)
#define LOCK_BUSY (-2)
typedef enum {
FILE_READ,
FILE_WRITE,
FILE_UNSAFE,
DIRECTORY_READ,
DIRECTORY_WRITE,
DIRECTORY_UNSAFE
} Open_t;
extern char * g_programName;
extern char * g_programVersion;
extern char * inventory_path;
extern bool_t debug;
extern bool_t force;
extern bool_t wait_for_locks;
char * GetFstabFullPath(char *);
char * GetNameOfInvIndex (char *, uuid_t);
char * GetNameOfStobj (char *inv_path, char *filename);
void CheckAndPruneFstab(char *, bool_t, char *, uuid_t *, time_t);
int CheckAndPruneInvIndexFile( bool_t, char *, time_t);
int CheckAndPruneStObjFile( bool_t, char *, time_t);
time_t ParseDate(char *);
void usage (void);
int open_and_lock(char *, Open_t, uint);
void read_n_bytes(int, void *, size_t, char *);
void write_n_bytes(int, void *, size_t, char *);
void * mmap_n_bytes(int, size_t, bool_t, char *);
void ListFstab(void);
int ListInvIndexFile( char *);
int ListStObjFile(char *);
int invutil_interactive(char *, char *, uuid_t *, time_t timeSecs);
int mntpnt_equal(char *s1, char *s2);
#endif /* INVUTIL_H */