1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /* Copyright 2016-2020, Intel Corporation */
5 * rpmemd_fip.h -- rpmemd libfabric provider module header file
12 struct rpmemd_fip_attr
{
18 enum rpmem_provider provider
;
19 enum rpmem_persist_method persist_method
;
20 int (*persist
)(const void *addr
, size_t len
);
21 void *(*memcpy_persist
)(void *pmemdest
, const void *src
, size_t len
);
22 int (*deep_persist
)(const void *addr
, size_t len
, void *ctx
);
26 struct rpmemd_fip
*rpmemd_fip_init(const char *node
,
28 struct rpmemd_fip_attr
*attr
,
29 struct rpmem_resp_attr
*resp
,
31 void rpmemd_fip_fini(struct rpmemd_fip
*fip
);
33 int rpmemd_fip_accept(struct rpmemd_fip
*fip
, int timeout
);
34 int rpmemd_fip_process_start(struct rpmemd_fip
*fip
);
35 int rpmemd_fip_process_stop(struct rpmemd_fip
*fip
);
36 int rpmemd_fip_wait_close(struct rpmemd_fip
*fip
, int timeout
);
37 int rpmemd_fip_close(struct rpmemd_fip
*fip
);