3 static int rwops_seek(SDL_RWops *ctx, int offset, int whence)
5 fs_file fh = ctx->hidden.unknown.data1;
6 return fs_seek(fh, offset, whence) ? fs_tell(fh) : -1;
9 static int rwops_read(SDL_RWops *ctx, void *ptr, int size, int maxnum)
11 return fs_read(ptr, size, maxnum, ctx->hidden.unknown.data1);
14 static int rwops_write(SDL_RWops *ctx, const void *ptr, int size, int num)
16 return fs_write(ptr, size, num, ctx->hidden.unknown.data1);
19 static int rwops_close(SDL_RWops *ctx)
21 fs_file fh = ctx->hidden.unknown.data1;
30 SDL_RWops *fs_rwops_make(fs_file fh)
34 if ((ctx = SDL_AllocRW()))
36 ctx->seek = rwops_seek;
37 ctx->read = rwops_read;
38 ctx->write = rwops_write;
39 ctx->close = rwops_close;
41 ctx->hidden.unknown.data1 = fh;
47 SDL_RWops *fs_rwops_open(const char *path, const char *mode)
51 if ((fh = fs_open(path, mode)))
52 return fs_rwops_make(fh);