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 int nacl_io_init() {
12   return ki_init(NULL);
13 }
14 
nacl_io_uninit()15 int nacl_io_uninit() {
16   return ki_uninit();
17 }
18 
nacl_io_init_ppapi(PP_Instance instance,PPB_GetInterface get_interface)19 int nacl_io_init_ppapi(PP_Instance instance, PPB_GetInterface get_interface) {
20   return ki_init_ppapi(NULL, instance, get_interface);
21 }
22 
nacl_io_register_fs_type(const char * fs_type,fuse_operations * fuse_ops)23 int nacl_io_register_fs_type(const char* fs_type, fuse_operations* fuse_ops) {
24   return ki_get_proxy()->RegisterFsType(fs_type, fuse_ops);
25 }
26 
nacl_io_unregister_fs_type(const char * fs_type)27 int nacl_io_unregister_fs_type(const char* fs_type) {
28   return ki_get_proxy()->UnregisterFsType(fs_type);
29 }
30 
nacl_io_set_exit_callback(nacl_io_exit_callback_t exit_callback,void * user_data)31 void nacl_io_set_exit_callback(nacl_io_exit_callback_t exit_callback,
32                                void* user_data) {
33   ki_get_proxy()->SetExitCallback(exit_callback, user_data);
34 }
35 
nacl_io_set_mount_callback(nacl_io_mount_callback_t callback,void * user_data)36 void nacl_io_set_mount_callback(nacl_io_mount_callback_t callback,
37                                 void* user_data) {
38   ki_get_proxy()->SetMountCallback(callback, user_data);
39 }
40