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

file.h File Reference

Go to the source code of this file.

Data Structures

struct  magic
union  magic::VALUETYPE
struct  mlist
struct  magic_set
struct  magic_set::cont
struct  magic_set::out
struct  fmagic_s

Defines

#define HOWMANY   65536
#define MAXMAGIS   4096
#define MAXDESC   64
#define MAXstring   32
#define MAGICNO   0xF11E041C
#define VERSIONNO   2
#define FILE_MAGICSIZE   (32 * 4)
#define FILE_CHECK   1
#define FILE_COMPILE   2
#define INDIR   1
#define UNSIGNED   2
#define OFFADD   4
#define FILE_BYTE   1
#define FILE_SHORT   2
#define FILE_LONG   4
#define FILE_STRING   5
#define FILE_DATE   6
#define FILE_BESHORT   7
#define FILE_BELONG   8
#define FILE_BEDATE   9
#define FILE_LESHORT   10
#define FILE_LELONG   11
#define FILE_LEDATE   12
#define FILE_PSTRING   13
#define FILE_LDATE   14
#define FILE_BELDATE   15
#define FILE_LELDATE   16
#define FILE_REGEX   17
#define FILE_OPS   "&|^+-*%/"
#define FILE_OPAND   0
#define FILE_OPOR   1
#define FILE_OPXOR   2
#define FILE_OPADD   3
#define FILE_OPMINUS   4
#define FILE_OPMULTIPLY   5
#define FILE_OPDIVIDE   6
#define FILE_OPMODULO   7
#define FILE_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),
  FMAGIC_FLAGS_NOPAD = (1 << 7)
}

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 file_printf (const fmagic fm, const char *f,...)
const char * file_fmttime (uint32_t v, int local)
void file_magwarn (const char *f,...)
void file_mdump (struct magic *m)
void file_showstr (FILE *fp, const char *s, size_t len)
uint32_t file_signextend (struct magic *m, uint32_t v)
int file_pipe2file (int fd, const void *startbuf, size_t nbytes)

Variables

fmagic global_fmagic
const char * default_magicfile


Define Documentation

#define BIT  )     (1 << (A))
 

Definition at line 125 of file file.h.

#define CHAR_COMPACT_BLANK   'B'
 

Definition at line 130 of file file.h.

Referenced by file_mdump(), and parse().

#define CHAR_COMPACT_OPTIONAL_BLANK   'b'
 

Definition at line 131 of file file.h.

Referenced by file_mdump(), and parse().

#define CHAR_IGNORE_LOWERCASE   'c'
 

Definition at line 129 of file file.h.

Referenced by file_mdump(), and parse().

#define FILE_BEDATE   9
 

Definition at line 77 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), and fmagicSPrint().

#define FILE_BELDATE   15
 

Definition at line 83 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), and fmagicSPrint().

#define FILE_BELONG   8
 

Definition at line 76 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), fmagicSGet(), and fmagicSPrint().

#define FILE_BESHORT   7
 

Definition at line 75 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), fmagicSGet(), and fmagicSPrint().

#define FILE_BYTE   1
 

Definition at line 70 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), fmagicSGet(), and fmagicSPrint().

#define FILE_CHECK   1
 

Definition at line 54 of file file.h.

Referenced by fmagicSetup().

#define FILE_COMPILE   2
 

Definition at line 55 of file file.h.

#define FILE_DATE   6
 

Definition at line 74 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), and fmagicSPrint().

#define FILE_LDATE   14
 

Definition at line 82 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), and fmagicSPrint().

#define FILE_LEDATE   12
 

Definition at line 80 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), and fmagicSPrint().

#define FILE_LELDATE   16
 

Definition at line 84 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), and fmagicSPrint().

#define FILE_LELONG   11
 

Definition at line 79 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), fmagicSGet(), and fmagicSPrint().

#define FILE_LESHORT   10
 

Definition at line 78 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), fmagicSGet(), and fmagicSPrint().

#define FILE_LONG   4
 

Definition at line 72 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), fmagicSGet(), and fmagicSPrint().

#define FILE_MAGICSIZE   (32 * 4)
 

Definition at line 52 of file file.h.

#define FILE_OPADD   3
 

Definition at line 95 of file file.h.

Referenced by fmagicSConvert(), and fmagicSGet().

#define FILE_OPAND   0
 

Definition at line 92 of file file.h.

Referenced by fmagicSConvert(), and fmagicSGet().

#define FILE_OPDIVIDE   6
 

Definition at line 98 of file file.h.

Referenced by fmagicSConvert(), and fmagicSGet().

#define FILE_OPINVERSE   0x80
 

Definition at line 100 of file file.h.

#define FILE_OPMINUS   4
 

Definition at line 96 of file file.h.

Referenced by fmagicSConvert(), and fmagicSGet().

#define FILE_OPMODULO   7
 

Definition at line 99 of file file.h.

Referenced by fmagicSConvert(), and fmagicSGet().

#define FILE_OPMULTIPLY   5
 

Definition at line 97 of file file.h.

Referenced by fmagicSConvert(), and fmagicSGet().

#define FILE_OPOR   1
 

Definition at line 93 of file file.h.

Referenced by fmagicSConvert(), and fmagicSGet().

#define FILE_OPS   "&|^+-*%/"
 

Definition at line 91 of file file.h.

#define FILE_OPXOR   2
 

Definition at line 94 of file file.h.

Referenced by fmagicSConvert(), and fmagicSGet().

#define FILE_PSTRING   13
 

Definition at line 81 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), fmagicSPrint(), and getvalue().

#define FILE_REGEX   17
 

Definition at line 85 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), and fmagicSPrint().

#define FILE_SHORT   2
 

Definition at line 71 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), fmagicSGet(), and fmagicSPrint().

#define FILE_STRING   5
 

Definition at line 73 of file file.h.

Referenced by file_mdump(), file_signextend(), fmagicSCheck(), fmagicSConvert(), fmagicSPrint(), getvalue(), and parse().

#define HOWMANY   65536
 

Definition at line 44 of file file.h.

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

#define INDIR   1
 

Definition at line 62 of file file.h.

#define MAGICNO   0xF11E041C
 

Definition at line 50 of file file.h.

#define MAXDESC   64
 

Definition at line 47 of file file.h.

#define MAXMAGIS   4096
 

Definition at line 46 of file file.h.

#define MAXstring   32
 

Definition at line 48 of file file.h.

#define OFFADD   4
 

Definition at line 64 of file file.h.

#define STRING_COMPACT_BLANK   BIT(1)
 

Definition at line 127 of file file.h.

#define STRING_COMPACT_OPTIONAL_BLANK   BIT(2)
 

Definition at line 128 of file file.h.

#define STRING_IGNORE_LOWERCASE   BIT(0)
 

Definition at line 126 of file file.h.

#define UNSIGNED   2
 

Definition at line 63 of file file.h.

Referenced by file_mdump().

#define VERSIONNO   2
 

Definition at line 51 of file file.h.

Referenced by apprentice_compile(), and apprentice_map().


Typedef Documentation

typedef struct fmagic_s* fmagic
 

Definition at line 204 of file file.h.

Referenced by apprentice_1(), apprentice_compile(), apprentice_file(), apprentice_map(), file_magwarn(), file_printf(), fmagicA(), fmagicD(), fmagicF(), fmagicProcess(), fmagicS(), fmagicSCheck(), fmagicSConvert(), fmagicSetup(), fmagicSGet(), fmagicSMatch(), fmagicSPrint(), fmagicZ(), is_tar(), main(), rpmfcClassify(), and unwrap().


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?
FMAGIC_FLAGS_NOPAD  don't pad output

Definition at line 163 of file file.h.


Function Documentation

const char* file_fmttime uint32_t  v,
int  local
 

Definition at line 205 of file print.c.

Referenced by file_mdump(), and fmagicSPrint().

void file_magwarn const char *  f,
  ...
 

Definition at line 163 of file print.c.

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

Referenced by file_signextend(), and parse().

void file_mdump struct magic m  ) 
 

Definition at line 47 of file print.c.

References CHAR_COMPACT_BLANK, CHAR_COMPACT_OPTIONAL_BLANK, CHAR_IGNORE_LOWERCASE, FILE_BEDATE, FILE_BELDATE, FILE_BELONG, FILE_BESHORT, FILE_BYTE, FILE_DATE, file_fmttime(), FILE_LDATE, FILE_LEDATE, FILE_LELDATE, FILE_LELONG, FILE_LESHORT, FILE_LONG, FILE_PSTRING, FILE_REGEX, FILE_SHORT, file_showstr(), FILE_STRING, SZOF, and UNSIGNED.

Referenced by fmagicSGet(), and parse().

int file_pipe2file int  fd,
const 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 file_printf const fmagic  fm,
const char *  f,
  ...
 

Definition at line 184 of file print.c.

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

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

void file_showstr FILE *  fp,
const char *  s,
size_t  len
 

Definition at line 675 of file apprentice.c.

Referenced by file_mdump(), and fmagicSDebug().

uint32_t file_signextend struct magic m,
uint32_t  v
 

Definition at line 88 of file apprentice.c.

References FILE_BEDATE, FILE_BELDATE, FILE_BELONG, FILE_BESHORT, FILE_BYTE, FILE_DATE, FILE_LDATE, FILE_LEDATE, FILE_LELDATE, FILE_LELONG, FILE_LESHORT, FILE_LONG, file_magwarn(), FILE_PSTRING, FILE_REGEX, FILE_SHORT, FILE_STRING, magic::flag, and magic::type.

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

int fmagicA fmagic  fm  ) 
 

Definition at line 513 of file ascmagic.c.

References fmagic_s::buf, file_printf(), fmagic_s::flags, fmagic, FMAGIC_FLAGS_MIME, fmagicAMatch(), from_ebcdic(), HOWMANY, is_tar(), ISSPC, looks_ascii(), looks_extended(), looks_latin1(), looks_unicode(), looks_utf8(), names::name, fmagic_s::nb, names::type, and unichar.

Referenced by fmagicF().

int fmagicD fmagic  fm  ) 
 

Definition at line 38 of file fsmagic.c.

References errno, error(), EXIT_FAILURE, file_printf(), fmagic, FMAGIC_FLAGS_MIME, fmagicProcess(), major, minor, S_IFSOCK, 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 file_printf(), fmagic_s::flags, fmagic, FMAGIC_FLAGS_MIME, fmagicA(), fmagicS(), and fmagicZ().

Referenced by fmagicProcess(), and fmagicZ().

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, file_printf(), fmagic_s::flags, fmagic, FMAGIC_FLAGS_MIME, FMAGIC_FLAGS_NOPAD, FMAGIC_FLAGS_UNCOMPRESS, fmagicD(), fmagicE(), fmagicF(), fmagic_s::fn, HOWMANY, fmagic_s::nb, fmagic_s::sb, fmagic_s::separator, strerror(), and xmalloc().

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

int fmagicS fmagic  fm  ) 
 

Definition at line 1067 of file softmagic.c.

References fmagic, 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 1075 of file apprentice.c.

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

Referenced by main(), and rpmfcClassify().

int fmagicZ fmagic  fm  ) 
 

Definition at line 342 of file compress.c.

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

Referenced by fmagicF().


Variable Documentation

const char* default_magicfile
 

Definition at line 82 of file apprentice.c.

fmagic global_fmagic
 

Definition at line 40 of file print.c.


Generated on Fri May 22 11:59:49 2009 for rpm by  doxygen 1.3.9.1