helics  3.3.0
api-data.h
Go to the documentation of this file.
1 /*
2 Copyright (c) 2017-2022,
3 Battelle Memorial Institute; Lawrence Livermore National Security, LLC; Alliance for Sustainable Energy, LLC. See the top-level NOTICE for
4 additional details. All rights reserved.
5 SPDX-License-Identifier: BSD-3-Clause
6 */
7 
8 #ifndef HELICS_API_DATA_H_
9 #define HELICS_API_DATA_H_
10 
16 #include "../helics_enums.h"
17 
18 #include <stdint.h>
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
26 typedef void* HelicsInput;
27 // typedef void* helics_input;
31 typedef void* HelicsPublication;
32 // typedef void* helics_publication;
36 // typedef void* helics_endpoint;
37 typedef void* HelicsEndpoint;
38 
42 // typedef void* helics_filter;
43 typedef void* HelicsFilter;
44 
48 typedef void* HelicsTranslator;
49 
53 // typedef void* helics_core;
54 typedef void* HelicsCore;
55 
59 // typedef void* helics_broker;
60 typedef void* HelicsBroker;
64 // typedef void* helics_federate;
65 typedef void* HelicsFederate;
66 
70 // typedef void* helics_federate_info;
71 typedef void* HelicsFederateInfo;
72 
76 // typedef void* helics_query;
77 typedef void* HelicsQuery;
78 
82 typedef void* HelicsDataBuffer;
83 
87 // typedef void* helics_query_buffer;
88 typedef void* HelicsQueryBuffer;
89 
93 // typedef void* helics_message;
94 typedef void* HelicsMessage;
95 
99 // typedef double helics_time;
100 typedef double HelicsTime;
101 
104 const HelicsTime HELICS_TIME_INVALID = -1.785e39;
105 const HelicsTime HELICS_TIME_MAXTIME = HELICS_BIG_NUMBER;
111 // typedef int helics_bool;
112 typedef int HelicsBool;
113 
120 typedef enum {
125 
129 typedef enum {
135 
139 typedef enum {
140  HELICS_STATE_UNKNOWN = -1,
146  /* the following states are for asynchronous operations */
154 
158 typedef struct HelicsComplex {
159  double real;
160  double imag;
161 } HelicsComplex;
162 
169 typedef struct HelicsError {
170  int32_t error_code;
171  const char* message;
172 } HelicsError;
173 
174 // typedef helics_error HelicsError;
175 
176 #ifdef __cplusplus
177 } /* end of extern "C" { */
178 #endif
179 
180 #endif
HelicsTime
double HelicsTime
Definition: api-data.h:100
HELICS_STATE_PENDING_FINALIZE
@ HELICS_STATE_PENDING_FINALIZE
Definition: api-data.h:151
HELICS_FALSE
const HelicsBool HELICS_FALSE
Definition: api-data.h:115
HELICS_TRUE
const HelicsBool HELICS_TRUE
Definition: api-data.h:114
HELICS_STATE_FINALIZE
@ HELICS_STATE_FINALIZE
Definition: api-data.h:144
HelicsError::message
const char * message
Definition: api-data.h:171
HelicsFederate
void * HelicsFederate
Definition: api-data.h:65
HELICS_ITERATION_REQUEST_FORCE_ITERATION
@ HELICS_ITERATION_REQUEST_FORCE_ITERATION
Definition: api-data.h:122
HelicsQueryBuffer
void * HelicsQueryBuffer
Definition: api-data.h:88
HelicsInput
void * HelicsInput
Definition: api-data.h:26
HELICS_TIME_INVALID
const HelicsTime HELICS_TIME_INVALID
Definition: api-data.h:104
HELICS_STATE_PENDING_INIT
@ HELICS_STATE_PENDING_INIT
Definition: api-data.h:147
HELICS_STATE_PENDING_EXEC
@ HELICS_STATE_PENDING_EXEC
Definition: api-data.h:148
HELICS_STATE_STARTUP
@ HELICS_STATE_STARTUP
Definition: api-data.h:141
HelicsComplex
Definition: api-data.h:158
HelicsFederateInfo
void * HelicsFederateInfo
Definition: api-data.h:71
HELICS_STATE_EXECUTION
@ HELICS_STATE_EXECUTION
Definition: api-data.h:143
HelicsBroker
void * HelicsBroker
Definition: api-data.h:60
HelicsFilter
void * HelicsFilter
Definition: api-data.h:43
HELICS_TIME_EPSILON
const HelicsTime HELICS_TIME_EPSILON
Definition: api-data.h:103
HelicsEndpoint
void * HelicsEndpoint
Definition: api-data.h:37
HELICS_STATE_PENDING_ITERATIVE_TIME
@ HELICS_STATE_PENDING_ITERATIVE_TIME
Definition: api-data.h:150
HELICS_ITERATION_RESULT_ERROR
@ HELICS_ITERATION_RESULT_ERROR
Definition: api-data.h:131
HelicsMessage
void * HelicsMessage
Definition: api-data.h:94
HELICS_ITERATION_RESULT_ITERATING
@ HELICS_ITERATION_RESULT_ITERATING
Definition: api-data.h:133
HelicsFederateState
HelicsFederateState
Definition: api-data.h:139
HELICS_ITERATION_REQUEST_NO_ITERATION
@ HELICS_ITERATION_REQUEST_NO_ITERATION
Definition: api-data.h:121
HelicsTranslator
void * HelicsTranslator
Definition: api-data.h:48
HelicsError
Definition: api-data.h:169
HELICS_TIME_MAXTIME
const HelicsTime HELICS_TIME_MAXTIME
Definition: api-data.h:105
HelicsIterationResult
HelicsIterationResult
Definition: api-data.h:129
HelicsPublication
void * HelicsPublication
Definition: api-data.h:31
HelicsCore
void * HelicsCore
Definition: api-data.h:54
HELICS_STATE_ERROR
@ HELICS_STATE_ERROR
Definition: api-data.h:145
HELICS_STATE_FINISHED
@ HELICS_STATE_FINISHED
Definition: api-data.h:152
HELICS_STATE_PENDING_TIME
@ HELICS_STATE_PENDING_TIME
Definition: api-data.h:149
HELICS_ITERATION_RESULT_NEXT_STEP
@ HELICS_ITERATION_RESULT_NEXT_STEP
Definition: api-data.h:130
HelicsComplex
struct HelicsComplex HelicsComplex
HelicsQuery
void * HelicsQuery
Definition: api-data.h:77
HELICS_ITERATION_RESULT_HALTED
@ HELICS_ITERATION_RESULT_HALTED
Definition: api-data.h:132
HelicsError
struct HelicsError HelicsError
HelicsError::error_code
int32_t error_code
Definition: api-data.h:170
HELICS_TIME_ZERO
const HelicsTime HELICS_TIME_ZERO
Definition: api-data.h:102
HELICS_STATE_INITIALIZATION
@ HELICS_STATE_INITIALIZATION
Definition: api-data.h:142
HelicsDataBuffer
void * HelicsDataBuffer
Definition: api-data.h:82
HelicsBool
int HelicsBool
Definition: api-data.h:112
HelicsIterationRequest
HelicsIterationRequest
Definition: api-data.h:120
HELICS_ITERATION_REQUEST_ITERATE_IF_NEEDED
@ HELICS_ITERATION_REQUEST_ITERATE_IF_NEEDED
Definition: api-data.h:123