20 #ifndef __STARPU_DISK_H__ 21 #define __STARPU_DISK_H__ 23 #include <sys/types.h> 29 void * (*plug) (
void *parameter, starpu_ssize_t size);
34 void * (*alloc) (
void *base,
size_t size);
35 void (*
free) (
void *base,
void *obj,
size_t size);
37 void * (*open) (
void *base,
void *pos,
size_t size);
38 void (*
close) (
void *base,
void *obj,
size_t size);
40 int (*
read) (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
41 int (*
write) (
void *base,
void *obj,
const void *buf, off_t offset,
size_t size);
43 int (*
full_read) (
void * base,
void * obj,
void ** ptr,
size_t * size);
44 int (*
full_write) (
void * base,
void * obj,
void * ptr,
size_t size);
46 void * (*async_write) (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
47 void * (*async_read) (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
49 void * (*async_full_read) (
void * base,
void * obj,
void ** ptr,
size_t * size);
50 void * (*async_full_write) (
void * base,
void * obj,
void * ptr,
size_t size);
52 void * (*copy) (
void *base_src,
void* obj_src, off_t offset_src,
void *base_dst,
void* obj_dst, off_t offset_dst,
size_t size);
72 #define STARPU_DISK_SIZE_MIN (16*1024*1024) void(* free)(void *base, void *obj, size_t size)
Definition: starpu_disk.h:35
int starpu_disk_swap_node
int(* read)(void *base, void *obj, void *buf, off_t offset, size_t size)
Definition: starpu_disk.h:40
void(* close)(void *base, void *obj, size_t size)
Definition: starpu_disk.h:38
void starpu_disk_close(unsigned node, void *obj, size_t size)
int starpu_disk_register(struct starpu_disk_ops *func, void *parameter, starpu_ssize_t size)
Definition: starpu_disk.h:27
int(* bandwidth)(unsigned node, void *base)
Definition: starpu_disk.h:32
int(* write)(void *base, void *obj, const void *buf, off_t offset, size_t size)
Definition: starpu_disk.h:41
struct starpu_disk_ops starpu_disk_leveldb_ops
void(* unplug)(void *base)
Definition: starpu_disk.h:30
struct starpu_disk_ops starpu_disk_unistd_o_direct_ops
void(* free_request)(void *async_channel)
Definition: starpu_disk.h:55
int(* full_write)(void *base, void *obj, void *ptr, size_t size)
Definition: starpu_disk.h:44
int(* test_request)(void *async_channel)
Definition: starpu_disk.h:54
struct starpu_disk_ops starpu_disk_unistd_ops
int(* full_read)(void *base, void *obj, void **ptr, size_t *size)
Definition: starpu_disk.h:43
void(* wait_request)(void *async_channel)
Definition: starpu_disk.h:53
struct starpu_disk_ops starpu_disk_stdio_ops
void * starpu_disk_open(unsigned node, void *pos, size_t size)