kim-api  2.1.4-git+v2.1.3-git-1-g7847914a.GNU
An Application Programming Interface (API) for the Knowledgebase of Interatomic Models (KIM).
KIM_ComputeArguments.h
Go to the documentation of this file.
1 /* */
2 /* CDDL HEADER START */
3 /* */
4 /* The contents of this file are subject to the terms of the Common */
5 /* Development and Distribution License Version 1.0 (the "License"). */
6 /* */
7 /* You can obtain a copy of the license at */
8 /* http://www.opensource.org/licenses/CDDL-1.0. See the License for the */
9 /* specific language governing permissions and limitations under the License. */
10 /* */
11 /* When distributing Covered Code, include this CDDL HEADER in each file and */
12 /* include the License file in a prominent location with the name */
13 /* LICENSE.CDDL. */
14 /* If applicable, add the following below this CDDL HEADER, with the fields */
15 /* enclosed by brackets "[]" replaced with your own identifying information: */
16 /* */
17 /* Portions Copyright (c) [yyyy] [name of copyright owner]. */
18 /* All rights reserved. */
19 /* */
20 /* CDDL HEADER END */
21 /* */
22 
23 /* */
24 /* Copyright (c) 2016--2019, Regents of the University of Minnesota. */
25 /* All rights reserved. */
26 /* */
27 /* Contributors: */
28 /* Ryan S. Elliott */
29 /* */
30 
31 /* */
32 /* Release: This file is part of the kim-api.git repository. */
33 /* */
34 
35 
36 #ifndef KIM_COMPUTE_ARGUMENTS_H_
37 #define KIM_COMPUTE_ARGUMENTS_H_
38 
39 #ifndef KIM_FUNCTION_TYPES_H_
40 #include "KIM_FunctionTypes.h" /* IWYU pragma: export */
41 #endif
42 
43 /* Forward declarations */
44 #ifndef KIM_LOG_VERBOSITY_DEFINED_
45 #define KIM_LOG_VERBOSITY_DEFINED_
46 
52 #endif
53 
54 #ifndef KIM_LANGUAGE_NAME_DEFINED_
55 #define KIM_LANGUAGE_NAME_DEFINED_
56 
62 #endif
63 
64 #ifndef KIM_COMPUTE_ARGUMENT_NAME_DEFINED_
65 #define KIM_COMPUTE_ARGUMENT_NAME_DEFINED_
66 
72 #endif
73 
74 #ifndef KIM_COMPUTE_CALLBACK_NAME_DEFINED_
75 #define KIM_COMPUTE_CALLBACK_NAME_DEFINED_
76 
82 #endif
83 
84 #ifndef KIM_SUPPORT_STATUS_DEFINED_
85 #define KIM_SUPPORT_STATUS_DEFINED_
86 
92 #endif
93 
94 
95 #ifndef KIM_COMPUTE_ARGUMENTS_DEFINED_
96 #define KIM_COMPUTE_ARGUMENTS_DEFINED_
97 
106 #endif
107 
117  KIM_ComputeArguments const * const computeArguments,
118  KIM_ComputeArgumentName const computeArgumentName,
119  KIM_SupportStatus * const supportStatus);
120 
130  KIM_ComputeArguments const * const computeArguments,
131  KIM_ComputeCallbackName const computeCallbackName,
132  KIM_SupportStatus * const supportStatus);
133 
143  KIM_ComputeArguments * const computeArguments,
144  KIM_ComputeArgumentName const computeArgumentName,
145  int const * const ptr);
146 
156  KIM_ComputeArguments * const computeArguments,
157  KIM_ComputeArgumentName const computeArgumentName,
158  double const * const ptr);
159 
169  KIM_ComputeArguments * const computeArguments,
170  KIM_ComputeCallbackName const computeCallbackName,
171  KIM_LanguageName const languageName,
172  KIM_Function * const fptr,
173  void * const dataObject);
174 
185  KIM_ComputeArguments const * const computeArguments, int * const result);
186 
196  KIM_ComputeArguments * const computeArguments, void * const ptr);
197 
207  KIM_ComputeArguments const * const computeArguments, void ** const ptr);
208 
217 char const * KIM_ComputeArguments_ToString(
218  KIM_ComputeArguments const * const computeArguments);
219 
229  KIM_ComputeArguments * const computeArguments, char const * const logID);
230 
240  KIM_ComputeArguments * const computeArguments,
241  KIM_LogVerbosity const logVerbosity);
242 
252  KIM_ComputeArguments * const computeArguments);
253 
254 #endif /* KIM_COMPUTE_ARGUMENTS_H_ */
struct KIM_ComputeArguments KIM_ComputeArguments
Provides the primary interface to a KIM API ComputeArguments object and is meant to be used by simula...
void KIM_ComputeArguments_PopLogVerbosity(KIM_ComputeArguments *const computeArguments)
Pop a LogVerbosity from the ComputeArguments object's Log object verbosity stack. ...
void KIM_ComputeArguments_PushLogVerbosity(KIM_ComputeArguments *const computeArguments, KIM_LogVerbosity const logVerbosity)
Push a new LogVerbosity onto the ComputeArguments object's Log object verbosity stack.
int KIM_ComputeArguments_GetCallbackSupportStatus(KIM_ComputeArguments const *const computeArguments, KIM_ComputeCallbackName const computeCallbackName, KIM_SupportStatus *const supportStatus)
Get the SupportStatus of a ComputeCallbackName.
void KIM_ComputeArguments_GetSimulatorBufferPointer(KIM_ComputeArguments const *const computeArguments, void **const ptr)
Get the Simulator's buffer pointer from the ComputeArguments object.
void() KIM_Function(void)
Generic function type.
An Extensible Enumeration for the ComputeArgumentName's supported by the KIM API. ...
char const * KIM_ComputeArguments_ToString(KIM_ComputeArguments const *const computeArguments)
Get a string representing the internal state of the ComputeArguments object.
An Extensible Enumeration for the SupportStatus's supported by the KIM API.
int KIM_ComputeArguments_SetArgumentPointerInteger(KIM_ComputeArguments *const computeArguments, KIM_ComputeArgumentName const computeArgumentName, int const *const ptr)
Set the data pointer for a ComputeArgumentName.
void KIM_ComputeArguments_AreAllRequiredArgumentsAndCallbacksPresent(KIM_ComputeArguments const *const computeArguments, int *const result)
Determine if non-NULL pointers have been set for all ComputeArgumentName's and ComputeCallbackName's ...
int KIM_ComputeArguments_SetCallbackPointer(KIM_ComputeArguments *const computeArguments, KIM_ComputeCallbackName const computeCallbackName, KIM_LanguageName const languageName, KIM_Function *const fptr, void *const dataObject)
Set the function pointer for a ComputeCallbackName.
An Extensible Enumeration for the LanguageName's supported by the KIM API.
void KIM_ComputeArguments_SetLogID(KIM_ComputeArguments *const computeArguments, char const *const logID)
Set the identity of the Log object associated with the ComputeArguments object.
An Extensible Enumeration for the LogVerbosity's supported by the KIM API.
int KIM_ComputeArguments_SetArgumentPointerDouble(KIM_ComputeArguments *const computeArguments, KIM_ComputeArgumentName const computeArgumentName, double const *const ptr)
Set the data pointer for a ComputeArgumentName.
An Extensible Enumeration for the ComputeCallbackName's supported by the KIM API. ...
void KIM_ComputeArguments_SetSimulatorBufferPointer(KIM_ComputeArguments *const computeArguments, void *const ptr)
Set the Simulator's buffer pointer within the ComputeArguments object.
int KIM_ComputeArguments_GetArgumentSupportStatus(KIM_ComputeArguments const *const computeArguments, KIM_ComputeArgumentName const computeArgumentName, KIM_SupportStatus *const supportStatus)
Get the SupportStatus of a ComputeArgumentName.