#ifndef SYS_HORIZON___FIO_H_ #define SYS_HORIZON___FIO_H_ #define __FIO_BUFSZ 512 #if defined(__cplusplus) extern "C" { #endif struct __io_file { char in_buf[__FIO_BUFSZ]; char out_buf[__FIO_BUFSZ]; unsigned long in_buf_ptr, in_buf_len; unsigned long out_buf_len; int fd, unget; char err, eof; }; extern int __fileno(struct __io_file *f); extern void __fio_init(int in, int out, int err); extern unsigned int __fio_read(struct __io_file *f, char *buf, unsigned int sz); extern unsigned int __fio_write(struct __io_file *f, const char *buf, unsigned int sz); extern unsigned int __fio_flush(struct __io_file *f); extern int __fio_error(struct __io_file *f); extern int __fio_eof(struct __io_file *f); extern int __fio_ungetc(struct __io_file *f, char c); extern int __fio_fopen(const char *path, const char *mode, struct __io_file *out); extern int __fio_fclose(struct __io_file *in); extern int __fio_fdopen(int fd, const char *mode, struct __io_file *out); #if defined(__cplusplus) } #endif #endif