+struct libvlc_global_data_t
+{
+ VLC_COMMON_MEMBERS
+
+ vlc_bool_t b_ready; ///< Initialization boolean
+ uint32_t i_cpu; ///< CPU extensions
+
+ int i_verbose; ///< info messages
+ vlc_bool_t b_color; ///< color messages?
+
+ /* Object structure data */
+ int i_counter; ///< object counter
+ int i_objects; ///< Attached objects count
+ vlc_object_t ** pp_objects; ///< Array of all objects
+
+ msg_bank_t msg_bank; ///< The message bank
+
+ module_bank_t * p_module_bank; ///< The module bank
+
+ vlc_bool_t b_stats; ///< Should we collect stats
+ /* Timers handling */
+ vlc_mutex_t timer_lock; ///< Lock to protect timers
+ int i_timers; ///< Number of timers
+ counter_t **pp_timers; ///< Array of all timers
+
+ intf_thread_t *p_probe; ///< Devices prober
+
+ /* Arch-specific variables */
+#if !defined( WIN32 )
+ vlc_bool_t b_daemon;
+#endif
+#if defined( SYS_BEOS )
+ vlc_object_t * p_appthread;
+ char * psz_vlcpath;
+#elif defined( __APPLE__ )
+ char * psz_vlcpath;
+ vlc_iconv_t iconv_macosx; /* for HFS+ file names */
+ vlc_mutex_t iconv_lock;
+#elif defined( WIN32 ) && !defined( UNDER_CE )
+ SIGNALOBJECTANDWAIT SignalObjectAndWait;
+ vlc_bool_t b_fast_mutex;
+ int i_win9x_cv;
+ char * psz_vlcpath;
+#elif defined( UNDER_CE )
+ char * psz_vlcpath;
+#endif
+};