summaryrefslogtreecommitdiff
path: root/fs/fd.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/fd.h')
-rw-r--r--fs/fd.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/fd.h b/fs/fd.h
index a51a0f3..35e28d9 100644
--- a/fs/fd.h
+++ b/fs/fd.h
@@ -7,6 +7,7 @@
#include <stdbool.h>
#include "fifo.h"
+#include "ringbuffer.h"
/*
typedef struct
@@ -27,7 +28,8 @@ typedef struct
enum FD_TYPE{
FD_TYPE_FIFO_BUFFERED=1,
FD_TYPE_EXT2_FILE=2,
- FD_TYPE_EXT2_DIR=3
+ FD_TYPE_EXT2_DIR=3,
+ FD_TYPE_SYSFS=4
};
typedef struct fd_struct
@@ -35,6 +37,7 @@ typedef struct fd_struct
bool (*write)(struct fd_struct*,uint8_t);
uint8_t (*read)(struct fd_struct*);
bool (*has)(struct fd_struct*);
+ bool (*eof)(struct fd_struct*);
bool (*close)(struct fd_struct*);
uint8_t type;
@@ -43,10 +46,11 @@ typedef struct fd_struct
uint8_t fd_read(fd*);
bool fd_has(fd*);
+bool fd_eof(fd*);
bool fd_write(fd*,uint8_t);
bool fd_close(fd*);
fd fd_from_fifo(fifo* f);
fd fd_from_path(char *path);
-//fd fd_from_sysfs(void(*g)(void (*f)(char *fmt, ...)));
+fd fd_from_sysfs(void(*g)(ringbuffer *r,void (*f)(ringbuffer *r,char *fmt, ...)));
#endif