18 #ifndef __DISK_UNISTD_GLOBAL_H__
19 #define __DISK_UNISTD_GLOBAL_H__
25 #include <sys/syscall.h>
32 #define STARPU_UNISTD_USE_COPY 1
33 #if !defined(HAVE_COPY_FILE_RANGE) && !defined(__NR_copy_file_range)
34 #undef STARPU_UNISTD_USE_COPY
38 typedef loff_t starpu_loff_t;
40 typedef off_t starpu_loff_t;
49 starpu_pthread_mutex_t mutex;
53 void starpu_unistd_global_free (
void *base,
void *obj,
size_t size);
55 void starpu_unistd_global_close (
void *base,
void *obj,
size_t size);
56 int starpu_unistd_global_read (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
57 int starpu_unistd_global_write (
void *base,
void *obj,
const void *buf, off_t offset,
size_t size);
58 void * starpu_unistd_global_plug (
void *parameter, starpu_ssize_t size);
59 void starpu_unistd_global_unplug (
void *base);
60 int _starpu_get_unistd_global_bandwidth_between_disk_and_main_ram(
unsigned node,
void *base);
61 void* starpu_unistd_global_async_read (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
62 void* starpu_unistd_global_async_write (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
63 void * starpu_unistd_global_async_full_write (
void * base,
void * obj,
void * ptr,
size_t size);
64 void * starpu_unistd_global_async_full_read (
void * base,
void * obj,
void ** ptr,
size_t * size,
unsigned dst_node);
65 void starpu_unistd_global_wait_request(
void * async_channel);
66 int starpu_unistd_global_test_request(
void * async_channel);
67 void starpu_unistd_global_free_request(
void * async_channel);
68 int starpu_unistd_global_full_read(
void *base,
void * obj,
void ** ptr,
size_t * size,
unsigned dst_node);
69 int starpu_unistd_global_full_write (
void * base,
void * obj,
void * ptr,
size_t size);
70 #ifdef STARPU_UNISTD_USE_COPY
71 void * starpu_unistd_global_copy(
void *base_src,
void* obj_src, off_t offset_src,
void *base_dst,
void* obj_dst, off_t offset_dst,
size_t size);
Definition: disk_unistd_global.h:44