00001 /***************************************************************************** 00002 * libvlc.h: libvlc_* new external API structures 00003 ***************************************************************************** 00004 * Copyright (C) 1998-2008 the VideoLAN team 00005 * $Id $ 00006 * 00007 * Authors: Filippo Carone <littlejohn@videolan.org> 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; if not, write to the Free Software 00021 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 00022 *****************************************************************************/ 00023 00024 #ifndef LIBVLC_STRUCTURES_H 00025 #define LIBVLC_STRUCTURES_H 1 00026 00027 /** 00028 * \file 00029 * This file defines libvlc_* new external API structures 00030 */ 00031 00032 #include <stdint.h> 00033 00034 # ifdef __cplusplus 00035 extern "C" { 00036 # endif 00037 00038 /** This structure is opaque. It represents a libvlc instance */ 00039 typedef struct libvlc_instance_t libvlc_instance_t; 00040 00041 /***************************************************************************** 00042 * Exceptions 00043 *****************************************************************************/ 00044 00045 /** \defgroup libvlc_exception libvlc_exception 00046 * \ingroup libvlc_core 00047 * LibVLC Exceptions handling 00048 * @{ 00049 */ 00050 00051 typedef struct libvlc_exception_t 00052 { 00053 int b_raised; 00054 } libvlc_exception_t; 00055 00056 /**@} */ 00057 00058 /***************************************************************************** 00059 * Time 00060 *****************************************************************************/ 00061 /** \defgroup libvlc_time libvlc_time 00062 * \ingroup libvlc_core 00063 * LibVLC Time support in libvlc 00064 * @{ 00065 */ 00066 00067 typedef int64_t libvlc_time_t; 00068 00069 /**@} */ 00070 00071 /***************************************************************************** 00072 * Media Descriptor 00073 *****************************************************************************/ 00074 /** \defgroup libvlc_media libvlc_media 00075 * \ingroup libvlc 00076 * LibVLC Media Descriptor handling 00077 * @{ 00078 */ 00079 00080 00081 /**@} */ 00082 00083 00084 /***************************************************************************** 00085 * Playlist 00086 *****************************************************************************/ 00087 /** \defgroup libvlc_playlist libvlc_playlist (Deprecated) 00088 * \ingroup libvlc 00089 * LibVLC Playlist handling (Deprecated) 00090 * @deprecated Use media_list 00091 * @{ 00092 */ 00093 00094 typedef struct libvlc_playlist_item_t 00095 { 00096 int i_id; 00097 char * psz_uri; 00098 char * psz_name; 00099 00100 } libvlc_playlist_item_t; 00101 00102 /**@} */ 00103 00104 00105 /***************************************************************************** 00106 * Message log handling 00107 *****************************************************************************/ 00108 00109 /** \defgroup libvlc_log libvlc_log 00110 * \ingroup libvlc_core 00111 * LibVLC Message Logging 00112 * @{ 00113 */ 00114 00115 /** This structure is opaque. It represents a libvlc log instance */ 00116 typedef struct libvlc_log_t libvlc_log_t; 00117 00118 /** This structure is opaque. It represents a libvlc log iterator */ 00119 typedef struct libvlc_log_iterator_t libvlc_log_iterator_t; 00120 00121 typedef struct libvlc_log_message_t 00122 { 00123 unsigned sizeof_msg; /* sizeof() of message structure, must be filled in by user */ 00124 int i_severity; /* 0=INFO, 1=ERR, 2=WARN, 3=DBG */ 00125 const char *psz_type; /* module type */ 00126 const char *psz_name; /* module name */ 00127 const char *psz_header; /* optional header */ 00128 const char *psz_message; /* message */ 00129 } libvlc_log_message_t; 00130 00131 /**@} */ 00132 00133 # ifdef __cplusplus 00134 } 00135 # endif 00136 00137 #endif
1.5.6