1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "nacl_io/nacl_io.h"
6
7 #include <stdlib.h>
8 #include "nacl_io/kernel_intercept.h"
9 #include "nacl_io/kernel_proxy.h"
10
nacl_io_init()11 void nacl_io_init() {
12 ki_init(NULL);
13 }
14
nacl_io_init_ppapi(PP_Instance instance,PPB_GetInterface get_interface)15 void nacl_io_init_ppapi(PP_Instance instance, PPB_GetInterface get_interface) {
16 ki_init_ppapi(NULL, instance, get_interface);
17 }
18
nacl_io_register_fs_type(const char * fs_type,fuse_operations * fuse_ops)19 int nacl_io_register_fs_type(const char* fs_type, fuse_operations* fuse_ops) {
20 return ki_get_proxy()->RegisterFsType(fs_type, fuse_ops);
21 }
22
nacl_io_unregister_fs_type(const char * fs_type)23 int nacl_io_unregister_fs_type(const char* fs_type) {
24 return ki_get_proxy()->UnregisterFsType(fs_type);
25 }
26
nacl_io_register_exit_handler(nacl_io_exit_handler_t exit_handler,void * user_data)27 int nacl_io_register_exit_handler(nacl_io_exit_handler_t exit_handler,
28 void* user_data) {
29 return ki_get_proxy()->RegisterExitHandler(exit_handler, user_data);
30 }
31