diff options
Diffstat (limited to 'shared/utils/rmtfs/rmtfs.h')
-rw-r--r-- | shared/utils/rmtfs/rmtfs.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/shared/utils/rmtfs/rmtfs.h b/shared/utils/rmtfs/rmtfs.h new file mode 100644 index 0000000..fa4b806 --- /dev/null +++ b/shared/utils/rmtfs/rmtfs.h @@ -0,0 +1,43 @@ +#ifndef __RMTFS_H__ +#define __RMTFS_H__ + +#include <stdint.h> +#include "qmi_rmtfs.h" + +#define SECTOR_SIZE 512 + +struct qmi_packet { + uint8_t flags; + uint16_t txn_id; + uint16_t msg_id; + uint16_t msg_len; + uint8_t data[]; +} __attribute__((__packed__)); + +struct rmtfs_mem; + +struct rmtfs_mem *rmtfs_mem_open(void); +void rmtfs_mem_close(struct rmtfs_mem *rmem); +int64_t rmtfs_mem_alloc(struct rmtfs_mem *rmem, size_t size); +void rmtfs_mem_free(struct rmtfs_mem *rmem); +ssize_t rmtfs_mem_read(struct rmtfs_mem *rmem, unsigned long phys_address, void *buf, ssize_t len); +ssize_t rmtfs_mem_write(struct rmtfs_mem *rmem, unsigned long phys_address, const void *buf, ssize_t len); + +struct rmtfd; + +int storage_init(const char *storage_root, bool read_only, bool use_partitions); +struct rmtfd *storage_open(unsigned node, const char *path); +struct rmtfd *storage_get(unsigned node, int caller_id); +void storage_close(struct rmtfd *rmtfd); +int storage_get_caller_id(const struct rmtfd *rmtfd); +int storage_get_error(const struct rmtfd *rmtfd); +void storage_exit(void); +ssize_t storage_pread(const struct rmtfd *rmtfd, void *buf, size_t nbyte, off_t offset); +ssize_t storage_pwrite(struct rmtfd *rmtfd, const void *buf, size_t nbyte, off_t offset); +int storage_sync(struct rmtfd *rmtfd); + +int rproc_init(void); +int rproc_start(void); +int rproc_stop(void); + +#endif |