/* Ofront+ 1.0 -sC -48 */

#ifndef Files__oh
#define Files__oh

#include "SYSTEM.oh"

typedef
  struct Files_FileDesc *Files_File;

typedef
  struct Files_FileDesc {
    LONGINT _prvt0;
    char _prvt1[528];
    INTEGER fd;
    char _prvt2[44];
  } Files_FileDesc;

typedef
  struct Files_Rider {
    INTEGER res;
    BOOLEAN eof;
    LONGINT _prvt0;
    char _prvt1[12];
  } Files_Rider;


#ifndef CHAR8_ARRAY_DEF
#define CHAR8_ARRAY_DEF
typedef struct CHAR8_ARRAY {
  INTEGER len[1];
  CHAR data[1];
} CHAR8_ARRAY;
#endif 


import SYSTEM_ADRINT *Files_FileDesc__typ;
import SYSTEM_ADRINT *Files_Rider__typ;

import Files_File Files_Base (Files_Rider *r, SYSTEM_ADRINT *r__typ);
import void Files_ChangeDirectory (CHAR *path, INTEGER path__len, INTEGER *res);
import void Files_Close (Files_File f);
import void Files_Delete (CHAR *name, INTEGER name__len, INTEGER *res);
import void Files_GetDate (Files_File f, INTEGER *t, INTEGER *d);
import void Files_GetName (Files_File f, CHAR *name, INTEGER name__len);
import LONGINT Files_Length (Files_File f);
import Files_File Files_New (CHAR *name, INTEGER name__len);
import Files_File Files_Old (CHAR *name, INTEGER name__len);
import LONGINT Files_Pos (Files_Rider *r, SYSTEM_ADRINT *r__typ);
import void Files_Purge (Files_File f);
import void Files_ReadBool (Files_Rider *R, SYSTEM_ADRINT *R__typ, BOOLEAN *x);
import void Files_ReadByte (Files_Rider *r, SYSTEM_ADRINT *r__typ, BYTE *x);
import void Files_ReadBytes (Files_Rider *r, SYSTEM_ADRINT *r__typ, BYTE *x, INTEGER x__len, INTEGER n);
import void Files_ReadChar (Files_Rider *r, SYSTEM_ADRINT *r__typ, CHAR *x);
import void Files_ReadInt (Files_Rider *R, SYSTEM_ADRINT *R__typ, INTEGER *x);
import void Files_ReadLInt (Files_Rider *R, SYSTEM_ADRINT *R__typ, LONGINT *x);
import void Files_ReadLReal (Files_Rider *R, SYSTEM_ADRINT *R__typ, REAL *x);
import void Files_ReadLine (Files_Rider *R, SYSTEM_ADRINT *R__typ, CHAR *x, INTEGER x__len);
import void Files_ReadNum (Files_Rider *R, SYSTEM_ADRINT *R__typ, LONGINT *x);
import void Files_ReadReal (Files_Rider *R, SYSTEM_ADRINT *R__typ, SHORTREAL *x);
import void Files_ReadSInt (Files_Rider *R, SYSTEM_ADRINT *R__typ, SHORTINT *x);
import void Files_ReadSet (Files_Rider *R, SYSTEM_ADRINT *R__typ, SET *x);
import void Files_ReadString (Files_Rider *R, SYSTEM_ADRINT *R__typ, CHAR *x, INTEGER x__len);
import void Files_Register (Files_File f);
import void Files_Rename (CHAR *old, INTEGER old__len, CHAR *new, INTEGER new__len, INTEGER *res);
import void Files_Set (Files_Rider *r, SYSTEM_ADRINT *r__typ, Files_File f, LONGINT pos);
import void Files_SetSearchPath (CHAR *path, INTEGER path__len);
import void Files_WriteBool (Files_Rider *R, SYSTEM_ADRINT *R__typ, BOOLEAN x);
import void Files_WriteByte (Files_Rider *r, SYSTEM_ADRINT *r__typ, BYTE x);
import void Files_WriteBytes (Files_Rider *r, SYSTEM_ADRINT *r__typ, BYTE *x, INTEGER x__len, INTEGER n);
import void Files_WriteChar (Files_Rider *R, SYSTEM_ADRINT *R__typ, CHAR x);
import void Files_WriteInt (Files_Rider *R, SYSTEM_ADRINT *R__typ, INTEGER x);
import void Files_WriteLInt (Files_Rider *R, SYSTEM_ADRINT *R__typ, LONGINT x);
import void Files_WriteLReal (Files_Rider *R, SYSTEM_ADRINT *R__typ, REAL x);
import void Files_WriteNum (Files_Rider *R, SYSTEM_ADRINT *R__typ, LONGINT x);
import void Files_WriteReal (Files_Rider *R, SYSTEM_ADRINT *R__typ, SHORTREAL x);
import void Files_WriteSInt (Files_Rider *R, SYSTEM_ADRINT *R__typ, SHORTINT x);
import void Files_WriteSet (Files_Rider *R, SYSTEM_ADRINT *R__typ, SET x);
import void Files_WriteString (Files_Rider *R, SYSTEM_ADRINT *R__typ, CHAR *x, INTEGER x__len);
import void *Files__init (void);


#endif
