public static extern int GetSize(FileSystem *file_system, FileHandle *file);
public static extern int Delete(FileSystem *file_system, FileHandle *file);
public static extern int Find(FileSystem *file_system, string path, [MarshalAs(UnmanagedType.FunctionPtr)] FindCallback callback);
public static extern Status *Pull(FileSystem *file_system, FileHandle *file, string path);
public static extern FileHandle *Push(FileSystem *file_system, string inner_path, string path, int chunk_size, Status **status);
public static extern FileHandle *Open(FileSystem *file_system, string path, Status **status);
public static extern void DestroyFileSystem(FileSystem *file_system);