photon  1.1
photon_buffer.h
Go to the documentation of this file.
1 // =============================================================================
2 // Photon RDMA Library (libphoton)
3 //
4 // Copyright (c) 2017, Trustees of Indiana University,
5 // All rights reserved.
6 //
7 // This software may be modified and distributed under the terms of the BSD
8 // license. See the COPYING file for details.
9 //
10 // This software was created at the Indiana University Center for Research in
11 // Extreme Scale Technologies (CREST).
12 // =============================================================================
13 
14 #ifndef PHOTON_BUFFER_H
15 #define PHOTON_BUFFER_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
28 
31 
38 int photon_register_buffer(void *addr, uint64_t size);
39 
47 int photon_unregister_buffer(void *addr, uint64_t size);
48 
57 int photon_get_buffer_private(void *addr, uint64_t size, const struct photon_buffer_priv_t **pptr);
58 
66 int photon_get_buffer_remote(photon_rid request, photonBuffer ret_buf);
67 
69 
70 #ifdef __cplusplus
71 }
72 #endif
73 
74 #endif
uint64_t photon_rid
The Photon request ID.
Definition: photon.h:75
int photon_unregister_buffer(void *addr, uint64_t size)
Definition: libphoton.c:374
uint64_t size
The size of the buffer in bytes.
Definition: photon.h:107
int photon_get_buffer_remote(photon_rid request, photonBuffer ret_buf)
Definition: libphoton.c:591
int photon_register_buffer(void *addr, uint64_t size)
Definition: libphoton.c:370
Convenience pointer type for the private buffer structure.
Definition: photon.h:98
int photon_get_buffer_private(void *addr, uint64_t size, const struct photon_buffer_priv_t **pptr)
Definition: libphoton.c:585
uintptr_t addr
The base address of the buffer.
Definition: photon.h:106