XMMS2
Macros | Typedefs | Enumerations | Functions
magic.c File Reference
#include <glib.h>
#include <glib/gprintf.h>
#include <string.h>
#include <stdlib.h>
#include "xmms/xmms_log.h"
#include "xmmspriv/xmms_xform.h"

Go to the source code of this file.

Macros

#define SWAP16(v, endian)
 
#define SWAP32(v, endian)
 
#define CMP(v1, entry, v2)
 

Typedefs

typedef enum xmms_magic_entry_type_St xmms_magic_entry_type_t
 
typedef enum xmms_magic_entry_operator_St xmms_magic_entry_operator_t
 
typedef struct xmms_magic_entry_St xmms_magic_entry_t
 
typedef struct xmms_magic_checker_St xmms_magic_checker_t
 
typedef struct xmms_magic_ext_data_St xmms_magic_ext_data_t
 

Enumerations

enum  xmms_magic_entry_type_St {
  XMMS_MAGIC_ENTRY_TYPE_UNKNOWN = 0, XMMS_MAGIC_ENTRY_TYPE_BYTE, XMMS_MAGIC_ENTRY_TYPE_INT16, XMMS_MAGIC_ENTRY_TYPE_INT32,
  XMMS_MAGIC_ENTRY_TYPE_STRING, XMMS_MAGIC_ENTRY_TYPE_STRINGC
}
 
enum  xmms_magic_entry_operator_St {
  XMMS_MAGIC_ENTRY_OPERATOR_EQUAL = 0, XMMS_MAGIC_ENTRY_OPERATOR_LESS_THAN, XMMS_MAGIC_ENTRY_OPERATOR_GREATER_THAN, XMMS_MAGIC_ENTRY_OPERATOR_AND,
  XMMS_MAGIC_ENTRY_OPERATOR_NAND
}
 

Functions

gboolean xmms_magic_extension_add (const gchar *mime, const gchar *ext)
 
gboolean xmms_magic_add (const gchar *desc, const gchar *mime,...)
 
 XMMS_XFORM_BUILTIN (magic, "Magic file identifier", XMMS_VERSION, "Magic file identifier", xmms_magic_plugin_setup)
 

Macro Definition Documentation

◆ CMP

#define CMP (   v1,
  entry,
  v2 
)
Value:
if (entry->pre_test_and_op) { \
v1 &= entry->pre_test_and_op; \
} \
\
switch (entry->oper) { \
return v1 == v2; \
return v1 < v2; \
return v1 > v2; \
return (v1 & v2) == v2; \
return (v1 & v2) != v2; \
} \

Definition at line 42 of file magic.c.

◆ SWAP16

#define SWAP16 (   v,
  endian 
)
Value:
if (endian == G_LITTLE_ENDIAN) { \
v = GUINT16_TO_LE (v); \
} else if (endian == G_BIG_ENDIAN) { \
v = GUINT16_TO_BE (v); \
}

Definition at line 28 of file magic.c.

◆ SWAP32

#define SWAP32 (   v,
  endian 
)
Value:
if (endian == G_LITTLE_ENDIAN) { \
v = GUINT32_TO_LE (v); \
} else if (endian == G_BIG_ENDIAN) { \
v = GUINT32_TO_BE (v); \
}

Definition at line 35 of file magic.c.

Typedef Documentation

◆ xmms_magic_checker_t

typedef struct xmms_magic_checker_St xmms_magic_checker_t

◆ xmms_magic_entry_operator_t

◆ xmms_magic_entry_t

typedef struct xmms_magic_entry_St xmms_magic_entry_t

◆ xmms_magic_entry_type_t

◆ xmms_magic_ext_data_t

typedef struct xmms_magic_ext_data_St xmms_magic_ext_data_t

Enumeration Type Documentation

◆ xmms_magic_entry_operator_St

Enumerator
XMMS_MAGIC_ENTRY_OPERATOR_EQUAL 
XMMS_MAGIC_ENTRY_OPERATOR_LESS_THAN 
XMMS_MAGIC_ENTRY_OPERATOR_GREATER_THAN 
XMMS_MAGIC_ENTRY_OPERATOR_AND 
XMMS_MAGIC_ENTRY_OPERATOR_NAND 

Definition at line 69 of file magic.c.

◆ xmms_magic_entry_type_St

Enumerator
XMMS_MAGIC_ENTRY_TYPE_UNKNOWN 
XMMS_MAGIC_ENTRY_TYPE_BYTE 
XMMS_MAGIC_ENTRY_TYPE_INT16 
XMMS_MAGIC_ENTRY_TYPE_INT32 
XMMS_MAGIC_ENTRY_TYPE_STRING 
XMMS_MAGIC_ENTRY_TYPE_STRINGC 

Definition at line 60 of file magic.c.

Function Documentation

◆ XMMS_XFORM_BUILTIN()

XMMS_XFORM_BUILTIN ( magic  ,
"Magic file identifier"  ,
XMMS_VERSION  ,
"Magic file identifier"  ,
xmms_magic_plugin_setup   
)