Newer
Older
#ifndef IFS_PRELOAD_C_DATA_WS_HPP
#define IFS_PRELOAD_C_DATA_WS_HPP
extern "C" {
#include <abt.h>
#include <abt-snoozer.h>
#include <mercury_types.h>
#include <mercury_proc_string.h>
#include <margo.h>
}
Marc Vef
committed
#include <global/rpc/rpc_types.hpp>
// XXX these two structs can be merged. How to deal with const void* then?
struct write_args {
std::shared_ptr<std::string> path;
size_t in_size;
off_t in_offset;
const void* buf;
std::vector<unsigned long>* chnk_ids;
struct read_args {
std::shared_ptr<std::string> path;
size_t in_size;
off_t in_offset;
void* buf;
Marc Vef
committed
size_t chnk_start;
std::vector<unsigned long>* chnk_ids;
void rpc_send_write_abt(void* _arg);
void rpc_send_read_abt(void* _arg);
#endif //IFS_PRELOAD_C_DATA_WS_HPP