Add open, read, close, lseek, fstat

This commit is contained in:
Laurent Vivier 2005-12-01 22:12:53 +00:00
parent fed542e8ad
commit c864f078d7

View File

@ -17,13 +17,11 @@ struct emile_block {
} __attribute__((packed)); } __attribute__((packed));
struct emile_container { struct emile_container {
u_int16_t unit_id;
u_int32_t size; u_int32_t size;
struct emile_block blocks[0]; struct emile_block blocks[0];
} __attribute__((packed)); } __attribute__((packed));
typedef struct { typedef struct {
unsigned long size;
unsigned long offset; unsigned long offset;
device_io_t device; device_io_t device;
struct emile_container* container; struct emile_container* container;
@ -32,4 +30,11 @@ typedef struct {
unsigned long current_block; unsigned long current_block;
char *buffer[0]; char *buffer[0];
} container_FILE; } container_FILE;
extern container_FILE *container_open(device_io_t *device, char *current);
extern int container_close(container_FILE *file);
extern int container_lseek(container_FILE *file, off_t offset, int whence);
extern ssize_t container_read(container_FILE *file, void *ptr, size_t size);
extern int container_fstat(container_FILE *file, struct stream_stat *buf);
#endif /* _LIBCONTAINER_H_ */ #endif /* _LIBCONTAINER_H_ */