Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

file/file.h File Reference

Go to the source code of this file.

Data Structures

struct  fmagic_s
struct  magic
union  VALUETYPE
struct  mlist

Defines

#define HOWMANY   65536
#define MAXMAGIS   4096
#define MAXDESC   50
#define MAXstring   32
#define MAGICNO   0xF11E041C
#define VERSIONNO   1
#define CHECK   1
#define COMPILE   2
#define INDIR   1
#define UNSIGNED   2
#define OFFADD   4
#define BYTE   1
#define SHORT   2
#define LONG   4
#define STRING   5
#define DATE   6
#define BESHORT   7
#define BELONG   8
#define BEDATE   9
#define LESHORT   10
#define LELONG   11
#define LEDATE   12
#define PSTRING   13
#define LDATE   14
#define BELDATE   15
#define LELDATE   16
#define REGEX   17
#define OPAND   1
#define OPOR   2
#define OPXOR   3
#define OPADD   4
#define OPMINUS   5
#define OPMULTIPLY   6
#define OPDIVIDE   7
#define OPMODULO   8
#define OPINVERSE   0x80
#define BIT(A)   (1 << (A))
#define STRING_IGNORE_LOWERCASE   BIT(0)
#define STRING_COMPACT_BLANK   BIT(1)
#define STRING_COMPACT_OPTIONAL_BLANK   BIT(2)
#define CHAR_IGNORE_LOWERCASE   'c'
#define CHAR_COMPACT_BLANK   'B'
#define CHAR_COMPACT_OPTIONAL_BLANK   'b'

Typedefs

typedef fmagic_sfmagic

Enumerations

enum  fmagicFlags_e {
  FMAGIC_FLAGS_NONE = 0, FMAGIC_FLAGS_DEBUG = (1 << 0), FMAGIC_FLAGS_BRIEF = (1 << 1), FMAGIC_FLAGS_MIME = (1 << 2),
  FMAGIC_FLAGS_CONTINUE = (1 << 3), FMAGIC_FLAGS_FOLLOW = (1 << 4), FMAGIC_FLAGS_SPECIAL = (1 << 5), FMAGIC_FLAGS_UNCOMPRESS = (1 << 6)
}

Functions

int fmagicSetup (fmagic fm, const char *fn, int action)
int fmagicProcess (fmagic fm, const char *fn, int wid)
int fmagicA (fmagic fm)
int fmagicD (fmagic fm)
void fmagicE (fmagic fm)
int fmagicF (fmagic fm, int zfl)
int fmagicS (fmagic fm)
int fmagicZ (fmagic fm)
void fmagicPrintf (const fmagic fm, const char *f,...)
char * fmttime (long v, int local)
void magwarn (const char *f,...)
void mdump (struct magic *m)
void showstr (FILE *fp, const char *s, int len)
uint32_t signextend (struct magic *m, uint32_t v)
int pipe2file (int fd, void *startbuf, size_t nbytes)

Variables

magic __packed__
fmagic global_fmagic
const char * default_magicfile


Define Documentation

#define BEDATE   9
 

Definition at line 65 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSPrint(), mdump(), parse(), and signextend().

#define BELDATE   15
 

Definition at line 71 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSPrint(), mdump(), parse(), and signextend().

#define BELONG   8
 

Definition at line 64 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSGet(), fmagicSPrint(), mdump(), parse(), and signextend().

#define BESHORT   7
 

Definition at line 63 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSGet(), fmagicSPrint(), mdump(), parse(), and signextend().

#define BIT      (1 << (A))
 

Definition at line 100 of file file.h.

#define BYTE   1
 

Definition at line 58 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSGet(), fmagicSPrint(), mdump(), parse(), and signextend().

#define CHAR_COMPACT_BLANK   'B'
 

Definition at line 105 of file file.h.

Referenced by mdump(), and parse().

#define CHAR_COMPACT_OPTIONAL_BLANK   'b'
 

Definition at line 106 of file file.h.

Referenced by mdump(), and parse().

#define CHAR_IGNORE_LOWERCASE   'c'
 

Definition at line 104 of file file.h.

Referenced by mdump(), and parse().

#define CHECK   1
 

Definition at line 44 of file file.h.

Referenced by apprentice_file(), fmagicSetup(), main(), and parse().

#define COMPILE   2
 

Definition at line 45 of file file.h.

Referenced by apprentice_1(), and main().

#define DATE   6
 

Definition at line 62 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSPrint(), mdump(), parse(), and signextend().

#define HOWMANY   65536
 

Definition at line 35 of file file.h.

Referenced by fmagicA(), fmagicProcess(), and uncompressbuf().

#define INDIR   1
 

Definition at line 51 of file file.h.

Referenced by fmagicSGet(), mdump(), and parse().

#define LDATE   14
 

Definition at line 70 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSPrint(), mdump(), parse(), and signextend().

#define LEDATE   12
 

Definition at line 68 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSPrint(), mdump(), parse(), and signextend().

#define LELDATE   16
 

Definition at line 72 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSPrint(), mdump(), parse(), and signextend().

#define LELONG   11
 

Definition at line 67 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSGet(), fmagicSPrint(), mdump(), parse(), and signextend().

#define LESHORT   10
 

Definition at line 66 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSGet(), fmagicSPrint(), mdump(), parse(), and signextend().

#define LONG   4
 

Definition at line 60 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSGet(), fmagicSPrint(), mdump(), parse(), and signextend().

#define MAGICNO   0xF11E041C
 

Definition at line 41 of file file.h.

Referenced by apprentice_compile(), and apprentice_map().

#define MAXDESC   50
 

Definition at line 38 of file file.h.

Referenced by parse().

#define MAXMAGIS   4096
 

Definition at line 37 of file file.h.

Referenced by apprentice_file().

#define MAXstring   32
 

Definition at line 39 of file file.h.

#define OFFADD   4
 

Definition at line 53 of file file.h.

Referenced by fmagicSMatch(), and parse().

#define OPADD   4
 

Definition at line 79 of file file.h.

Referenced by fmagicSConvert(), fmagicSGet(), and parse().

#define OPAND   1
 

Definition at line 76 of file file.h.

Referenced by fmagicSConvert(), fmagicSGet(), and parse().

#define OPDIVIDE   7
 

Definition at line 82 of file file.h.

Referenced by fmagicSConvert(), fmagicSGet(), and parse().

#define OPINVERSE   0x80
 

Definition at line 84 of file file.h.

Referenced by fmagicSConvert(), fmagicSGet(), mdump(), and parse().

#define OPMINUS   5
 

Definition at line 80 of file file.h.

Referenced by fmagicSConvert(), fmagicSGet(), and parse().

#define OPMODULO   8
 

Definition at line 83 of file file.h.

Referenced by fmagicSConvert(), fmagicSGet(), and parse().

#define OPMULTIPLY   6
 

Definition at line 81 of file file.h.

Referenced by fmagicSConvert(), fmagicSGet(), and parse().

#define OPOR   2
 

Definition at line 77 of file file.h.

Referenced by fmagicSConvert(), fmagicSGet(), and parse().

#define OPXOR   3
 

Definition at line 78 of file file.h.

Referenced by fmagicSConvert(), fmagicSGet(), and parse().

#define PSTRING   13
 

Definition at line 69 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSPrint(), getvalue(), mdump(), parse(), and signextend().

#define REGEX   17
 

Definition at line 73 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSGet(), fmagicSPrint(), getvalue(), mdump(), parse(), and signextend().

#define SHORT   2
 

Definition at line 59 of file file.h.

Referenced by fmagicSCheck(), fmagicSConvert(), fmagicSGet(), fmagicSPrint(), mdump(), parse(), and signextend().

#define STRING   5
 

Definition at line 61 of file file.h.

Referenced by bs1(), fmagicSCheck(), fmagicSConvert(), fmagicSPrint(), getvalue(), mdump(), parse(), and signextend().

#define STRING_COMPACT_BLANK   BIT(1)
 

Definition at line 102 of file file.h.

Referenced by fmagicSCheck(), mdump(), and parse().

#define STRING_COMPACT_OPTIONAL_BLANK   BIT(2)
 

Definition at line 103 of file file.h.

Referenced by fmagicSCheck(), mdump(), and parse().

#define STRING_IGNORE_LOWERCASE   BIT(0)
 

Definition at line 101 of file file.h.

Referenced by fmagicSCheck(), mdump(), and parse().

#define UNSIGNED   2
 

Definition at line 52 of file file.h.

Referenced by fmagicSCheck(), mdump(), parse(), and signextend().

#define VERSIONNO   1
 

Definition at line 42 of file file.h.

Referenced by apprentice_compile(), and apprentice_map().


Typedef Documentation

typedef struct fmagic_s* fmagic
 

Definition at line 157 of file file.h.


Enumeration Type Documentation

enum fmagicFlags_e
 

Enumeration values:
FMAGIC_FLAGS_NONE 
FMAGIC_FLAGS_DEBUG 
FMAGIC_FLAGS_BRIEF  brief output format
FMAGIC_FLAGS_MIME  output as mime-types
FMAGIC_FLAGS_CONTINUE  continue after 1st match
FMAGIC_FLAGS_FOLLOW  follow symlinks?
FMAGIC_FLAGS_SPECIAL  analyze block devices?
FMAGIC_FLAGS_UNCOMPRESS  uncompress files?

Definition at line 119 of file file.h.


Function Documentation

int fmagicA fmagic    fm
 

Definition at line 511 of file ascmagic.c.

References fmagic_s::buf, fmagic_s::flags, FMAGIC_FLAGS_MIME, fmagicAMatch(), fmagicPrintf(), from_ebcdic(), HOWMANY, is_tar(), ISSPC, looks_ascii(), looks_extended(), looks_latin1(), looks_unicode(), looks_utf8(), MAXLINELEN, fmagic_s::nb, and unichar.

Referenced by fmagicF().

int fmagicD fmagic    fm
 

Definition at line 38 of file fsmagic.c.

References errno, error(), EXIT_FAILURE, fmagic_s::flags, FMAGIC_FLAGS_FOLLOW, FMAGIC_FLAGS_MIME, FMAGIC_FLAGS_SPECIAL, fmagicPrintf(), fmagicProcess(), fmagic_s::fn, major, minor, S_IFSOCK, fmagic_s::sb, and strerror().

Referenced by fmagicProcess().

void fmagicE fmagic    fm
 

Referenced by fmagicProcess().

int fmagicF fmagic    fm,
int    zfl
 

Definition at line 237 of file fsmagic.c.

References fmagic_s::flags, FMAGIC_FLAGS_MIME, fmagicA(), fmagicPrintf(), fmagicS(), and fmagicZ().

Referenced by fmagicProcess(), and fmagicZ().

void fmagicPrintf const fmagic    fm,
const char *    f,
...   
 

Definition at line 182 of file print.c.

References fmagic_s::nob, fmagic_s::obp, fmagic_s::obuf, and vsnprintf().

Referenced by fmagicA(), fmagicD(), fmagicF(), fmagicProcess(), fmagicSMatch(), and fmagicSPrint().

int fmagicProcess fmagic    fm,
const char *    fn,
int    wid
 

Definition at line 275 of file fsmagic.c.

References fmagic_s::buf, errno, error(), EXIT_FAILURE, fmagic_s::fd, fmagic_s::flags, FMAGIC_FLAGS_BRIEF, FMAGIC_FLAGS_MIME, FMAGIC_FLAGS_UNCOMPRESS, fmagicD(), fmagicE(), fmagicF(), fmagicPrintf(), fmagic_s::fn, HOWMANY, fmagic_s::nb, fmagic_s::sb, strerror(), and xmalloc().

Referenced by fmagicD(), main(), rpmfcClassify(), and unwrap().

int fmagicS fmagic    fm
 

Definition at line 1060 of file softmagic.c.

References fmagicSMatch(), fmagic_s::ml, fmagic_s::mlist, and mlist::next.

Referenced by fmagicF().

int fmagicSetup fmagic    fm,
const char *    fn,
int    action
 

Definition at line 1059 of file apprentice.c.

References __progname, apprentice_1(), CHECK, EXIT_FAILURE, fmagic_s::mlist, mlist::next, PATHSEP, mlist::prev, and xstrdup().

Referenced by main(), and rpmfcClassify().

int fmagicZ fmagic    fm
 

Definition at line 309 of file compress.c.

References fmagic_s::buf, compr, fmagicF(), maglen, fmagic_s::nb, ncompr, and uncompressbuf().

Referenced by fmagicF().

char* fmttime long    v,
int    local
 

Definition at line 203 of file print.c.

Referenced by mdump().

void magwarn const char *    f,
...   
 

Definition at line 161 of file print.c.

References __progname, global_fmagic, fmagic_s::lineno, and fmagic_s::magicfile.

Referenced by parse(), and signextend().

void mdump struct magic   m
 

Definition at line 47 of file print.c.

References BEDATE, BELDATE, BELONG, BESHORT, BYTE, CHAR_COMPACT_BLANK, CHAR_COMPACT_OPTIONAL_BLANK, CHAR_IGNORE_LOWERCASE, magic::cont_level, DATE, magic::desc, magic::flag, fmttime(), magic::in_offset, magic::in_op, magic::in_type, INDIR, magic::VALUETYPE::l, LDATE, LEDATE, LELDATE, LELONG, LESHORT, LONG, magic::mask, magic::mask_op, magic::offset, OPINVERSE, PSTRING, REGEX, magic::reln, magic::VALUETYPE::s, SHORT, showstr(), STRING, STRING_COMPACT_BLANK, STRING_COMPACT_OPTIONAL_BLANK, STRING_IGNORE_LOWERCASE, SZOF, magic::type, UNSIGNED, and magic::value.

Referenced by fmagicSGet(), and parse().

int pipe2file int    fd,
void *    startbuf,
size_t    nbytes
 

Definition at line 90 of file compress.c.

References errno, error(), EXIT_FAILURE, SEEK_SET, sread(), strerror(), and swrite().

void showstr FILE *    fp,
const char *    s,
int    len
 

Definition at line 666 of file apprentice.c.

Referenced by fmagicSDebug(), and mdump().

uint32_t signextend struct magic   m,
uint32_t    v
 

Definition at line 79 of file apprentice.c.

References BEDATE, BELDATE, BELONG, BESHORT, BYTE, DATE, magic::flag, LDATE, LEDATE, LELDATE, LELONG, LESHORT, LONG, magwarn(), PSTRING, REGEX, SHORT, STRING, magic::type, and UNSIGNED.

Referenced by fmagicSCheck(), fmagicSPrint(), getvalue(), and parse().


Variable Documentation

struct magic __packed__
 

const char* default_magicfile
 

Definition at line 163 of file file.h.

fmagic global_fmagic
 

Definition at line 160 of file file.h.

Referenced by magwarn().


Generated on Sun Oct 26 13:02:04 2003 for rpm by doxygen1.2.18