diff options
Diffstat (limited to 'src/dummy/file.c')
| -rw-r--r-- | src/dummy/file.c | 186 |
1 files changed, 108 insertions, 78 deletions
diff --git a/src/dummy/file.c b/src/dummy/file.c index 7b35553..eab4c72 100644 --- a/src/dummy/file.c +++ b/src/dummy/file.c @@ -1,56 +1,71 @@ #include <bh/io.h> -typedef struct bh_file_s +typedef struct BH_File { int implement; int me; -} bh_file_t; +} BH_File; -static int file_info(bh_file_t *file, - size_t *size, - const char **name); -static int file_init(bh_file_t *file, - const char *path); +static int BH_FileInfo(BH_File *file, + size_t *size, + const char **name); -static int file_destroy(bh_file_t *file); -static int file_open(bh_file_t *file, - int *mode); +static int BH_FileInit(BH_File *file, + const char *path); -static int file_close(bh_file_t *file); -static int file_read(bh_file_t *file, - char *data, - size_t *size); +static int BH_FileDestroy(BH_File *file); -static int file_write(bh_file_t *file, - const char *data, - size_t *size); -static int file_peek(bh_file_t* file, - char *data, - size_t *size); +static int BH_FileOpen(BH_File *file, + int *mode); -static int file_flush(bh_file_t *file); -static int file_seek(bh_file_t *file, - int64_t *pos, - int *dir); +static int BH_FileClose(BH_File *file); -static int file_tell(bh_file_t *file, - int64_t *pos); -static int file_size(bh_file_t *file, - int64_t *size); +static int BH_FileRead(BH_File *file, + char *data, + size_t *size); -static int file_flags(bh_file_t *file); -static int file_clear(bh_file_t *file); +static int BH_FileWrite(BH_File *file, + const char *data, + size_t *size); -static int file_info(bh_file_t *file, - size_t *size, - const char **name) + +static int BH_FilePeek(BH_File* file, + char *data, + size_t *size); + + +static int BH_FileFlush(BH_File *file); + + +static int BH_FileSeek(BH_File *file, + int64_t *pos, + int *dir); + + +static int BH_FileTell(BH_File *file, + int64_t *pos); + + +static int BH_FileSize(BH_File *file, + int64_t *size); + + +static int BH_FileFlags(BH_File *file); + + +static int BH_FileClear(BH_File *file); + + +static int BH_FileInfo(BH_File *file, + size_t *size, + const char **name) { static const char classname[] = BH_FILE_CLASSNAME; @@ -62,109 +77,124 @@ static int file_info(bh_file_t *file, return BH_NOIMPL; } -static int file_init(bh_file_t *file, - const char *path) + +static int BH_FileInit(BH_File *file, + const char *path) { return BH_NOIMPL; } -static int file_destroy(bh_file_t *file) + +static int BH_FileDestroy(BH_File *file) { return BH_NOIMPL; } -static int file_open(bh_file_t *file, - int *mode) + +static int BH_FileOpen(BH_File *file, + int *mode) { return BH_NOIMPL; } -static int file_close(bh_file_t *file) + +static int BH_FileClose(BH_File *file) { return BH_NOIMPL; } -static int file_read(bh_file_t *file, - char *data, - size_t *size) + +static int BH_FileRead(BH_File *file, + char *data, + size_t *size) { return BH_NOIMPL; } -static int file_write(bh_file_t *file, - const char *data, - size_t *size) + +static int BH_FileWrite(BH_File *file, + const char *data, + size_t *size) { return BH_NOIMPL; } -static int file_peek(bh_file_t *file, - char *data, - size_t *size) + +static int BH_FilePeek(BH_File *file, + char *data, + size_t *size) { return BH_NOIMPL; } -static int file_flush(bh_file_t *file) + +static int BH_FileFlush(BH_File *file) { return BH_NOIMPL; } -static int file_seek(bh_file_t *file, - int64_t *pos, - int *dir) + +static int BH_FileSeek(BH_File *file, + int64_t *pos, + int *dir) { return BH_NOIMPL; } -static int file_tell(bh_file_t *file, - int64_t *pos) + +static int BH_FileTell(BH_File *file, + int64_t *pos) { return BH_NOIMPL; } -static int file_size(bh_file_t *file, - int64_t *size) + +static int BH_FileSize(BH_File *file, + int64_t *size) { return BH_NOIMPL; } -static int file_flags(bh_file_t *file) + +static int BH_FileFlags(BH_File *file) { return BH_IO_FLAG_ERROR; } -static int file_clear(bh_file_t *file) + +static int BH_FileClear(BH_File *file) { return BH_NOIMPL; } -static int file_proc(bh_file_t *file, - int type, - void *arg1, - void *arg2) + +static int BH_FileCallback(BH_File *file, + int type, + void *arg1, + void *arg2) { switch (type) { - case BH_IO_INFO_CB: return file_info(file, (size_t *)arg1, (const char **)arg2); - case BH_IO_INIT_CB: return file_init(file, (const char *)arg1); - case BH_IO_DESTROY_CB: return file_destroy(file); - case BH_IO_OPEN_CB: return file_open(file, (int *)arg1); - case BH_IO_CLOSE_CB: return file_close(file); - case BH_IO_READ_CB: return file_read(file, (char *)arg1, (size_t *)arg2); - case BH_IO_WRITE_CB: return file_write(file, (const char *)arg1, (size_t *)arg2); - case BH_IO_PEEK_CB: return file_peek(file, (char *)arg1, (size_t *)arg2); - case BH_IO_FLUSH_CB: return file_flush(file); - case BH_IO_SEEK_CB: return file_seek(file, (int64_t *)arg1, (int *)arg2); - case BH_IO_TELL_CB: return file_tell(file, (int64_t *)arg1); - case BH_IO_SIZE_CB: return file_size(file, (int64_t *)arg1); - case BH_IO_FLAGS_CB: return file_flags(file); - case BH_IO_CLEAR_CB: return file_clear(file); + case BH_IO_INFO_CB: return BH_FileInfo(file, (size_t *)arg1, (const char **)arg2); + case BH_IO_INIT_CB: return BH_FileInit(file, (const char *)arg1); + case BH_IO_DESTROY_CB: return BH_FileDestroy(file); + case BH_IO_OPEN_CB: return BH_FileOpen(file, (int *)arg1); + case BH_IO_CLOSE_CB: return BH_FileClose(file); + case BH_IO_READ_CB: return BH_FileRead(file, (char *)arg1, (size_t *)arg2); + case BH_IO_WRITE_CB: return BH_FileWrite(file, (const char *)arg1, (size_t *)arg2); + case BH_IO_PEEK_CB: return BH_FilePeek(file, (char *)arg1, (size_t *)arg2); + case BH_IO_FLUSH_CB: return BH_FileFlush(file); + case BH_IO_SEEK_CB: return BH_FileSeek(file, (int64_t *)arg1, (int *)arg2); + case BH_IO_TELL_CB: return BH_FileTell(file, (int64_t *)arg1); + case BH_IO_SIZE_CB: return BH_FileSize(file, (int64_t *)arg1); + case BH_IO_FLAGS_CB: return BH_FileFlags(file); + case BH_IO_CLEAR_CB: return BH_FileClear(file); default: return BH_NOIMPL; } } -bh_io_t *bh_file_new(const char *path) + +BH_IO *BH_FileNew(const char *path) { - return bh_io_new((bh_io_func_t)file_proc, (void *)path); + return BH_IONew((BH_IOCallback)BH_FileCallback, (void *)path); } |
