/* -> h.ckafio
 */

struct FileData {int loadaddr, execaddr, length, attrib;};

struct BTim {int low, high;};


/*
 *  Functions (n is one of the predefined file numbers from ckermi.h):
 */

extern int chkfn( int );

extern int zopeni( int, char * ); /* Opens an existing file for input. */
extern int zopeno( int, char * ); /* Opens a new file for output. */
extern int zclose( int ); /* Closes a file. */

/* Gets the next character from an input file. */
extern int zchin( int, char * );

/* Write a null-terminated string to output file, buffered. */
extern int zsout( int, char * );

/* Like extern int zsout, but appends a line terminator. */
extern int zsoutl( int, char *);

/* Write x characters to output file, unbuffered. */
extern int zsoutx( int, char *, int);

/* Add a character to an output file, unbuffered. */
extern int zchout( int, char );

/* Check if named file exists and is readable, return siextern int ze. */
extern long zchki( char * );

/* Check if named file can be created. */
extern int zchko( char * );

/* Make a new unique file name based on the given name. */
extern void znewn(char *, char ** );

extern int zdelet( char * ); /* Delete the named file. */

/* Expands the given wildcard string into a list of files. */
extern int zxpand( char * );

/* Returns the next file from the list in "string". */
extern int znext( char * );

extern int zxcmd( char * ); /* Execute the command in a lower fork. */

/* Close input file associated with extern int zxcmd()'s lower fork. */
extern int zclosf( void );

/* Convert remote filename into local form. */
extern void zrtol( char *, char *);

/* Convert local filename into remote form. */
extern void zltor(char *, char *);

extern int zchdir( char *); /* Change working directory. */
extern char *zhome( void ); /* Return pointer to home directory name string. */
extern int zkself( void ); /* Kill self, log out own job. */
