Imported Upstream version 1.12.0
[platform/core/ml/nnfw.git] / runtime / onert / api / include / nnfw_internal.h
1 /*
2  * Copyright (c) 2019 Samsung Electronics Co., Ltd. All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __NNFW_INTERNAL_H__
18 #define __NNFW_INTERNAL_H__
19
20 #include "nnfw.h"
21
22 NNFW_STATUS nnfw_set_config(nnfw_session *session, const char *key, const char *value);
23
24 NNFW_STATUS nnfw_get_config(nnfw_session *session, const char *key, char *value, size_t value_size);
25
26 /**
27  * @brief Load a circle model from buffer.
28  *
29  * The buffer must outlive the session.
30  *
31  * @param[in] session session
32  * @param[in] buffer  Pointer to the buffer
33  * @param[in] size    Buffer size
34  * @return NNFW_STATUS
35  */
36 NNFW_STATUS nnfw_load_circle_from_buffer(nnfw_session *session, uint8_t *buffer, size_t size);
37
38 /**
39  * @brief Load a tflite/circle model from file.
40  *
41  * @param[in] session   session
42  * @param[in] file_path Path to model file. Model type(tflite/circle) is decided by file extension
43  * @return    NFNFW_STATUS
44  */
45 NNFW_STATUS nnfw_load_model_from_modelfile(nnfw_session *session, const char *file_path);
46
47 #endif // __NNFW_INTERNAL_H__