1 /* 2 * This library is free software; you can redistribute it and/or modify 3 * it under the terms of the GNU Lesser General Public License as 4 * published by the Free Software Foundation; either version 2.1 of 5 * the License, or (at your option) any later version. 6 * 7 * This program is distributed in the hope that it will be useful, 8 * but WITHOUT ANY WARRANTY; without even the implied warranty of 9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10 * GNU Lesser General Public License for more details. 11 * 12 * You should have received a copy of the GNU Lesser General Public 13 * License along with this library; if not, write to the Free Software 14 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 15 * 16 */ 17 #ifndef __PRE_PROCESS_EXTERNAL_H 18 #define __PRE_PROCESS_EXTERNAL_H 19 20 #define PROCESS_FUNC_PREFIX "_snd_topology_" 21 #define PROCESS_FUNC_POSTFIX "_process" 22 #define PROCESS_LIB_PREFIX "libalsatplg_module_" 23 #define PROCESS_LIB_POSTFIX ".so" 24 25 /** 26 * Define the object entry for external pre-process plugins 27 */ 28 #define SND_TOPOLOGY_PLUGIN_ENTRY(name) _snd_topology_##name##_process 29 30 /** 31 * Define the plugin 32 */ 33 #define SND_TOPOLOGY_PLUGIN_DEFINE_FUNC(plugin) \ 34 __attribute__ ((visibility ("default"))) \ 35 int SND_TOPOLOGY_PLUGIN_ENTRY(plugin) (snd_config_t *input, snd_config_t *output) 36 37 typedef int (*plugin_pre_process)(snd_config_t *input, snd_config_t *output); 38 39 #endif /* __PRE_PROCESS_EXTERNAL_H */ 40