diff options
Diffstat (limited to 'core/m_struct.h')
-rw-r--r-- | core/m_struct.h | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/core/m_struct.h b/core/m_struct.h deleted file mode 100644 index b0b0afe23d..0000000000 --- a/core/m_struct.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * This file is part of MPlayer. - * - * MPlayer 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 - * (at your option) any later version. - * - * MPlayer 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. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_M_STRUCT_H -#define MPLAYER_M_STRUCT_H - -#include <stddef.h> -#include <inttypes.h> - -#include "core/bstr.h" - -/// \defgroup OptionsStruct Options struct -/// \ingroup Options -/// An API to manipulate structs using m_option. -///@{ - -/// \file m_struct.h - -struct m_option; - -/// Struct definition -typedef struct m_struct_st { - /// For error messages and debugging - const char* name; - /// size of the whole struct - unsigned int size; - /// Pointer to a struct filled with the default settings - const void* defaults; - /// Field list. - /** The p field of the \ref m_option struct must contain the offset - * of the member in the struct (use M_ST_OFF macro for this). - */ - const struct m_option* fields; -} m_struct_t; - - -/// Get the offset of a struct field. -/** \param struct_type Struct type. - * \param member Name of the field. - * \return The offset of the field in bytes. - */ -#define M_ST_OFF (void *)(uintptr_t)offsetof - -/// Get a pointer to a struct field. -/** \param struct_p Pointer to the struct. - * \param struct_offset Offset of the field in the struct. - * \return Pointer to the struct field. - */ -#define M_ST_MB_P(struct_p, struct_offset) \ - ((void *)((char *)(struct_p) + (uintptr_t)(struct_offset))) - -/// Access a struct field at a given offset. -/** \param member_type Type of the field. - * \param struct_p Pointer to the struct. - * \param struct_offset Offset of the field in the struct. - * \return The struct field at the given offset. - */ -#define M_ST_MB(member_type, struct_p, struct_offset) \ - (*(member_type*) M_ST_MB_P ((struct_p), (struct_offset))) - - - -/// Allocate the struct and set it to the defaults. -/** \param st Struct definition. - * \return The newly allocated object set to default. - */ -void* -m_struct_alloc(const m_struct_t* st); - -/// Set a field of the struct. -/** \param st Struct definition. - * \param obj Pointer to the struct to set. - * \param field Name of the field to set. - * \param param New value of the field. - * \return 0 on error, 1 on success. - */ -int m_struct_set(const m_struct_t *st, void *obj, const char *field, - struct bstr param); - -/// Free an allocated struct. -/** \param st Struct definition. - * \param obj Pointer to the struct to copy. - */ -void -m_struct_free(const m_struct_t* st, void* obj); - -/// Get a field description. -/** \param st Struct definition. - * \param f Name of the field. - * \return The \ref m_option struct describing the field or NULL if not found. - */ -const struct m_option* -m_struct_get_field(const m_struct_t* st,const char* f); - -///@} - -#endif /* MPLAYER_M_STRUCT_H */ |