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_getDefaultLoopTimeout; # introduced=30
24    ANeuralNetworks_getDeviceCount; # introduced=Q
25    ANeuralNetworks_getDevice; # introduced=Q
26    ANeuralNetworks_getMaximumLoopTimeout; # introduced=30
27    ANeuralNetworks_getRuntimeFeatureLevel; # introduced=31
28    ANeuralNetworksDevice_getName; # introduced=Q
29    ANeuralNetworksDevice_getType; # introduced=Q
30    ANeuralNetworksDevice_getVersion; # introduced=Q
31    ANeuralNetworksDevice_getFeatureLevel; # introduced=Q
32    ANeuralNetworksDevice_wait; # introduced=30
33    ANeuralNetworksMemory_createFromAHardwareBuffer; # introduced=Q
34    ANeuralNetworksMemory_createFromDesc; # introduced=30
35    ANeuralNetworksMemory_createFromFd;
36    ANeuralNetworksMemory_copy; # introduced=30
37    ANeuralNetworksMemory_free;
38    ANeuralNetworksMemoryDesc_addInputRole; # introduced=30
39    ANeuralNetworksMemoryDesc_addOutputRole; # introduced=30
40    ANeuralNetworksMemoryDesc_create; # introduced=30
41    ANeuralNetworksMemoryDesc_finish; # introduced=30
42    ANeuralNetworksMemoryDesc_free; # introduced=30
43    ANeuralNetworksMemoryDesc_setDimensions; # introduced=30
44    ANeuralNetworksModel_create;
45    ANeuralNetworksModel_free;
46    ANeuralNetworksModel_finish;
47    ANeuralNetworksModel_addOperand;
48    ANeuralNetworksModel_setOperandSymmPerChannelQuantParams; # introduced=Q
49    ANeuralNetworksModel_setOperandValue;
50    ANeuralNetworksModel_setOperandValueFromMemory;
51    ANeuralNetworksModel_setOperandValueFromModel; # introduced=30
52    ANeuralNetworksModel_addOperation;
53    ANeuralNetworksModel_identifyInputsAndOutputs;
54    ANeuralNetworksModel_relaxComputationFloat32toFloat16;
55    ANeuralNetworksModel_getSupportedOperationsForDevices; # introduced=Q
56    ANeuralNetworksCompilation_create;
57    ANeuralNetworksCompilation_createForDevices; # introduced=Q
58    ANeuralNetworksCompilation_free;
59    ANeuralNetworksCompilation_setCaching; # introduced=Q
60    ANeuralNetworksCompilation_setPreference;
61    ANeuralNetworksCompilation_finish;
62    ANeuralNetworksCompilation_setPriority; # introduced=30
63    ANeuralNetworksCompilation_setTimeout; # introduced=30
64    ANeuralNetworksCompilation_getPreferredMemoryAlignmentForInput; # introduced=31
65    ANeuralNetworksCompilation_getPreferredMemoryPaddingForInput; # introduced=31
66    ANeuralNetworksCompilation_getPreferredMemoryAlignmentForOutput; # introduced=31
67    ANeuralNetworksCompilation_getPreferredMemoryPaddingForOutput; # introduced=31
68    ANeuralNetworksBurst_create; # introduced=Q
69    ANeuralNetworksBurst_free; # introduced=Q
70    ANeuralNetworksExecution_burstCompute; # introduced=Q
71    ANeuralNetworksExecution_compute; # introduced=Q
72    ANeuralNetworksExecution_create;
73    ANeuralNetworksExecution_enableInputAndOutputPadding; # introduced=31
74    ANeuralNetworksExecution_free;
75    ANeuralNetworksExecution_getDuration; # introduced=Q
76    ANeuralNetworksExecution_setInput;
77    ANeuralNetworksExecution_setInputFromMemory;
78    ANeuralNetworksExecution_setMeasureTiming; # introduced=Q
79    ANeuralNetworksExecution_setOutput;
80    ANeuralNetworksExecution_setOutputFromMemory;
81    ANeuralNetworksExecution_setReusable; # introduced=31
82    ANeuralNetworksExecution_startCompute;
83    ANeuralNetworksExecution_startComputeWithDependencies; # introduced=30
84    ANeuralNetworksExecution_getOutputOperandDimensions; # introduced=Q
85    ANeuralNetworksExecution_getOutputOperandRank; # introduced=Q
86    ANeuralNetworksExecution_setTimeout; # introduced=30
87    ANeuralNetworksExecution_setLoopTimeout; # introduced=30
88    ANeuralNetworksEvent_createFromSyncFenceFd; # introduced=30
89    ANeuralNetworksEvent_getSyncFenceFd; # introduced=30
90    ANeuralNetworksEvent_wait;
91    ANeuralNetworksEvent_free;
92  local:
93    *;
94};
95
96LIBNEURALNETWORKS_PLATFORM {
97  global:
98    ANeuralNetworksDevice_getExtensionSupport;
99    ANeuralNetworksModel_getExtensionOperandType;
100    ANeuralNetworksModel_getExtensionOperationType;
101    ANeuralNetworksModel_setOperandExtensionData;
102    ANeuralNetworksCompilation_addExtensionAttribute;
103    ANeuralNetworksExecution_addExtensionAttribute;
104} LIBNEURALNETWORKS;
105