Blame src/libout123/module.h
|
Packit |
c32a2d |
/*
|
|
Packit |
c32a2d |
module: module loading and listing interface
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
copyright ?-2015 by the mpg123 project - free software under the terms of the LGPL 2.1
|
|
Packit |
c32a2d |
see COPYING and AUTHORS files in distribution or http://mpg123.org
|
|
Packit |
c32a2d |
initially written by Nicholas J. Humphfrey
|
|
Packit |
c32a2d |
*/
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
#ifndef _MPG123_MODULE_H_
|
|
Packit |
c32a2d |
#define _MPG123_MODULE_H_
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
#include "out123.h"
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
/* TODO: put that into out123_int.h instead? */
|
|
Packit |
c32a2d |
#define MPG123_MODULE_API_VERSION (2)
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
/* The full structure is delared in audio.h */
|
|
Packit |
c32a2d |
struct audio_output_struct;
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
typedef struct mpg123_module_struct {
|
|
Packit |
c32a2d |
const int api_version; /* module API version number */
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
const char* name; /* short name of the module */
|
|
Packit |
c32a2d |
const char* description; /* description of what the module does */
|
|
Packit |
c32a2d |
const char* revision; /* source code revision */
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
void* handle; /* dynamic loader handle */
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
/* Initialisers - set to NULL if unsupported by module */
|
|
Packit |
c32a2d |
int (*init_output)(out123_handle *ao); /* audio output - returns 0 on success */
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
} mpg123_module_t;
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
/* ------ Declarations from "module.c" ------ */
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
mpg123_module_t* open_module( const char* type, const char* name, int verbose
|
|
Packit |
c32a2d |
, const char* bindir );
|
|
Packit |
c32a2d |
void close_module(mpg123_module_t* module, int verbose);
|
|
Packit |
c32a2d |
int list_modules( const char *type, char ***names, char ***descr, int verbose
|
|
Packit |
c32a2d |
, const char* bindir );
|
|
Packit |
c32a2d |
|
|
Packit |
c32a2d |
#endif
|