]> git.sesse.net Git - vlc/blob - src/libvlc.h
Forgot this file
[vlc] / src / libvlc.h
1 /*****************************************************************************
2  * libvlc.h: Internal libvlc generic/misc declaration
3  *****************************************************************************
4  * Copyright © 2006-2007 Rémi Denis-Courmont
5  * $Id$
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
20  *****************************************************************************/
21
22 #ifndef LIBVLC_LIBVLC_H
23 # define LIBVLC_LIBVLC_H 1
24
25 extern const char vlc_usage[];
26
27 extern const module_config_t libvlc_config[];
28 extern const size_t libvlc_config_count;
29
30 extern const struct hotkey libvlc_hotkeys[];
31 extern const size_t libvlc_hotkeys_size;
32
33 extern vlc_object_t *
34 vlc_custom_create (vlc_object_t *p_this, size_t i_size, int i_type,
35                    const char *psz_type);
36
37 #if 0
38 /*****************************************************************************
39  * libvlc_global_data_t (global variable)
40  *****************************************************************************
41  * This structure has an unique instance, statically allocated in main and
42  * never accessed from the outside. It stores once-initialized data such as
43  * the CPU capabilities or the global lock.
44  *****************************************************************************/
45 struct libvlc_global_data_t
46 {
47     VLC_COMMON_MEMBERS
48
49     vlc_bool_t             b_ready;     ///< Initialization boolean
50
51    /* Object structure data */
52     int                    i_counter;   ///< object counter
53     int                    i_objects;   ///< Attached objects count
54     vlc_object_t **        pp_objects;  ///< Array of all objects
55
56     module_bank_t *        p_module_bank; ///< The module bank
57     intf_thread_t         *p_probe;       ///< Devices prober
58
59     /* Arch-specific variables */
60 #if !defined( WIN32 )
61     vlc_bool_t             b_daemon;
62 #endif
63 #if defined( SYS_BEOS )
64     vlc_object_t *         p_appthread;
65     char *                 psz_vlcpath;
66 #elif defined( __APPLE__ )
67     char *                 psz_vlcpath;
68     vlc_iconv_t            iconv_macosx; /* for HFS+ file names */
69     vlc_mutex_t            iconv_lock;
70 #elif defined( WIN32 )
71     char *                 psz_vlcpath;
72 #endif
73 };
74 #endif
75
76
77 extern uint32_t cpu_flags;
78
79 #endif