| 
| typedef enum ONNXTensorElementDataType  | ONNXTensorElementDataType | 
|   | 
| typedef enum ONNXType  | ONNXType | 
|   | 
| typedef enum OrtSparseFormat  | OrtSparseFormat | 
|   | 
| typedef enum OrtLoggingLevel  | OrtLoggingLevel | 
|   | Logging severity levels.  
  | 
|   | 
| typedef enum OrtErrorCode  | OrtErrorCode | 
|   | 
| typedef enum OrtOpAttrType  | OrtOpAttrType | 
|   | 
| typedef struct OrtEnv  | OrtEnv | 
|   | 
| typedef struct OrtStatus  | OrtStatus | 
|   | 
| typedef struct OrtMemoryInfo  | OrtMemoryInfo | 
|   | 
| typedef struct OrtIoBinding  | OrtIoBinding | 
|   | 
| typedef struct OrtSession  | OrtSession | 
|   | 
| typedef struct OrtValue  | OrtValue | 
|   | 
| typedef struct OrtRunOptions  | OrtRunOptions | 
|   | 
| typedef struct OrtTypeInfo  | OrtTypeInfo | 
|   | 
| typedef struct OrtTensorTypeAndShapeInfo  | OrtTensorTypeAndShapeInfo | 
|   | 
| typedef struct OrtMapTypeInfo  | OrtMapTypeInfo | 
|   | 
| typedef struct OrtSequenceTypeInfo  | OrtSequenceTypeInfo | 
|   | 
| typedef struct OrtOptionalTypeInfo  | OrtOptionalTypeInfo | 
|   | 
| typedef struct OrtSessionOptions  | OrtSessionOptions | 
|   | 
| typedef struct OrtCustomOpDomain  | OrtCustomOpDomain | 
|   | 
| typedef struct OrtModelMetadata  | OrtModelMetadata | 
|   | 
| typedef struct OrtThreadPoolParams  | OrtThreadPoolParams | 
|   | 
| typedef struct OrtThreadingOptions  | OrtThreadingOptions | 
|   | 
| typedef struct OrtArenaCfg  | OrtArenaCfg | 
|   | 
| typedef struct OrtPrepackedWeightsContainer  | OrtPrepackedWeightsContainer | 
|   | 
| typedef struct OrtTensorRTProviderOptionsV2  | OrtTensorRTProviderOptionsV2 | 
|   | 
| typedef struct OrtCUDAProviderOptionsV2  | OrtCUDAProviderOptionsV2 | 
|   | 
| typedef struct OrtCANNProviderOptions  | OrtCANNProviderOptions | 
|   | 
| typedef struct OrtDnnlProviderOptions  | OrtDnnlProviderOptions | 
|   | 
| typedef struct OrtOp  | OrtOp | 
|   | 
| typedef struct OrtOpAttr  | OrtOpAttr | 
|   | 
| typedef struct OrtLogger  | OrtLogger | 
|   | 
| typedef struct OrtShapeInferContext  | OrtShapeInferContext | 
|   | 
| typedef OrtStatus *  | OrtStatusPtr | 
|   | 
| typedef struct OrtAllocator  | OrtAllocator | 
|   | Memory allocation interface.  
  | 
|   | 
| typedef void(*  | OrtLoggingFunction) (void *param, OrtLoggingLevel severity, const char *category, const char *logid, const char *code_location, const char *message) | 
|   | 
| typedef enum GraphOptimizationLevel  | GraphOptimizationLevel | 
|   | Graph optimization level.  
  | 
|   | 
| typedef enum ExecutionMode  | ExecutionMode | 
|   | 
| typedef enum OrtLanguageProjection  | OrtLanguageProjection | 
|   | Language projection identifiers /see OrtApi::SetLanguageProjection.  
  | 
|   | 
| typedef struct OrtKernelInfo  | OrtKernelInfo | 
|   | 
| typedef struct OrtKernelContext  | OrtKernelContext | 
|   | 
| typedef struct OrtCustomOp  | OrtCustomOp | 
|   | 
| typedef enum OrtAllocatorType  | OrtAllocatorType | 
|   | 
| typedef enum OrtMemType  | OrtMemType | 
|   | Memory types for allocated memory, execution provider specific types should be extended in each provider.  
  | 
|   | 
| typedef enum OrtMemoryInfoDeviceType  | OrtMemoryInfoDeviceType | 
|   | This mimics OrtDevice type constants so they can be returned in the API.  
  | 
|   | 
| typedef enum OrtCudnnConvAlgoSearch  | OrtCudnnConvAlgoSearch | 
|   | Algorithm to use for cuDNN Convolution Op.  
  | 
|   | 
| typedef struct OrtCUDAProviderOptions  | OrtCUDAProviderOptions | 
|   | CUDA Provider Options.  
  | 
|   | 
| typedef struct OrtROCMProviderOptions  | OrtROCMProviderOptions | 
|   | ROCM Provider Options.  
  | 
|   | 
| typedef struct OrtTensorRTProviderOptions  | OrtTensorRTProviderOptions | 
|   | TensorRT Provider Options.  
  | 
|   | 
| typedef struct OrtMIGraphXProviderOptions  | OrtMIGraphXProviderOptions | 
|   | MIGraphX Provider Options.  
  | 
|   | 
| typedef struct OrtOpenVINOProviderOptions  | OrtOpenVINOProviderOptions | 
|   | OpenVINO Provider Options.  
  | 
|   | 
| typedef struct OrtApi  | OrtApi | 
|   | 
| typedef struct OrtTrainingApi  | OrtTrainingApi | 
|   | 
| typedef struct OrtApiBase  | OrtApiBase | 
|   | 
| typedef void(*  | OrtThreadWorkerFn) (void *ort_worker_fn_param) | 
|   | Thread work loop function.  
  | 
|   | 
| typedef const struct OrtCustomHandleType *  | OrtCustomThreadHandle | 
|   | 
| typedef OrtCustomThreadHandle(*  | OrtCustomCreateThreadFn) (void *ort_custom_thread_creation_options, OrtThreadWorkerFn ort_thread_worker_fn, void *ort_worker_fn_param) | 
|   | Ort custom thread creation function.  
  | 
|   | 
| typedef void(*  | OrtCustomJoinThreadFn) (OrtCustomThreadHandle ort_custom_thread_handle) | 
|   | Custom thread join function.  
  | 
|   | 
| typedef OrtStatus *(*  | RegisterCustomOpsFn) (OrtSessionOptions *options, const OrtApiBase *api) | 
|   | 
| typedef void(*  | RunAsyncCallbackFn) (void *user_data, OrtValue **outputs, size_t num_outputs, OrtStatusPtr status) | 
|   | Callback function for RunAsync.  
  | 
|   | 
| typedef enum OrtCustomOpInputOutputCharacteristic  | OrtCustomOpInputOutputCharacteristic | 
|   | 
 | 
| enum   | ONNXTensorElementDataType {  
  ONNX_TENSOR_ELEMENT_DATA_TYPE_UNDEFINED
, ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT
, ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT8
, ONNX_TENSOR_ELEMENT_DATA_TYPE_INT8
,  
  ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT16
, ONNX_TENSOR_ELEMENT_DATA_TYPE_INT16
, ONNX_TENSOR_ELEMENT_DATA_TYPE_INT32
, ONNX_TENSOR_ELEMENT_DATA_TYPE_INT64
,  
  ONNX_TENSOR_ELEMENT_DATA_TYPE_STRING
, ONNX_TENSOR_ELEMENT_DATA_TYPE_BOOL
, ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT16
, ONNX_TENSOR_ELEMENT_DATA_TYPE_DOUBLE
,  
  ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT32
, ONNX_TENSOR_ELEMENT_DATA_TYPE_UINT64
, ONNX_TENSOR_ELEMENT_DATA_TYPE_COMPLEX64
, ONNX_TENSOR_ELEMENT_DATA_TYPE_COMPLEX128
,  
  ONNX_TENSOR_ELEMENT_DATA_TYPE_BFLOAT16
, ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT8E4M3FN
, ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT8E4M3FNUZ
, ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT8E5M2
,  
  ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT8E5M2FNUZ
 
 } | 
|   | 
| enum   | ONNXType {  
  ONNX_TYPE_UNKNOWN
, ONNX_TYPE_TENSOR
, ONNX_TYPE_SEQUENCE
, ONNX_TYPE_MAP
,  
  ONNX_TYPE_OPAQUE
, ONNX_TYPE_SPARSETENSOR
, ONNX_TYPE_OPTIONAL
 
 } | 
|   | 
| enum   | OrtSparseFormat { ORT_SPARSE_UNDEFINED = 0
, ORT_SPARSE_COO = 0x1
, ORT_SPARSE_CSRC = 0x2
, ORT_SPARSE_BLOCK_SPARSE = 0x4
 } | 
|   | 
| enum   | OrtSparseIndicesFormat { ORT_SPARSE_COO_INDICES
, ORT_SPARSE_CSR_INNER_INDICES
, ORT_SPARSE_CSR_OUTER_INDICES
, ORT_SPARSE_BLOCK_SPARSE_INDICES
 } | 
|   | 
| enum   | OrtLoggingLevel {  
  ORT_LOGGING_LEVEL_VERBOSE
, ORT_LOGGING_LEVEL_INFO
, ORT_LOGGING_LEVEL_WARNING
, ORT_LOGGING_LEVEL_ERROR
,  
  ORT_LOGGING_LEVEL_FATAL
 
 } | 
|   | Logging severity levels.  More...
  | 
|   | 
| enum   | OrtErrorCode {  
  ORT_OK
, ORT_FAIL
, ORT_INVALID_ARGUMENT
, ORT_NO_SUCHFILE
,  
  ORT_NO_MODEL
, ORT_ENGINE_ERROR
, ORT_RUNTIME_EXCEPTION
, ORT_INVALID_PROTOBUF
,  
  ORT_MODEL_LOADED
, ORT_NOT_IMPLEMENTED
, ORT_INVALID_GRAPH
, ORT_EP_FAIL
 
 } | 
|   | 
| enum   | OrtOpAttrType {  
  ORT_OP_ATTR_UNDEFINED = 0
, ORT_OP_ATTR_INT
, ORT_OP_ATTR_INTS
, ORT_OP_ATTR_FLOAT
,  
  ORT_OP_ATTR_FLOATS
, ORT_OP_ATTR_STRING
, ORT_OP_ATTR_STRINGS
 
 } | 
|   | 
| enum   | GraphOptimizationLevel { ORT_DISABLE_ALL = 0
, ORT_ENABLE_BASIC = 1
, ORT_ENABLE_EXTENDED = 2
, ORT_ENABLE_ALL = 99
 } | 
|   | Graph optimization level.  More...
  | 
|   | 
| enum   | ExecutionMode { ORT_SEQUENTIAL = 0
, ORT_PARALLEL = 1
 } | 
|   | 
| enum   | OrtLanguageProjection {  
  ORT_PROJECTION_C = 0
, ORT_PROJECTION_CPLUSPLUS = 1
, ORT_PROJECTION_CSHARP = 2
, ORT_PROJECTION_PYTHON = 3
,  
  ORT_PROJECTION_JAVA = 4
, ORT_PROJECTION_WINML = 5
, ORT_PROJECTION_NODEJS = 6
 
 } | 
|   | Language projection identifiers /see OrtApi::SetLanguageProjection.  More...
  | 
|   | 
| enum   | OrtAllocatorType { OrtInvalidAllocator = -1
, OrtDeviceAllocator = 0
, OrtArenaAllocator = 1
 } | 
|   | 
| enum   | OrtMemType { OrtMemTypeCPUInput = -2
, OrtMemTypeCPUOutput = -1
, OrtMemTypeCPU = OrtMemTypeCPUOutput
, OrtMemTypeDefault = 0
 } | 
|   | Memory types for allocated memory, execution provider specific types should be extended in each provider.  More...
  | 
|   | 
| enum   | OrtMemoryInfoDeviceType { OrtMemoryInfoDeviceType_CPU = 0
, OrtMemoryInfoDeviceType_GPU = 1
, OrtMemoryInfoDeviceType_FPGA = 2
 } | 
|   | This mimics OrtDevice type constants so they can be returned in the API.  More...
  | 
|   | 
| enum   | OrtCudnnConvAlgoSearch { OrtCudnnConvAlgoSearchExhaustive
, OrtCudnnConvAlgoSearchHeuristic
, OrtCudnnConvAlgoSearchDefault
 } | 
|   | Algorithm to use for cuDNN Convolution Op.  More...
  | 
|   | 
| enum   | OrtCustomOpInputOutputCharacteristic { INPUT_OUTPUT_REQUIRED = 0
, INPUT_OUTPUT_OPTIONAL
, INPUT_OUTPUT_VARIADIC
 } | 
|   |