photon  1.1
photon_rdma_INFO_ledger.h
Go to the documentation of this file.
1 // =============================================================================
2 // Photon RDMA Library (libphoton)
3 //
4 // Copyright (c) 2016, 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_RDMA_INFO_LEDGER_H
15 #define PHOTON_RDMA_INFO_LEDGER_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include "photon_buffer_internal.h"
22 
23 typedef struct photon_ri_ledger_entry_t {
24  volatile uint8_t header;
26  uintptr_t addr;
27  uint64_t size;
28  struct photon_buffer_priv_t priv;
29  uint32_t tag;
30  uint32_t flags;
31  volatile uint8_t footer;
33 
34 typedef struct photon_ri_ledger_t {
35  uint64_t prog;
36  uint64_t curr;
37  uint64_t tail;
38  uint32_t num_entries;
40  struct photon_buffer_t remote;
41  struct photon_acct_t acct;
43 
44 typedef struct photon_ri_ledger_entry_t * photonRILedgerEntry;
45 typedef struct photon_ri_ledger_t * photonRILedger;
46 
47 PHOTON_INTERNAL photonRILedger photon_ri_ledger_create_reuse(photonRILedgerEntry ledger_buffer, int ledger_size, int prefix);
48 PHOTON_INTERNAL void photon_ri_ledger_free(photonRILedger ledger);
49 PHOTON_INTERNAL int photon_ri_ledger_get_next(int proc, photonRILedger ledger);
50 
51 #ifdef __cplusplus
52  extern "C" {
53 #endif
54 
55 #endif
Convenience pointer type for the buffer structure.
Definition: photon.h:105
uintptr_t addr
struct photon_ri_ledger_entry_t * photonRILedgerEntry
PHOTON_INTERNAL photonRILedger photon_ri_ledger_create_reuse(photonRILedgerEntry ledger_buffer, int ledger_size, int prefix)
uint64_t photon_rid
The Photon request ID.
Definition: photon.h:75
struct photon_ri_ledger_t * photonRILedger
photon_rid request
uint64_t size
photon_ri_ledger_entry * entries
PHOTON_INTERNAL void photon_ri_ledger_free(photonRILedger ledger)
#define PHOTON_INTERNAL
uint32_t tag
uint32_t flags
Convenience pointer type for the private buffer structure.
Definition: photon.h:98
volatile uint8_t header
volatile uint8_t footer
PHOTON_INTERNAL int photon_ri_ledger_get_next(int proc, photonRILedger ledger)