Chrome's Native Client backend implementation
This commit is contained in:
parent
de4a745643
commit
c330e8e9e2
37 changed files with 2265 additions and 10 deletions
|
@ -43,6 +43,10 @@
|
|||
#include "SDL_system.h"
|
||||
#endif
|
||||
|
||||
#if __NACL__
|
||||
#include "nacl_io/nacl_io.h"
|
||||
#endif
|
||||
|
||||
#ifdef __WIN32__
|
||||
|
||||
/* Functions to read/write Win32 API file pointers */
|
||||
|
@ -762,4 +766,28 @@ SDL_WriteBE64(SDL_RWops * dst, Uint64 value)
|
|||
return SDL_RWwrite(dst, &swapped, sizeof (swapped), 1);
|
||||
}
|
||||
|
||||
|
||||
/* SDL_RWops on NACL are implemented using nacl_io, and require mount points
|
||||
* to be established before actual file operations are performed
|
||||
*
|
||||
* Ref: https://developers.google.com/native-client/dev/devguide/coding/nacl_io?hl=es
|
||||
*/
|
||||
|
||||
int
|
||||
SDL_RWMount(const char* source, const char* target, const char* filesystemtype,
|
||||
unsigned long mountflags, const void *data) {
|
||||
#if __NACL__
|
||||
return mount(source, target, filesystemtype, mountflags, data);
|
||||
#endif /* __NACL__ */
|
||||
return SDL_SetError ("Mount not supported on this platform");
|
||||
}
|
||||
|
||||
int
|
||||
SDL_RWUmount(const char *target) {
|
||||
#if __NACL__
|
||||
return umount(target);
|
||||
#endif /* __NACL__ */
|
||||
return SDL_SetError ("Umount not supported on this platform");
|
||||
}
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue