/*****************************************************************************/
/*
                                   ODS.h


VERSION HISTORY
---------------
23-DEC-1999  MGD  initial; provide support for ODS-2 and ODS-5
*/
/*****************************************************************************/

#ifndef ODS_H_LOADED
#define ODS_H_LOADED 1

/* include the directory parse code */
#define ODS_DIRECT 1
#ifndef ODS_DIRECT
#  if WATCH_MOD
#     define ODS_DIRECT 1
#  else
#     define ODS_DIRECT 0
#  endif
#endif

/* application related */
#include "wasd.h"

/***********************/
/* function prototypes */
/***********************/

int OdsAccessCheck (ODS_STRUCT*);
int OdsClose (ODS_STRUCT*, REQUEST_AST, unsigned long);
int OdsCopyStructure (ODS_STRUCT*, ODS_STRUCT*);
int OdsCreate (ODS_STRUCT*, char*, int, char*, int,
               int, int, int, int, int, struct FAB*,
               GENERAL_AST, unsigned long);
char* OdsDirectReport (REQUEST_STRUCT*);
int OdsDirectSearch (ODS_STRUCT*);
int OdsFileAcpInfo (ODS_STRUCT*, GENERAL_AST, unsigned long);
void OdsFileAcpInfoRdt (ODS_STRUCT*);
int OdsFileExists (char*, char*);
void OdsFreeTextFile (ODS_STRUCT*);
void OdsNamBlockAst (struct FAB*);
int OdsLoadContent (ODS_STRUCT*, char*);
int OdsLoadDirect (ODS_STRUCT*, char*);
int OdsLoadTextFile (ODS_STRUCT*, char*);
int OdsNameOfDirectoryFile (char*, int, char*, int*);
int OdsOpen (ODS_STRUCT*, char*, int, char*, int,
             int, int, int, GENERAL_AST, unsigned long);
int OdsOpenReadOnly (ODS_STRUCT*, char*, BOOL);
int OdsOpenShrUpdReadOnly (ODS_STRUCT*, char*, BOOL, BOOL);
int OdsParse (ODS_STRUCT*, char*, int, char*, int,
              int, GENERAL_AST, unsigned long);
int OdsParseComplete (ODS_STRUCT*);
int OdsParseTerminate (ODS_STRUCT*);
char* OdsParseTextFile (ODS_STRUCT*, char);
int OdsReallyADir (REQUEST_STRUCT*, ODS_STRUCT*);
int OdsSearch (ODS_STRUCT*, GENERAL_AST, unsigned long);
int OdsSearchNoConceal (ODS_STRUCT*, GENERAL_AST, unsigned long);
void OdsStructInit (ODS_STRUCT*, BOOL);
int OdsVolumeStructure (char*);

#endif /* ODS_H_LOADED */

/****************************************************************************/

