1#
2# Copyright (C) 2017 The Android Open Source Project
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# This lists the entry points visible to applications that use the
18# Neural Networks lib. Other entry points present in the library won't be
19# usable.
20
21LIBNEURALNETWORKS {
22  global:
23    ANeuralNetworks_getDeviceCount; # introduced=Q
24    ANeuralNetworks_getDevice; # introduced=Q
25    ANeuralNetworksDevice_getName; # introduced=Q
26    ANeuralNetworksDevice_getType; # introduced=Q
27    ANeuralNetworksDevice_getVersion; # introduced=Q
28    ANeuralNetworksDevice_getFeatureLevel; # introduced=Q
29    ANeuralNetworksMemory_createFromAHardwareBuffer; # introduced=Q
30    ANeuralNetworksMemory_createFromFd;
31    ANeuralNetworksMemory_free;
32    ANeuralNetworksModel_create;
33    ANeuralNetworksModel_free;
34    ANeuralNetworksModel_finish;
35    ANeuralNetworksModel_addOperand;
36    ANeuralNetworksModel_setOperandSymmPerChannelQuantParams; # introduced=Q
37    ANeuralNetworksModel_setOperandValue;
38    ANeuralNetworksModel_setOperandValueFromMemory;
39    ANeuralNetworksModel_addOperation;
40    ANeuralNetworksModel_identifyInputsAndOutputs;
41    ANeuralNetworksModel_relaxComputationFloat32toFloat16;
42    ANeuralNetworksModel_getSupportedOperationsForDevices; # introduced=Q
43    ANeuralNetworksCompilation_create;
44    ANeuralNetworksCompilation_createForDevices; # introduced=Q
45    ANeuralNetworksCompilation_free;
46    ANeuralNetworksCompilation_setCaching; # introduced=Q
47    ANeuralNetworksCompilation_setPreference;
48    ANeuralNetworksCompilation_finish;
49    ANeuralNetworksBurst_create; # introduced=Q
50    ANeuralNetworksBurst_free; # introduced=Q
51    ANeuralNetworksExecution_burstCompute; # introduced=Q
52    ANeuralNetworksExecution_compute; # introduced=Q
53    ANeuralNetworksExecution_create;
54    ANeuralNetworksExecution_free;
55    ANeuralNetworksExecution_getDuration; # introduced=Q
56    ANeuralNetworksExecution_setInput;
57    ANeuralNetworksExecution_setInputFromMemory;
58    ANeuralNetworksExecution_setMeasureTiming; # introduced=Q
59    ANeuralNetworksExecution_setOutput;
60    ANeuralNetworksExecution_setOutputFromMemory;
61    ANeuralNetworksExecution_startCompute;
62    ANeuralNetworksExecution_getOutputOperandDimensions; # introduced=Q
63    ANeuralNetworksExecution_getOutputOperandRank; # introduced=Q
64    ANeuralNetworksEvent_wait;
65    ANeuralNetworksEvent_free;
66  local:
67    *;
68};
69
70LIBNEURALNETWORKS_PLATFORM {
71  global:
72    ANeuralNetworksDevice_getExtensionSupport;
73    ANeuralNetworksModel_getExtensionOperandType;
74    ANeuralNetworksModel_getExtensionOperationType;
75    ANeuralNetworksModel_setOperandExtensionData;
76} LIBNEURALNETWORKS;
77