17e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten/*
27e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * Copyright (C) 2010 The Android Open Source Project
37e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten *
47e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * Licensed under the Apache License, Version 2.0 (the "License");
57e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * you may not use this file except in compliance with the License.
67e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * You may obtain a copy of the License at
77e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten *
87e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten *      http://www.apache.org/licenses/LICENSE-2.0
97e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten *
107e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * Unless required by applicable law or agreed to in writing, software
117e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * distributed under the License is distributed on an "AS IS" BASIS,
127e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * See the License for the specific language governing permissions and
147e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * limitations under the License.
157e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten */
16d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten
17d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#ifndef __MPH_H
18d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define __MPH_H
19d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten
20d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten// Minimal perfect hash for each interface ID
21d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten
2215f9f5e609265dff9d6036af38bea084c42a702aGlenn Kasten#define MPH_NONE                      (-1)
239c03f04a9c6cc2a821182c8be8f2efe964a27efeGlenn Kasten#define MPH_MIN                         0
2415f9f5e609265dff9d6036af38bea084c42a702aGlenn Kasten
25d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DCOMMIT                    0
26d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DDOPPLER                   1
27d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DGROUPING                  2
28d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DLOCATION                  3
29d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DMACROSCOPIC               4
30d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DSOURCE                    5
31d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_AUDIODECODERCAPABILITIES    6
32d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_AUDIOENCODER                7
33d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_AUDIOENCODERCAPABILITIES    8
34d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_AUDIOIODEVICECAPABILITIES   9
35d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_BASSBOOST                  10
36d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_BUFFERQUEUE                11
37d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_DEVICEVOLUME               12
38d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_DYNAMICINTERFACEMANAGEMENT 13
39d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_DYNAMICSOURCE              14
40d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_EFFECTSEND                 15
41d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_ENGINE                     16
42d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_ENGINECAPABILITIES         17
43d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_ENVIRONMENTALREVERB        18
44d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_EQUALIZER                  19
45d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_LED                        20
46d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_METADATAEXTRACTION         21
47d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_METADATATRAVERSAL          22
48d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_MIDIMESSAGE                23
49d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_MIDIMUTESOLO               24
50d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_MIDITEMPO                  25
51d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_MIDITIME                   26
52d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_MUTESOLO                   27
53c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten#define MPH_NULL                       28
54d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_OBJECT                     29
55d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_OUTPUTMIX                  30
56d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_PITCH                      31
57d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_PLAY                       32
58d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_PLAYBACKRATE               33
59d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_PREFETCHSTATUS             34
60d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_PRESETREVERB               35
61d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_RATEPITCH                  36
62d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_RECORD                     37
63d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_SEEK                       38
64d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_THREADSYNC                 39
65d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_VIBRA                      40
66d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_VIRTUALIZER                41
67d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_VISUALIZATION              42
68d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_VOLUME                     43
69c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// end Khronos standard interfaces
70d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten
71c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// The lack of ifdef on the remaining is intentional
72c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten
73c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// start non-standard and platform-independent interface IDs
74c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten#define MPH_OUTPUTMIXEXT               44
75c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// end non-standard and platform-independent interface IDs
76c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten
77c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// start non-standard and platform-specific interface IDs
78d5c746ba436dfc4605672f4a9f8c0628521a9f21Jean-Michel Trivi#define MPH_ANDROIDEFFECT              45
79d5c746ba436dfc4605672f4a9f8c0628521a9f21Jean-Michel Trivi#define MPH_ANDROIDEFFECTCAPABILITIES  46
80d5c746ba436dfc4605672f4a9f8c0628521a9f21Jean-Michel Trivi#define MPH_ANDROIDEFFECTSEND          47
81d5c746ba436dfc4605672f4a9f8c0628521a9f21Jean-Michel Trivi#define MPH_ANDROIDCONFIGURATION       48
821a6bb4f8e738c9387dc9629db294ea5de618a53cGlenn Kasten#define MPH_ANDROIDSIMPLEBUFFERQUEUE   49
83c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// end non-standard and platform-specific interface IDs
84ed3e92ee5465be1396418098a4ef231ceb0adf33Jean-Michel Trivi
85c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// total number
861a6bb4f8e738c9387dc9629db294ea5de618a53cGlenn Kasten#define MPH_MAX                        50
87d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten
88d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#endif // !defined(__MPH_H)
89