aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJaroslav Kysela <perex@perex.cz>2001-08-15 12:12:16 +0000
committerJaroslav Kysela <perex@perex.cz>2001-08-15 12:12:16 +0000
commitb45c08611c0bab46c2e2d2b071bf7331c0ba0c62 (patch)
tree82417d8307c17c92119465f911bfa4f611548e7f /include
parent36a28100813aa02da47fa20e038abedf8193b85f (diff)
Added symbol versioning for dlsym-callbacks.
Removed snd_config_refer_load from confmisc.c and pcm.c.
Diffstat (limited to 'include')
-rw-r--r--include/conf.h5
-rw-r--r--include/control.h3
-rw-r--r--include/global.h6
-rw-r--r--include/hwdep.h3
-rw-r--r--include/local.h2
-rw-r--r--include/pcm.h3
-rw-r--r--include/rawmidi.h3
-rw-r--r--include/seq.h3
-rw-r--r--include/timer.h5
9 files changed, 31 insertions, 2 deletions
diff --git a/include/conf.h b/include/conf.h
index eea2958d..825925c5 100644
--- a/include/conf.h
+++ b/include/conf.h
@@ -4,6 +4,11 @@
* \{
*/
+/** dlsym version for config evaluate callback */
+#define SND_CONFIG_DLSYM_VERSION_EVALUATE _dlsym_config_evaluate_001
+/** dlsym version for config hook callback */
+#define SND_CONFIG_DLSYM_VERSION_HOOK _dlsym_config_hook_001
+
/** Config node type */
typedef enum _snd_config_type {
/** Integer number */
diff --git a/include/control.h b/include/control.h
index 05b38f66..3574b4ab 100644
--- a/include/control.h
+++ b/include/control.h
@@ -11,6 +11,9 @@
* \{
*/
+/** dlsym version for interface entry callback */
+#define SND_CONTROL_DLSYM_VERSION _dlsym_control_001
+
/** IEC958 structure */
typedef struct sndrv_aes_iec958 snd_aes_iec958_t;
diff --git a/include/global.h b/include/global.h
index 13cf47c6..a17f9639 100644
--- a/include/global.h
+++ b/include/global.h
@@ -14,6 +14,12 @@
/** \} */
+#define __SND_DLSYM_VERSION(name, version) _ ## name ## version
+#define SND_DLSYM_BUILD_VERSION(name, version) char __SND_DLSYM_VERSION(name, version)
+#define SND_DLSYM_VERSION(version) __STRING(version)
+
+int snd_dlsym_verify(void *handle, const char *name, const char *version);
+
/** Async notification client handler */
typedef struct _snd_async_handler snd_async_handler_t;
diff --git a/include/hwdep.h b/include/hwdep.h
index 3636edac..48bf4be2 100644
--- a/include/hwdep.h
+++ b/include/hwdep.h
@@ -11,6 +11,9 @@
* \{
*/
+/** dlsym version for interface entry callback */
+#define SND_HWDEP_DLSYM_VERSION _dlsym_hwdep_001
+
/** HwDep information container */
typedef struct _snd_hwdep_info snd_hwdep_info_t;
diff --git a/include/local.h b/include/local.h
index b3f5f5c6..db15b0da 100644
--- a/include/local.h
+++ b/include/local.h
@@ -24,8 +24,6 @@
#include "config.h"
-#define ALSA_LIB "libasound.so"
-
#define _snd_config_iterator list_head
#define _snd_interval sndrv_interval
#define _snd_pcm_info sndrv_pcm_info
diff --git a/include/pcm.h b/include/pcm.h
index 6df82ae4..68996d7b 100644
--- a/include/pcm.h
+++ b/include/pcm.h
@@ -11,6 +11,9 @@
* \{
*/
+/** dlsym version for interface entry callback */
+#define SND_PCM_DLSYM_VERSION _dlsym_pcm_001
+
/** PCM generic info container */
typedef struct _snd_pcm_info snd_pcm_info_t;
/** PCM hardware configuration space container */
diff --git a/include/rawmidi.h b/include/rawmidi.h
index b982cd66..e7e6f8a3 100644
--- a/include/rawmidi.h
+++ b/include/rawmidi.h
@@ -11,6 +11,9 @@
* \{
*/
+/** dlsym version for interface entry callback */
+#define SND_RAWMIDI_DLSYM_VERSION _dlsym_rawmidi_001
+
/** RawMidi information container */
typedef struct _snd_rawmidi_info snd_rawmidi_info_t;
/** RawMidi settings container */
diff --git a/include/seq.h b/include/seq.h
index 75736b7e..60a35f55 100644
--- a/include/seq.h
+++ b/include/seq.h
@@ -9,6 +9,9 @@ extern "C" {
* \{
*/
+/** dlsym version for interface entry callback */
+#define SND_SEQ_DLSYM_VERSION _dlsym_seq_001
+
/** Sequencer handle */
typedef struct _snd_seq snd_seq_t;
diff --git a/include/timer.h b/include/timer.h
index 8c1cb22d..8a25e146 100644
--- a/include/timer.h
+++ b/include/timer.h
@@ -11,6 +11,11 @@
* \{
*/
+/** dlsym version for interface entry callback */
+#define SND_TIMER_DLSYM_VERSION _dlsym_timer_001
+/** dlsym version for interface entry callback */
+#define SND_TIMER_QUERY_DLSYM_VERSION _dlsym_timer_query_001
+
/** timer identification structure */
typedef struct _snd_timer_id snd_timer_id_t;
/** timer info structure */