/*****************************************************************************
* vlc_plugin.h : Macros used from within a module.
*****************************************************************************
- * Copyright (C) 2001-2006 the VideoLAN team
+ * Copyright (C) 2001-2006 VLC authors and VideoLAN
* Copyright © 2007-2009 Rémi Denis-Courmont
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifndef LIBVLC_MODULES_MACROS_H
/* Insert new VLC_CONFIG_* here */
};
+/* Configuration hint types */
+#define CONFIG_HINT_CATEGORY 0x02 /* Start of new category */
+#define CONFIG_HINT_SUBCATEGORY 0x03 /* Start of sub-category */
+#define CONFIG_HINT_SUBCATEGORY_END 0x04 /* End of sub-category */
+#define CONFIG_HINT_USAGE 0x05 /* Usage information */
+
+#define CONFIG_CATEGORY 0x06 /* Set category */
+#define CONFIG_SUBCATEGORY 0x07 /* Set subcategory */
+#define CONFIG_SECTION 0x08 /* Start of new section */
+
+/* Configuration item types */
+#define CONFIG_ITEM_FLOAT 0x20 /* Float option */
+#define CONFIG_ITEM_INTEGER 0x40 /* Integer option */
+#define CONFIG_ITEM_RGB 0x41 /* RGB color option */
+#define CONFIG_ITEM_BOOL 0x60 /* Bool option */
+#define CONFIG_ITEM_STRING 0x80 /* String option */
+#define CONFIG_ITEM_PASSWORD 0x81 /* Password option (*) */
+#define CONFIG_ITEM_KEY 0x82 /* Hot key option */
+#define CONFIG_ITEM_MODULE 0x84 /* Module option */
+#define CONFIG_ITEM_MODULE_CAT 0x85 /* Module option */
+#define CONFIG_ITEM_MODULE_LIST 0x86 /* Module option */
+#define CONFIG_ITEM_MODULE_LIST_CAT 0x87 /* Module option */
+#define CONFIG_ITEM_LOADFILE 0x8C /* Read file option */
+#define CONFIG_ITEM_SAVEFILE 0x8D /* Written file option */
+#define CONFIG_ITEM_DIRECTORY 0x8E /* Directory option */
+#define CONFIG_ITEM_FONT 0x8F /* Font option */
+
+#define CONFIG_ITEM(x) (((x) & ~0xF) != 0)
+
+/* Categories and subcategories */
+#define CAT_INTERFACE 1
+#define SUBCAT_INTERFACE_GENERAL 101
+#define SUBCAT_INTERFACE_MAIN 102
+#define SUBCAT_INTERFACE_CONTROL 103
+#define SUBCAT_INTERFACE_HOTKEYS 104
+
+#define CAT_AUDIO 2
+#define SUBCAT_AUDIO_GENERAL 201
+#define SUBCAT_AUDIO_AOUT 202
+#define SUBCAT_AUDIO_AFILTER 203
+#define SUBCAT_AUDIO_VISUAL 204
+#define SUBCAT_AUDIO_MISC 205
+
+#define CAT_VIDEO 3
+#define SUBCAT_VIDEO_GENERAL 301
+#define SUBCAT_VIDEO_VOUT 302
+#define SUBCAT_VIDEO_VFILTER 303
+#define SUBCAT_VIDEO_TEXT 304
+#define SUBCAT_VIDEO_SUBPIC 305
+#define SUBCAT_VIDEO_VFILTER2 306
+
+#define CAT_INPUT 4
+#define SUBCAT_INPUT_GENERAL 401
+#define SUBCAT_INPUT_ACCESS 402
+#define SUBCAT_INPUT_DEMUX 403
+#define SUBCAT_INPUT_VCODEC 404
+#define SUBCAT_INPUT_ACODEC 405
+#define SUBCAT_INPUT_SCODEC 406
+#define SUBCAT_INPUT_STREAM_FILTER 407
+
+#define CAT_SOUT 5
+#define SUBCAT_SOUT_GENERAL 501
+#define SUBCAT_SOUT_STREAM 502
+#define SUBCAT_SOUT_MUX 503
+#define SUBCAT_SOUT_ACO 504
+#define SUBCAT_SOUT_PACKETIZER 505
+#define SUBCAT_SOUT_SAP 506
+#define SUBCAT_SOUT_VOD 507
+
+#define CAT_ADVANCED 6
+#define SUBCAT_ADVANCED_CPU 601
+#define SUBCAT_ADVANCED_MISC 602
+#define SUBCAT_ADVANCED_NETWORK 603
+#define SUBCAT_ADVANCED_XML 604
+
+#define CAT_PLAYLIST 7
+#define SUBCAT_PLAYLIST_GENERAL 701
+#define SUBCAT_PLAYLIST_SD 702
+#define SUBCAT_PLAYLIST_EXPORT 703
+
+#define CAT_OSD 8
+#define SUBCAT_OSD_IMPORT 801
+
+
/**
* Current plugin ABI version
*/
-# define MODULE_SYMBOL 1_2_0i
-# define MODULE_SUFFIX "__1_2_0i"
+# define MODULE_SYMBOL 2_1_0a
+# define MODULE_SUFFIX "__2_1_0a"
/*****************************************************************************
* Add a few defines. You do not want to read this section. Really.