]> git.sesse.net Git - vlc/blobdiff - include/vlc_common.h
Added missing familiar-playlistb16x16.xpm
[vlc] / include / vlc_common.h
index e9abc95995d3a08ca98cdb2cf32074560a157e86..1cf3b49c5ace5023a187829c63c06545fd16123b 100644 (file)
@@ -3,7 +3,7 @@
  * Collection of useful common types and macros definitions
  *****************************************************************************
  * Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: vlc_common.h,v 1.50 2003/01/28 03:11:02 sam Exp $
+ * $Id: vlc_common.h,v 1.68 2003/07/14 20:36:55 sigmunau Exp $
  *
  * Authors: Samuel Hocevar <sam@via.ecp.fr>
  *          Vincent Seguin <seguin@via.ecp.fr>
@@ -101,6 +101,10 @@ typedef int                 ptrdiff_t;
 #   endif
 #endif
 
+#if defined( WIN32 )
+#   include <malloc.h>
+#endif
+
 #if defined( WIN32 ) || defined( UNDER_CE )
 typedef int                 ssize_t;
 #endif
@@ -238,14 +242,22 @@ typedef struct picture_sys_t picture_sys_t;
 typedef struct picture_heap_t picture_heap_t;
 typedef struct subpicture_t subpicture_t;
 typedef struct subpicture_sys_t subpicture_sys_t;
+typedef struct vout_synchro_t vout_synchro_t;
+typedef struct text_renderer_sys_t text_renderer_sys_t;
+typedef struct text_style_t text_style_t;
 
 /* Stream output */
 typedef struct sout_instance_t sout_instance_t;
 typedef struct sout_fifo_t sout_fifo_t;
 typedef struct sout_input_t sout_input_t;
+typedef struct sout_packetizer_input_t sout_packetizer_input_t;
 typedef struct sout_buffer_t sout_buffer_t;
-typedef struct sout_packet_format_t sout_packet_format_t;
-
+typedef struct sout_access_out_t sout_access_out_t;
+typedef struct sout_mux_t sout_mux_t;
+typedef struct sout_stream_t    sout_stream_t;
+typedef struct sout_cfg_t       sout_cfg_t;
+typedef struct sout_format_t    sout_format_t;
+typedef struct sap_session_t    sap_session_t;
 /* Decoders */
 typedef struct decoder_fifo_t decoder_fifo_t;
 
@@ -295,6 +307,10 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *,      /* variable's object */
 
 /* VLC_COMMON_MEMBERS : members common to all basic vlc objects */
 #define VLC_COMMON_MEMBERS                                                  \
+/** \name VLC_COMMON_MEMBERS                                                \
+ * these members are common for all vlc objects                             \
+ */                                                                         \
+/**@{*/                                                                     \
     int   i_object_id;                                                      \
     int   i_object_type;                                                    \
     char *psz_object_type;                                                  \
@@ -309,10 +325,10 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *,      /* variable's object */
     vlc_cond_t   object_wait;                                               \
                                                                             \
     /* Object properties */                                                 \
-    volatile vlc_bool_t b_error;                    /* set by the object */ \
-    volatile vlc_bool_t b_die;                     /* set by the outside */ \
-    volatile vlc_bool_t b_dead;                     /* set by the object */ \
-    volatile vlc_bool_t b_attached;                 /* set by the object */ \
+    volatile vlc_bool_t b_error;                  /**< set by the object */ \
+    volatile vlc_bool_t b_die;                   /**< set by the outside */ \
+    volatile vlc_bool_t b_dead;                   /**< set by the object */ \
+    volatile vlc_bool_t b_attached;               /**< set by the object */ \
                                                                             \
     /* Object variables */                                                  \
     vlc_mutex_t     var_lock;                                               \
@@ -320,19 +336,20 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *,      /* variable's object */
     variable_t *    p_vars;                                                 \
                                                                             \
     /* Stuff related to the libvlc structure */                             \
-    libvlc_t *      p_libvlc;                        /* root of all evil */ \
-    vlc_t *         p_vlc;                     /* (root of all evil) - 1 */ \
+    libvlc_t *      p_libvlc;                      /**< root of all evil */ \
+    vlc_t *         p_vlc;                   /**< (root of all evil) - 1 */ \
                                                                             \
-    volatile int    i_refcount;                           /* usage count */ \
-    vlc_object_t *  p_parent;                              /* our parent */ \
-    vlc_object_t ** pp_children;                         /* our children */ \
+    volatile int    i_refcount;                         /**< usage count */ \
+    vlc_object_t *  p_parent;                            /**< our parent */ \
+    vlc_object_t ** pp_children;                       /**< our children */ \
     volatile int    i_children;                                             \
                                                                             \
     /* Private data */                                                      \
     void *          p_private;                                              \
                                                                             \
-    /* Just a reminder so that people don't cast garbage */                 \
+    /** Just a reminder so that people don't cast garbage */                \
     int be_sure_to_add_VLC_COMMON_MEMBERS_to_struct;                        \
+/**@}*/                                                                     \
 
 /* VLC_OBJECT: attempt at doing a clever cast */
 #define VLC_OBJECT( x ) \
@@ -375,9 +392,12 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *,      /* variable's object */
         {                                                                     \
             (p_ar) = malloc( ((i_oldsize) + 1) * sizeof( *(p_ar) ) );         \
         }                                                                     \
-        memmove( (p_ar) + (i_pos) + 1,                                        \
-                 (p_ar) + (i_pos),                                            \
-                 ((i_oldsize) - (i_pos)) * sizeof( *(p_ar) ) );               \
+        if( (i_oldsize) - (i_pos) )                                           \
+        {                                                                     \
+            memmove( (p_ar) + (i_pos) + 1,                                    \
+                     (p_ar) + (i_pos),                                        \
+                     ((i_oldsize) - (i_pos)) * sizeof( *(p_ar) ) );           \
+        }                                                                     \
         (p_ar)[i_pos] = elem;                                                 \
         (i_oldsize)++;                                                        \
     }                                                                         \
@@ -386,9 +406,12 @@ typedef int ( * vlc_callback_t ) ( vlc_object_t *,      /* variable's object */
 #define REMOVE_ELEM( p_ar, i_oldsize, i_pos )                                 \
     do                                                                        \
     {                                                                         \
-        memmove( (p_ar) + (i_pos),                                            \
-                 (p_ar) + (i_pos) + 1,                                        \
-                 ((i_oldsize) - (i_pos) - 1) * sizeof( *(p_ar) ) );           \
+        if( (i_oldsize) - (i_pos) - 1 )                                       \
+        {                                                                     \
+            memmove( (p_ar) + (i_pos),                                        \
+                     (p_ar) + (i_pos) + 1,                                    \
+                     ((i_oldsize) - (i_pos) - 1) * sizeof( *(p_ar) ) );       \
+        }                                                                     \
         if( i_oldsize > 1 )                                                   \
         {                                                                     \
             (p_ar) = realloc( p_ar, ((i_oldsize) - 1) * sizeof( *(p_ar) ) );  \
@@ -494,7 +517,8 @@ static inline uint64_t U64_AT( void * _p )
 
 #ifndef HAVE_STRNDUP
 #   if defined(STRNDUP_IN_GNOME_H) && \
-        (defined(MODULE_NAME_IS_gnome)||defined(MODULE_NAME_IS_gnome_main))
+        (defined(MODULE_NAME_IS_gnome)||defined(MODULE_NAME_IS_gnome_main)||\
+         defined(MODULE_NAME_IS_gnome2)||defined(MODULE_NAME_IS_gnome2_main))
         /* Do nothing: gnome.h defines strndup for us */
 #   else
 #       define strndup vlc_strndup
@@ -521,7 +545,9 @@ static inline uint64_t U64_AT( void * _p )
 #ifndef HAVE_STRCASECMP
 #   ifdef HAVE_STRICMP
 #       define strcasecmp stricmp
-#       define vlc_strcasecmp NULL
+#       if !defined(__PLUGIN__)
+#           define vlc_strcasecmp NULL
+#       endif
 #   elif !defined(__PLUGIN__)
 #       define strcasecmp vlc_strcasecmp
         VLC_EXPORT( int, vlc_strcasecmp, ( const char *s1, const char *s2 ) );
@@ -533,7 +559,9 @@ static inline uint64_t U64_AT( void * _p )
 #ifndef HAVE_STRNCASECMP
 #   ifdef HAVE_STRNICMP
 #       define strncasecmp strnicmp
-#       define vlc_strncasecmp NULL
+#       if !defined(__PLUGIN__)
+#           define vlc_strncasecmp NULL
+#       endif
 #   elif !defined(__PLUGIN__)
 #       define strncasecmp vlc_strncasecmp
         VLC_EXPORT( int, vlc_strncasecmp, ( const char *s1, const char *s2, size_t n ) );
@@ -560,7 +588,7 @@ static inline uint64_t U64_AT( void * _p )
 #endif /* defined(WIN32)||defined(UNDER_CE) */
 
 /* 64 bits integer constant suffix */
-#if !defined(WIN32) && !defined(UNDER_CE)
+#if defined( __MINGW32__ ) || (!defined(WIN32) && !defined(UNDER_CE))
 #   define I64C(x)         x##LL
 #else
 #   define I64C(x)         x##i64
@@ -608,6 +636,10 @@ typedef __int64 off_t;
 
 #   ifndef O_NONBLOCK
 #       define O_NONBLOCK 0
+#   endif
+
+#   ifndef alloca
+#       define alloca _alloca
 #   endif
 
     /* These two are not defined in mingw32 (bug?) */
@@ -648,19 +680,21 @@ typedef __int64 off_t;
 VLC_EXPORT( char *, vlc_dgettext, ( const char *package, const char *msgid ) );
 
 #if defined( ENABLE_NLS ) && \
-     (defined(MODULE_NAME_IS_gnome)||defined(MODULE_NAME_IS_gtk) \
-      ||defined(MODULE_NAME_IS_gnome_main)||defined(MODULE_NAME_IS_gtk_main) \
-      ||defined(MODULE_NAME_IS_familiar))
-    /* Declare nothing: gtk.h will do it for us */
-#elif defined( ENABLE_NLS ) && defined( HAVE_INCLUDED_GETTEXT )
+     (defined(MODULE_NAME_IS_gnome)||defined(MODULE_NAME_IS_gnome_main)||\
+      defined(MODULE_NAME_IS_gnome2)||defined(MODULE_NAME_IS_gnome2_main))
+    /* Declare nothing: gnome.h will do it for us */
+#elif defined( ENABLE_NLS )
+#if defined( HAVE_INCLUDED_GETTEXT )
 #   include "libintl.h"
-#   undef _
-#   define _(String) vlc_dgettext (PACKAGE, String)
-#   define N_(String) ((char*)(String))
-#elif defined( ENABLE_NLS ) && defined( HAVE_GETTEXT )
+#else
 #   include <libintl.h>
+#endif
 #   undef _
-#   define _(String) dgettext (PACKAGE, String)
+#if defined( __BORLANDC__ )
+#define _(String) vlc_dgettext (PACKAGE_TARNAME, String)
+#else
+#   define _(String) vlc_dgettext (PACKAGE, String)
+#endif
 #   define N_(String) ((char*)(String))
 #else
 #   define _(String) ((char*)(String))