linx-simulator2/node_modules/speaker/deps/mpg123/src/module.h
2019-09-18 11:11:16 +03:00

49 lines
1.2 KiB
C

/*
module: module loading and listing interface
copyright ?-2007 by the mpg123 project - free software under the terms of the LGPL 2.1
see COPYING and AUTHORS files in distribution or http://mpg123.org
*/
#ifndef _MPG123_MODULE_H_
#define _MPG123_MODULE_H_
/* Pulled in by mpg123app.h! */
#ifdef HAVE_LTDL
#include <ltdl.h>
#endif
#define MPG123_MODULE_API_VERSION (1)
/* The full structure is delared in audio.h */
struct audio_output_struct;
typedef struct mpg123_module_struct {
const int api_version; /* module API version number */
const char* name; /* short name of the module */
const char* description; /* description of what the module does */
const char* revision; /* source code revision */
#ifdef HAVE_LTDL
lt_dlhandle handle; /* ltdl handle - set by open_module */
#else
void* handle;
#endif
/* Initialisers - set to NULL if unsupported by module */
int (*init_output)(struct audio_output_struct* ao); /* audio output - returns 0 on success */
} mpg123_module_t;
/* ------ Declarations from "module.c" ------ */
mpg123_module_t* open_module( const char* type, const char* name );
void close_module( mpg123_module_t* module );
void list_modules();
#endif