18#ifndef __DISK_UNISTD_GLOBAL_H__
19#define __DISK_UNISTD_GLOBAL_H__
25#include <sys/syscall.h>
28#pragma GCC visibility push(hidden)
34#define STARPU_UNISTD_USE_COPY 1
35#if !defined(HAVE_COPY_FILE_RANGE) && !defined(__NR_copy_file_range)
36#undef STARPU_UNISTD_USE_COPY
40typedef loff_t starpu_loff_t;
42typedef off_t starpu_loff_t;
51 starpu_pthread_mutex_t mutex;
55void starpu_unistd_global_free (
void *base,
void *obj,
size_t size);
57void starpu_unistd_global_close (
void *base,
void *obj,
size_t size);
58int starpu_unistd_global_read (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
59int starpu_unistd_global_write (
void *base,
void *obj,
const void *buf, off_t offset,
size_t size);
60void * starpu_unistd_global_plug (
void *parameter, starpu_ssize_t size);
61void starpu_unistd_global_unplug (
void *base);
62int _starpu_get_unistd_global_bandwidth_between_disk_and_main_ram(
unsigned node,
void *base);
63void* starpu_unistd_global_async_read (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
64void* starpu_unistd_global_async_write (
void *base,
void *obj,
void *buf, off_t offset,
size_t size);
65void * starpu_unistd_global_async_full_write (
void * base,
void * obj,
void * ptr,
size_t size);
66void * starpu_unistd_global_async_full_read (
void * base,
void * obj,
void ** ptr,
size_t * size,
unsigned dst_node);
67void starpu_unistd_global_wait_request(
void * async_channel);
68int starpu_unistd_global_test_request(
void * async_channel);
69void starpu_unistd_global_free_request(
void * async_channel);
70int starpu_unistd_global_full_read(
void *base,
void * obj,
void ** ptr,
size_t * size,
unsigned dst_node);
71int starpu_unistd_global_full_write (
void * base,
void * obj,
void * ptr,
size_t size);
72#ifdef STARPU_UNISTD_USE_COPY
73void * 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);
76#pragma GCC visibility pop
Definition: disk_unistd_global.h:46