00001 /* 00002 * 00003 * This file is part of Libav. 00004 * 00005 * Libav is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * Libav is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with Libav; if not, write to the Free Software 00017 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00018 */ 00019 00025 #ifndef AVUTIL_DICT_H 00026 #define AVUTIL_DICT_H 00027 00061 #define AV_DICT_MATCH_CASE 1 00062 #define AV_DICT_IGNORE_SUFFIX 2 00063 #define AV_DICT_DONT_STRDUP_KEY 4 00065 #define AV_DICT_DONT_STRDUP_VAL 8 00067 #define AV_DICT_DONT_OVERWRITE 16 ///< Don't overwrite existing entries. 00068 #define AV_DICT_APPEND 32 00071 typedef struct { 00072 char *key; 00073 char *value; 00074 } AVDictionaryEntry; 00075 00076 typedef struct AVDictionary AVDictionary; 00077 00086 AVDictionaryEntry * 00087 av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags); 00088 00099 int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags); 00100 00109 void av_dict_copy(AVDictionary **dst, AVDictionary *src, int flags); 00110 00115 void av_dict_free(AVDictionary **m); 00116 00121 #endif // AVUTIL_DICT_H