photon  1.1
Data Structures
photon.h File Reference

Constants and macros for interacting with the library. Only this header is needed to use the Photon API; all other photon headers are included through it. More...

#include <stdint.h>
#include "photon_attributes.h"
#include "photon_buffer.h"
#include "photon_collectives.h"
#include "photon_rndv.h"
#include "photon_wc.h"
#include "photon_ud.h"
#include "photon_atomics.h"
#include "photon_config.h"
#include "photon_main.h"

Go to the source code of this file.

Data Structures

union  photon_addr
 
struct  photon_cid
 The Photon completion ID used by the PWC API. More...
 
struct  photonStatus
 Status for Photon requests returned by the RNDV API. More...
 
struct  photonBufferPriv
 Convenience pointer type for the private buffer structure. More...
 
struct  photonBuffer
 Convenience pointer type for the buffer structure. More...
 
#define PHOTON_OK   0x0000
 Photon success code. More...
 
#define PHOTON_ERROR_NOINIT   0x0001
 Error code, subsystem not initialized. More...
 
#define PHOTON_ERROR   0x0002
 Error code, general error. More...
 
#define PHOTON_ERROR_RESOURCE   0x0004
 Error code, resource not available. More...
 
#define PHOTON_EXCH_TCP   0x0000
 Use TCP sockets for metadata exchange. More...
 
#define PHOTON_EXCH_MPI   0x0001
 Use MPI for metadata exchange. More...
 
#define PHOTON_EXCH_PMI   0x0002
 Use PMI for metadata exchange. More...
 
#define PHOTON_EXCH_XSP   0x0004
 Use XSP for metadata exchange. More...
 
#define PHOTON_EXCH_EXTERNAL   0x0008
 Use externally defined functions for metadata exchange. More...
 
#define PHOTON_REQ_NIL   0x0000
 A reserved NIL/NULL request ID. More...
 
#define PHOTON_REQ_COMPLETED   0x0001
 RNDV flag: explitily set a request completed for FIN. More...
 
#define PHOTON_REQ_PWC_NO_LCE   0x0002
 PWC flag: probe will not return a local completion ID. More...
 
#define PHOTON_REQ_PWC_NO_RCE   0x0004
 PWC flag: do not send a remote completion ID. More...
 
#define PHOTON_REQ_SHUTDOWN   0x0008
 CANCEL flag: clear all outstanding requests. More...
 
#define PHOTON_PROBE_ANY   0xffff
 PWC probe flag: return any completion IDs. More...
 
#define PHOTON_PROBE_EVQ   0x0001
 PWC probe flag: return only local (event queue) IDs. More...
 
#define PHOTON_PROBE_LEDGER   0x0002
 PWC probe flag: return only ledger completion IDs. More...
 
#define PHOTON_PROBE_SLEDGER   0x0004
 RNDV probe flag: return SEND ledger completion IDs. More...
 
#define PHOTON_PROBE_RLEDGER   0x0008
 RNDV probe flag: return RECV ledger completion IDs. More...
 
#define PHOTON_ANY_TAG   -1
 RNDV flag: return any tags. More...
 
#define PHOTON_ANY_SOURCE   -1
 RNDV and PWC flag: return completions from any source. More...
 
#define PHOTON_ANY_SIZE   -1
 RNDV flag: return completions of any size. More...
 
typedef uint64_t photon_rid
 The Photon request ID. More...
 
typedef union photon_addr_t * photonAddr
 Convenience pointer type for the address union. More...
 

Detailed Description

Constants and macros for interacting with the library. Only this header is needed to use the Photon API; all other photon headers are included through it.

Definition in file photon.h.

Macro Definition Documentation

◆ PHOTON_ANY_SIZE

#define PHOTON_ANY_SIZE   -1

RNDV flag: return completions of any size.

Definition at line 55 of file photon.h.

◆ PHOTON_ANY_SOURCE

#define PHOTON_ANY_SOURCE   -1

RNDV and PWC flag: return completions from any source.

Definition at line 54 of file photon.h.

◆ PHOTON_ANY_TAG

#define PHOTON_ANY_TAG   -1

RNDV flag: return any tags.

Definition at line 53 of file photon.h.

◆ PHOTON_ERROR

#define PHOTON_ERROR   0x0002

Error code, general error.

Definition at line 32 of file photon.h.

◆ PHOTON_ERROR_NOINIT

#define PHOTON_ERROR_NOINIT   0x0001

Error code, subsystem not initialized.

Definition at line 31 of file photon.h.

◆ PHOTON_ERROR_RESOURCE

#define PHOTON_ERROR_RESOURCE   0x0004

Error code, resource not available.

Definition at line 33 of file photon.h.

◆ PHOTON_EXCH_EXTERNAL

#define PHOTON_EXCH_EXTERNAL   0x0008

Use externally defined functions for metadata exchange.

Definition at line 39 of file photon.h.

◆ PHOTON_EXCH_MPI

#define PHOTON_EXCH_MPI   0x0001

Use MPI for metadata exchange.

Definition at line 36 of file photon.h.

◆ PHOTON_EXCH_PMI

#define PHOTON_EXCH_PMI   0x0002

Use PMI for metadata exchange.

Definition at line 37 of file photon.h.

◆ PHOTON_EXCH_TCP

#define PHOTON_EXCH_TCP   0x0000

Use TCP sockets for metadata exchange.

Definition at line 35 of file photon.h.

◆ PHOTON_EXCH_XSP

#define PHOTON_EXCH_XSP   0x0004

Use XSP for metadata exchange.

Definition at line 38 of file photon.h.

◆ PHOTON_OK

#define PHOTON_OK   0x0000

Photon success code.

Definition at line 30 of file photon.h.

◆ PHOTON_PROBE_ANY

#define PHOTON_PROBE_ANY   0xffff

PWC probe flag: return any completion IDs.

Definition at line 47 of file photon.h.

◆ PHOTON_PROBE_EVQ

#define PHOTON_PROBE_EVQ   0x0001

PWC probe flag: return only local (event queue) IDs.

Definition at line 48 of file photon.h.

◆ PHOTON_PROBE_LEDGER

#define PHOTON_PROBE_LEDGER   0x0002

PWC probe flag: return only ledger completion IDs.

Definition at line 49 of file photon.h.

◆ PHOTON_PROBE_RLEDGER

#define PHOTON_PROBE_RLEDGER   0x0008

RNDV probe flag: return RECV ledger completion IDs.

Definition at line 51 of file photon.h.

◆ PHOTON_PROBE_SLEDGER

#define PHOTON_PROBE_SLEDGER   0x0004

RNDV probe flag: return SEND ledger completion IDs.

Definition at line 50 of file photon.h.

◆ PHOTON_REQ_COMPLETED

#define PHOTON_REQ_COMPLETED   0x0001

RNDV flag: explitily set a request completed for FIN.

Definition at line 42 of file photon.h.

◆ PHOTON_REQ_NIL

#define PHOTON_REQ_NIL   0x0000

A reserved NIL/NULL request ID.

Definition at line 41 of file photon.h.

◆ PHOTON_REQ_PWC_NO_LCE

#define PHOTON_REQ_PWC_NO_LCE   0x0002

PWC flag: probe will not return a local completion ID.

Definition at line 43 of file photon.h.

◆ PHOTON_REQ_PWC_NO_RCE

#define PHOTON_REQ_PWC_NO_RCE   0x0004

PWC flag: do not send a remote completion ID.

Definition at line 44 of file photon.h.

◆ PHOTON_REQ_SHUTDOWN

#define PHOTON_REQ_SHUTDOWN   0x0008

CANCEL flag: clear all outstanding requests.

Definition at line 45 of file photon.h.

Typedef Documentation

◆ photon_rid

typedef uint64_t photon_rid

The Photon request ID.

Definition at line 75 of file photon.h.

◆ photonAddr

typedef union photon_addr_t* photonAddr

Convenience pointer type for the address union.

Definition at line 112 of file photon.h.