3#include "internal/osal_file_internal.h"
7#include "osal/file/osal_file_ops.h"
14#if defined(_WIN32) || defined(_WIN64)
26 const char *path_utf8,
32 if (!ops || !ops->
open) {
36 return ops->
open(path_utf8, flags, status, env);
46 if (!ops || !ops->
read) {
50 return ops->
read(f, buf, n, status);
60 if (!ops || !ops->
write) {
64 return ops->
write(f, buf, n, status);
const osal_file_ops_t * osal_file_posix_ops(void)
const osal_file_ops_t * osal_file_win32_ops(void)
size_t osal_file_read(osal_file_t *f, void *buf, size_t n, osal_file_status_t *status)
osal_file_status_t osal_file_flush(osal_file_t *f)
osal_file_status_t osal_file_close(osal_file_t *f)
osal_file_env_t osal_file_default_env(const osal_mem_ops_t *mem)
static void set_status(osal_file_status_t *st, osal_file_status_t v)
size_t osal_file_write(osal_file_t *f, const void *buf, size_t n, osal_file_status_t *status)
osal_file_t * osal_file_open(const char *path_utf8, uint32_t flags, osal_file_status_t *status, const osal_file_env_t *env)
const osal_file_ops_t * osal_file_default_ops(void)
Return the default OSAL file operations for the active platform.
const osal_mem_ops_t * osal_mem_default_ops(void)
const osal_mem_ops_t * mem
size_t(* write)(osal_file_t *f, const void *buf, size_t n, osal_file_status_t *status)
osal_file_status_t(* close)(osal_file_t *f)
osal_file_status_t(* flush)(osal_file_t *f)
size_t(* read)(osal_file_t *f, void *buf, size_t n, osal_file_status_t *status)
osal_file_t *(* open)(const char *path_utf8, uint32_t flags, osal_file_status_t *status, const osal_file_env_t *env)