/* XDS v2.51: Copyright (c) 1999-2003 Excelsior, LLC. All Rights Reserved. */
/* Generated by XDS Modula-2 to ANSI C v4.20 translator */

#ifndef RndFile_H_
#define RndFile_H_
#ifndef X2C_H_
#include "X2C.h"
#endif
#ifndef IOChan_H_
#include "IOChan.h"
#endif
#ifndef ChanConsts_H_
#include "ChanConsts.h"
#endif

typedef IOChan_ChanId RndFile_ChanId;

typedef X2C_CARD8 RndFile_FlagSet;

typedef enum ChanConsts_OpenResults RndFile_OpenResults;

extern X2C_CARD8 RndFile_read;

extern X2C_CARD8 RndFile_write;

extern X2C_CARD8 RndFile_old;

extern X2C_CARD8 RndFile_text;

extern X2C_CARD8 RndFile_raw;

extern void RndFile_OpenOld(IOChan_ChanId *, X2C_CHAR [], X2C_CARD32,
                X2C_CARD8, X2C_CARD8 *);

extern void RndFile_OpenClean(IOChan_ChanId *, X2C_CHAR [], X2C_CARD32,
                X2C_CARD8, X2C_CARD8 *);

extern X2C_BOOLEAN RndFile_IsRndFile(IOChan_ChanId);

extern X2C_BOOLEAN RndFile_IsRndFileException(void);

#define RndFile_FilePosSize 8

typedef X2C_LOC RndFile_FilePos[8];

extern X2C_LOC * RndFile_StartPos(RndFile_FilePos, IOChan_ChanId);

extern X2C_LOC * RndFile_CurrentPos(RndFile_FilePos, IOChan_ChanId);

extern X2C_LOC * RndFile_EndPos(RndFile_FilePos, IOChan_ChanId);

extern X2C_LOC * RndFile_NewPos(RndFile_FilePos, IOChan_ChanId, X2C_INT32,
                X2C_CARD32, RndFile_FilePos);

extern void RndFile_SetPos(IOChan_ChanId, RndFile_FilePos);

extern void RndFile_Close(IOChan_ChanId *);


extern void RndFile_BEGIN(void);


#endif /* RndFile_H_ */
