photon  1.1
libphoton.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 LIBPHOTON_H
15 #define LIBPHOTON_H
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 #include <stdint.h>
22 #include <pthread.h>
23 #include "config.h"
24 #include "photon.h"
25 #include "photon_io.h"
26 
27 /* forward declarations */
28 typedef struct photon_backend_t * photonBackend;
29 typedef struct photon_forwarder_t * photonForwarder;
30 
31 /* Global config for the library */
32 extern photonConfig __photon_config;
33 extern photonBackend __photon_shmem;
34 extern photonBackend __photon_fabric;
35 extern photonForwarder __photon_forwarder;
36 
37 extern int _LEDGER_SIZE;
38 extern int _photon_myrank;
39 extern int _photon_nproc;
40 extern int _photon_nforw;
41 extern int _photon_fproc;
42 extern int _photon_ebsize;
43 extern int _photon_pbsize;
44 extern int _photon_smsize;
45 extern int _photon_spsize;
46 extern int _photon_upsize;
47 extern int _photon_idsize;
48 extern int _forwarder;
49 
50 #ifdef ENABLE_DEBUG
51 /* defined in util.c */
52 PHOTON_INTERNAL time_t _tictoc(time_t stime, int proc);
53 #endif
54 
55 #ifdef __cplusplus
56 }
57 #endif
58 
59 #endif
int _photon_myrank
Definition: libphoton.c:54
photonBackend __photon_fabric
Definition: libphoton.c:50
photonForwarder __photon_forwarder
Definition: libphoton.c:51
int _LEDGER_SIZE
Definition: libphoton.c:53
photonBackend __photon_shmem
Definition: libphoton.c:49
struct photon_forwarder_t * photonForwarder
Definition: libphoton.h:29
photonConfig __photon_config
Definition: libphoton.c:48
int _photon_nproc
Definition: libphoton.c:55
int _photon_spsize
Definition: libphoton.c:62
int _photon_fproc
Definition: libphoton.c:57
#define PHOTON_INTERNAL
int _photon_smsize
Definition: libphoton.c:60
int _forwarder
Definition: libphoton.c:64
int _photon_upsize
Definition: libphoton.c:61
Constants and macros for interacting with the library. Only this header is needed to use the Photon A...
int _photon_ebsize
Definition: libphoton.c:58
int _photon_idsize
Definition: libphoton.c:63
int _photon_pbsize
Definition: libphoton.c:59
int _photon_nforw
Definition: libphoton.c:56