|
@@ -18,33 +18,29 @@
|
|
|
#ifndef __STARPU_DISK_H__
|
|
|
#define __STARPU_DISK_H__
|
|
|
|
|
|
-/* list of functions to use on disk */
|
|
|
-struct starpu_disk_ops {
|
|
|
- void * (*alloc) (void *base, size_t size);
|
|
|
- void (*free) (void *base, void *obj, size_t size);
|
|
|
- void * (*open) (void *base, void *pos, size_t size); /* open an existing file */
|
|
|
- void (*close) (void *base, void *obj, size_t size);
|
|
|
- ssize_t (*read) (void *base, void *obj, void *buf, off_t offset, size_t size); /* ~= pread */
|
|
|
- ssize_t (*write) (void *base, void *obj, const void *buf, off_t offset, size_t size);
|
|
|
- /* readv, writev, read2d, write2d, etc. */
|
|
|
- void * (*plug) (void *parameter);
|
|
|
- void (*unplug) (void *base);
|
|
|
- int (*copy) (void *base_src, void* obj_src, off_t offset_src, void *base_dst, void* obj_dst, off_t offset_dst, size_t size);
|
|
|
- int (*bandwidth) (unsigned node);
|
|
|
+struct starpu_disk_ops
|
|
|
+{
|
|
|
+ void * (*alloc) (void *base, size_t size);
|
|
|
+ void (*free) (void *base, void *obj, size_t size);
|
|
|
+ void * (*open) (void *base, void *pos, size_t size);
|
|
|
+ void (*close) (void *base, void *obj, size_t size);
|
|
|
+ ssize_t (*read) (void *base, void *obj, void *buf, off_t offset, size_t size);
|
|
|
+ ssize_t (*write) (void *base, void *obj, const void *buf, off_t offset, size_t size);
|
|
|
+ void * (*plug) (void *parameter);
|
|
|
+ void (*unplug) (void *base);
|
|
|
+ int (*copy) (void *base_src, void* obj_src, off_t offset_src, void *base_dst, void* obj_dst, off_t offset_dst, size_t size);
|
|
|
+ int (*bandwidth) (unsigned node);
|
|
|
};
|
|
|
|
|
|
-
|
|
|
/* Posix functions to use disk memory */
|
|
|
extern struct starpu_disk_ops starpu_disk_stdio_ops;
|
|
|
extern struct starpu_disk_ops starpu_disk_unistd_ops;
|
|
|
extern struct starpu_disk_ops starpu_disk_unistd_o_direct_ops;
|
|
|
|
|
|
-/*functions to add an existing memory */
|
|
|
void starpu_disk_close(unsigned node, void *obj, size_t size);
|
|
|
|
|
|
void * starpu_disk_open(unsigned node, void *pos, size_t size);
|
|
|
|
|
|
-/* interface to create and to free a memory disk */
|
|
|
int starpu_disk_register(struct starpu_disk_ops * func, void *parameter, size_t size);
|
|
|
|
|
|
#endif /* __STARPU_DISK_H__ */
|