VLC  4.0.0-dev
configuration.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * configuration.h management of the modules configuration
3  *****************************************************************************
4  * Copyright (C) 2007 VLC authors and VideoLAN
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2.1 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
19  *****************************************************************************/
20 
21 #ifndef LIBVLC_CONFIGURATION_H
22 # define LIBVLC_CONFIGURATION_H 1
23 
24 # ifdef __cplusplus
25 extern "C" {
26 # endif
27 
28 /* Internal configuration prototypes and structures */
29 
30 int config_CreateDir( vlc_object_t *, const char * );
32 
33 void config_Free (module_config_t *, size_t);
34 
35 int config_LoadCmdLine ( vlc_object_t *, int, const char *[], int * );
37 #define config_LoadCmdLine(a,b,c,d) config_LoadCmdLine(VLC_OBJECT(a),b,c,d)
38 #define config_LoadConfigFile(a) config_LoadConfigFile(VLC_OBJECT(a))
40 
41 int config_SortConfig (void);
42 void config_UnsortConfig (void);
43 
44 #define CONFIG_CLASS(x) ((x) & ~0x1F)
45 
46 #define IsConfigStringType(type) \
47  (((type) & CONFIG_ITEM_STRING) != 0)
48 #define IsConfigIntegerType(type) \
49  (((type) & CONFIG_ITEM_INTEGER) != 0)
50 #define IsConfigFloatType(type) \
51  ((type) == CONFIG_ITEM_FLOAT)
52 
54 extern bool config_dirty;
55 
56 bool config_IsSafe (const char *);
57 
58 /**
59  * Gets the arch-specific installation directory.
60  *
61  * This function determines the directory containing the architecture-specific
62  * installed asset files (such as executable plugins and compiled byte code).
63  *
64  * @return a heap-allocated string (use free() to release it), or NULL on error
65  */
67 
68 /* The configuration file */
69 #define CONFIG_FILE "vlcrc"
70 
71 # ifdef __cplusplus
72 }
73 # endif
74 #endif
#define config_LoadCmdLine(a, b, c, d)
Definition: configuration.h:37
Configuration item.
Definition: vlc_configuration.h:76
pthread_rwlock_t vlc_rwlock_t
Read/write lock.
Definition: vlc_threads.h:225
bool config_dirty
Definition: core.c:41
int config_AutoSaveConfigFile(vlc_object_t *)
Definition: file.c:530
#define VLC_MALLOC
Heap allocated result function annotation.
Definition: vlc_common.h:167
bool config_IsSafe(const char *)
Definition: core.c:73
void config_UnsortConfig(void)
Definition: core.c:442
int config_SortConfig(void)
Index the configuration items by name for faster lookups.
Definition: core.c:408
void config_Free(module_config_t *, size_t)
Destroys an array of configuration items.
Definition: core.c:468
bool config_PrintHelp(vlc_object_t *)
Checks for help command line options such as –help or –version.
Definition: help.c:95
vlc_rwlock_t config_lock
Definition: core.c:40
#define config_LoadConfigFile(a)
Definition: configuration.h:38
int config_CreateDir(vlc_object_t *, const char *)
Definition: file.c:271
char * config_GetLibDir(void) VLC_USED VLC_MALLOC
Gets the arch-specific installation directory.
Definition: dirs.m:91
VLC object common members.
Definition: vlc_objects.h:43
#define VLC_USED
Definition: fourcc_gen.c:32