sigmaplayer/src/module-init.cpp

378 lines
10 KiB
C++

//////////////////////////////////////////////////////////////////////////
/**
* SigmaPlayer source project - Main program module interface impl.
* \file module-init.cpp
* \author bombur
* \version 0.1
* \date 10.12.2008
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*/
//////////////////////////////////////////////////////////////////////////
// For main program, use "if NOT defined"!
#ifndef COMPILE_MODULE
#define MODULE_SERVER
#endif
#ifdef MODULE_SERVER
#define __USE_LARGEFILE64
#define __LARGE64_FILES
#define _LARGEFILE64_SOURCE
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <signal.h>
#include <mntent.h>
#include <errno.h>
#include <string.h>
#include <strings.h>
#include <pwd.h>
#include <setjmp.h>
#include <sys/ioctl.h>
#include <sys/time.h>
#include <sys/uio.h>
#include <libsp/sp_misc.h>
#include <libsp/sp_msg.h>
#include <libsp/sp_khwl.h>
#include <libsp/sp_fip.h>
#include <libsp/sp_video.h>
#include <libsp/sp_cdrom.h>
#include <libsp/sp_mpeg.h>
#include <script.h>
#include <media.h>
#include <settings.h>
extern "C" { extern int __sigjmp_save (sigjmp_buf env, int savemask); };
#endif
#include <libsp/sp_module.h>
#include <module.h>
extern "C" {
MODULE_DECL_START()
MODULE_DECL(script_error_callback),
MODULE_DECL(script_player_saved_callback),
MODULE_DECL(script_video_info_callback),
MODULE_DECL(script_zoom_scroll_reset_callback),
MODULE_DECL(script_speed_callback),
MODULE_DECL(script_time_callback),
MODULE_DECL(script_dvd_chapter_callback),
MODULE_DECL(script_dvd_title_callback),
MODULE_DECL(script_dvd_menu_callback),
MODULE_DECL(script_totaltime_callback),
MODULE_DECL(script_audio_lang_callback),
MODULE_DECL(script_audio_stream_callback),
MODULE_DECL(script_audio_info_callback),
MODULE_DECL(script_spu_lang_callback),
MODULE_DECL(script_spu_stream_callback),
MODULE_DECL(script_framerate_callback),
MODULE_DECL(script_framesize_callback),
MODULE_DECL(script_update_variable),
MODULE_DECL(mpeg_init),
MODULE_DECL(mpeg_deinit),
MODULE_DECL(mpeg_getaudiostream),
MODULE_DECL(mpeg_getspustream),
MODULE_DECL(mpeg_zoom_hor),
MODULE_DECL(mpeg_zoom_ver),
MODULE_DECL(mpeg_scroll),
MODULE_DECL(mpeg_getbufbase),
MODULE_DECL(mpeg_setaudioparams),
MODULE_DECL(mpeg_getpacketlength),
MODULE_DECL(mpeg_setbuffer),
MODULE_DECL(mpeg_getframesize),
MODULE_DECL(mpeg_setspeed),
MODULE_DECL(mpeg_zoom_reset),
MODULE_DECL(mpeg_is_displayed),
MODULE_DECL(mpeg_parse_ac3_header),
MODULE_DECL(mpeg_getaudioparams),
MODULE_DECL(mpeg_wait),
MODULE_DECL(mpeg_getrate),
MODULE_DECL(mpeg_is_playing),
MODULE_DECL(mpeg_get_video_format),
MODULE_DECL(mpeg_setpts),
MODULE_DECL(mpeg_resetstreams),
MODULE_DECL(mpeg_setaudiostream),
MODULE_DECL(mpeg_start),
MODULE_DECL(mpeg_play),
MODULE_DECL(mpeg_feed),
MODULE_DECL(mpeg_setbufidx),
MODULE_DECL(mpeg_setspustream),
MODULE_DECL(mpeg_get_fps),
MODULE_DECL(mpeg_audio_format_changed),
MODULE_DECL(mpeg_extractpacket),
MODULE_DECL(mpeg_feed_getlast),
MODULE_DECL(mpeg_parse_program_stream_pack_header),
MODULE_DECL(mpeg_findpacket),
MODULE_DECL(khwl_display_clear),
MODULE_DECL(khwl_stop),
MODULE_DECL(khwl_setvideomode),
MODULE_DECL(khwl_setproperty),
MODULE_DECL(khwl_getproperty),
MODULE_DECL(khwl_transformcoord),
MODULE_DECL(khwl_set_window_zoom),
MODULE_DECL(fip_write_string),
MODULE_DECL(fip_write_special),
MODULE_DECL(fip_clear),
MODULE_DECL(msg_error),
MODULE_DECL(msg),
MODULE_DECL(settings_get),
MODULE_DECL(settings_set),
MODULE_DECL(media_open),
MODULE_DECL(media_close),
MODULE_DECL(media_free_block),
MODULE_DECL(media_geterror),
MODULE_DECL(media_get_next_block),
MODULE_DECL(media_skip_buffer),
MODULE_DECL(usleep),
MODULE_DECL(gettimeofday),
MODULE_DECL(closedir),
MODULE_DECL(readdir),
MODULE_DECL(opendir),
#ifndef WIN32
MODULE_DECL(__errno_location),
MODULE_DECL(__sigjmp_save),
MODULE_DECL(atoi),
MODULE_DECL(calloc),
MODULE_DECL(chdir),
MODULE_DECL(clock),
MODULE_DECL(close),
MODULE_DECL(fclose),
MODULE_DECL(ferror),
MODULE_DECL(fgets),
MODULE_DECL(fopen64),
MODULE_DECL(fprintf),
MODULE_DECL(fread),
MODULE_DECL(free),
MODULE_DECL(fstat64),
MODULE_DECL(getcwd),
MODULE_DECL(getenv),
MODULE_DECL(getmntent),
MODULE_DECL(getpwuid),
MODULE_DECL(getuid),
MODULE_DECL(ioctl),
MODULE_DECL(localtime),
MODULE_DECL(lseek64),
MODULE_DECL(malloc),
MODULE_DECL(memset),
MODULE_DECL(open64),
MODULE_DECL(rand),
MODULE_DECL(read),
MODULE_DECL(readdir64),
MODULE_DECL(readv),
MODULE_DECL(realloc),
MODULE_DECL(snprintf),
MODULE_DECL(sprintf),
MODULE_DECL(srand),
MODULE_DECL(stat64),
MODULE_DECL(strcasecmp),
MODULE_DECL(strcat),
MODULE_DECL(strdup),
MODULE_DECL(strerror),
MODULE_DECL(strftime),
MODULE_DECL(strncasecmp),
MODULE_DECL(strncat),
MODULE_DECL(strncmp),
MODULE_DECL(strncpy),
MODULE_DECL(strtok),
MODULE_DECL(strtol),
MODULE_DECL(tolower),
MODULE_DECL(toupper),
MODULE_DECL(vsprintf),
MODULE_DECL(fflush),
MODULE_DECL(sigemptyset),
MODULE_DECL(sigaddset),
MODULE_DECL(sigprocmask),
MODULE_DECL(sigfillset),
MODULE_DECL(sigaction),
MODULE_DECL(raise),
MODULE_DECL(getpid),
MODULE_DECL(kill),
#endif
MODULE_DECL_END();
MODULE_FUNC_TABLE init_funcs[] =
{
MODULE_ENTRY(script_error_callback),
MODULE_ENTRY(script_player_saved_callback),
MODULE_ENTRY(script_video_info_callback),
MODULE_ENTRY(script_zoom_scroll_reset_callback),
MODULE_ENTRY(script_speed_callback),
MODULE_ENTRY(script_time_callback),
MODULE_ENTRY(script_dvd_chapter_callback),
MODULE_ENTRY(script_dvd_title_callback),
MODULE_ENTRY(script_dvd_menu_callback),
MODULE_ENTRY(script_totaltime_callback),
MODULE_ENTRY(script_audio_lang_callback),
MODULE_ENTRY(script_audio_stream_callback),
MODULE_ENTRY(script_audio_info_callback),
MODULE_ENTRY(script_spu_lang_callback),
MODULE_ENTRY(script_spu_stream_callback),
MODULE_ENTRY(script_framerate_callback),
MODULE_ENTRY(script_framesize_callback),
MODULE_ENTRY(script_update_variable),
MODULE_ENTRY(mpeg_init),
MODULE_ENTRY(mpeg_deinit),
MODULE_ENTRY(mpeg_getaudiostream),
MODULE_ENTRY(mpeg_getspustream),
MODULE_ENTRY(mpeg_zoom_hor),
MODULE_ENTRY(mpeg_zoom_ver),
MODULE_ENTRY(mpeg_scroll),
MODULE_ENTRY(mpeg_getbufbase),
MODULE_ENTRY(mpeg_setaudioparams),
MODULE_ENTRY(mpeg_getpacketlength),
MODULE_ENTRY(mpeg_setbuffer),
MODULE_ENTRY(mpeg_getframesize),
MODULE_ENTRY(mpeg_setspeed),
MODULE_ENTRY(mpeg_zoom_reset),
MODULE_ENTRY(mpeg_is_displayed),
MODULE_ENTRY(mpeg_parse_ac3_header),
MODULE_ENTRY(mpeg_getaudioparams),
MODULE_ENTRY(mpeg_wait),
MODULE_ENTRY(mpeg_getrate),
MODULE_ENTRY(mpeg_is_playing),
MODULE_ENTRY(mpeg_get_video_format),
MODULE_ENTRY(mpeg_setpts),
MODULE_ENTRY(mpeg_resetstreams),
MODULE_ENTRY(mpeg_setaudiostream),
MODULE_ENTRY(mpeg_start),
MODULE_ENTRY(mpeg_play),
MODULE_ENTRY(mpeg_feed),
MODULE_ENTRY(mpeg_setbufidx),
MODULE_ENTRY(mpeg_setspustream),
MODULE_ENTRY(mpeg_get_fps),
MODULE_ENTRY(mpeg_audio_format_changed),
MODULE_ENTRY(mpeg_extractpacket),
MODULE_ENTRY(mpeg_feed_getlast),
MODULE_ENTRY(mpeg_parse_program_stream_pack_header),
MODULE_ENTRY(mpeg_findpacket),
MODULE_ENTRY(khwl_display_clear),
MODULE_ENTRY(khwl_stop),
MODULE_ENTRY(khwl_setvideomode),
MODULE_ENTRY(khwl_setproperty),
MODULE_ENTRY(khwl_getproperty),
MODULE_ENTRY(khwl_transformcoord),
MODULE_ENTRY(khwl_set_window_zoom),
MODULE_ENTRY(fip_write_string),
MODULE_ENTRY(fip_write_special),
MODULE_ENTRY(fip_clear),
MODULE_ENTRY(msg_error),
MODULE_ENTRY(msg),
MODULE_ENTRY(settings_get),
MODULE_ENTRY(settings_set),
MODULE_ENTRY(media_open),
MODULE_ENTRY(media_close),
MODULE_ENTRY(media_free_block),
MODULE_ENTRY(media_geterror),
MODULE_ENTRY(media_get_next_block),
MODULE_ENTRY(media_skip_buffer),
MODULE_ENTRY(usleep),
MODULE_ENTRY(gettimeofday),
MODULE_ENTRY(closedir),
MODULE_ENTRY(readdir),
MODULE_ENTRY(opendir),
#ifndef WIN32
MODULE_ENTRY(__errno_location),
MODULE_ENTRY(__sigjmp_save),
MODULE_ENTRY(atoi),
MODULE_ENTRY(calloc),
MODULE_ENTRY(chdir),
MODULE_ENTRY(clock),
MODULE_ENTRY(close),
MODULE_ENTRY(fclose),
MODULE_ENTRY(ferror),
MODULE_ENTRY(fgets),
MODULE_ENTRY(fopen64),
MODULE_ENTRY(fprintf),
MODULE_ENTRY(fread),
MODULE_ENTRY(free),
MODULE_ENTRY(fstat64),
MODULE_ENTRY(getcwd),
MODULE_ENTRY(getenv),
MODULE_ENTRY(getmntent),
MODULE_ENTRY(getpwuid),
MODULE_ENTRY(getuid),
MODULE_ENTRY(ioctl),
MODULE_ENTRY(localtime),
MODULE_ENTRY(lseek64),
MODULE_ENTRY(malloc),
MODULE_ENTRY(memset),
MODULE_ENTRY(open64),
MODULE_ENTRY(rand),
MODULE_ENTRY(read),
MODULE_ENTRY(readdir64),
MODULE_ENTRY(readv),
MODULE_ENTRY(realloc),
MODULE_ENTRY(snprintf),
MODULE_ENTRY(sprintf),
MODULE_ENTRY(srand),
MODULE_ENTRY(stat64),
MODULE_ENTRY(strcasecmp),
MODULE_ENTRY(strcat),
MODULE_ENTRY(strdup),
MODULE_ENTRY(strerror),
MODULE_ENTRY(strftime),
MODULE_ENTRY(strncasecmp),
MODULE_ENTRY(strncat),
MODULE_ENTRY(strncmp),
MODULE_ENTRY(strncpy),
MODULE_ENTRY(strtok),
MODULE_ENTRY(strtol),
MODULE_ENTRY(tolower),
MODULE_ENTRY(toupper),
MODULE_ENTRY(vsprintf),
MODULE_ENTRY(fflush),
MODULE_ENTRY(sigemptyset),
MODULE_ENTRY(sigaddset),
MODULE_ENTRY(sigprocmask),
MODULE_ENTRY(sigfillset),
MODULE_ENTRY(sigaction),
MODULE_ENTRY(raise),
MODULE_ENTRY(getpid),
MODULE_ENTRY(kill),
#endif
MODULE_ENTRY_END(),
};
}