37 lines
1.0 KiB
C
37 lines
1.0 KiB
C
#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
|