• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

kio

kmimemagic.cpp File Reference

#include "kmimemagic.h"
#include <kdebug.h>
#include <kapplication.h>
#include <qfile.h>
#include <ksimpleconfig.h>
#include <kstandarddirs.h>
#include <kstaticdeleter.h>
#include <klargefile.h>
#include <assert.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <ctype.h>
#include <time.h>
#include <utime.h>
#include <stdarg.h>
#include <qregexp.h>
#include <qstring.h>

Include dependency graph for kmimemagic.cpp:

Go to the source code of this file.


Defines

#define BEDATE   9
#define BELONG   8
#define BESHORT   7
#define BYTE   1
#define DATE   6
#define EATAB
#define FLAG_STRONG   0x1000
#define HOWMANY   4000
#define INDIR   1
#define isodigit(c)   ( ((c) >= '0') && ((c) <= '7') )
#define L_C   0x002
#define L_CPP   0x080
#define L_DIFF   0x400
#define L_HTML   0x001
#define L_JAVA   0x040
#define L_MACH   0x010
#define L_MAIL   0x100
#define L_MAKE   0x004
#define L_NEWS   0x200
#define L_OBJC   0x800
#define L_PAS   0x020
#define L_PLI   0x008
#define LEDATE   12
#define LELONG   11
#define LESHORT   10
#define LONG   4
#define MAXDESC   50
#define MAXMIMESTRING   256
#define MAXstring   64
#define MIME_APPL_TAR   "application/x-tar"
#define MIME_APPL_TROFF   "application/x-troff"
#define MIME_BINARY_UNKNOWN   "application/octet-stream"
#define MIME_BINARY_UNREADABLE   "application/x-unreadable"
#define MIME_BINARY_ZEROSIZE   "application/x-zerosize"
#define MIME_INODE_BDEV   "inode/blockdevice"
#define MIME_INODE_CDEV   "inode/chardevice"
#define MIME_INODE_DIR   "inode/directory"
#define MIME_INODE_FIFO   "inode/fifo"
#define MIME_INODE_LINK   "inode/link"
#define MIME_INODE_SOCK   "inode/socket"
#define MIME_TEXT_FORTRAN   "text/x-fortran"
#define MIME_TEXT_PLAIN   "text/plain"
#define MIME_TEXT_UNKNOWN   "text/plain"
#define NAMSIZ   100
#define NBEDATE   6
#define NBELONG   6
#define NBESHORT   7
#define NBYTE   4
#define NDATE   4
#define NLEDATE   6
#define NLELONG   6
#define NLESHORT   7
#define NLONG   4
#define NSHORT   5
#define NSTRING   6
#define NTYPES   (sizeof(types)/sizeof(asc_type))
#define P_C   1
#define P_CPP   7
#define P_DIFF   10
#define P_HTML   0
#define P_JAVA   6
#define P_MACH   4
#define P_MAIL   8
#define P_MAKE   2
#define P_NEWS   9
#define P_OBJC   11
#define P_PAS   5
#define P_PLI   3
#define RECORDSIZE   512
#define SHORT   2
#define STRING   5
#define TEXT_MAXLINELEN   300
#define TGNMLEN   32
#define TMAGIC   "ustar "
#define TUNMLEN   32
#define UNSIGNED   2

Functions

static int ascmagic (struct config_rec *conf, unsigned char *buf, int nbytes)
static long from_oct (int, char *)
static int fsmagic (struct config_rec *conf, const char *fn, KDE_struct_stat *sb)
static char * getstr (register char *s, register char *p, int plen, int *slen)
static char * getstr (char *, char *, int, int *)
static int getvalue (struct magic *, char **)
static int hextoint (int)
static int is_tar (unsigned char *, int)
static int match (struct config_rec *conf, unsigned char *, int)
static int mcheck (union VALUETYPE *, struct magic *)
static int mconvert (union VALUETYPE *, struct magic *)
static int mget (union VALUETYPE *, unsigned char *, struct magic *, int)
static void process (struct config_rec *conf, const QString &)
static void refineResult (KMimeMagicResult *r, const QString &_filename)
static unsigned long signextend (struct magic *, unsigned long)
static bool STREQ (const Token *token, const char *b)
static int tagmagic (unsigned char *buf, int nbytes)
static int textmagic (struct config_rec *conf, unsigned char *, int)
static void tryit (struct config_rec *conf, unsigned char *buf, int nb)

Variables

static KStaticDeleter< KMimeMagic > kmimemagicsd
static const asc_type types []

Define Documentation

#define BEDATE   9

Definition at line 139 of file kmimemagic.cpp.

#define BELONG   8

Definition at line 138 of file kmimemagic.cpp.

#define BESHORT   7

Definition at line 137 of file kmimemagic.cpp.

#define BYTE   1

Definition at line 132 of file kmimemagic.cpp.

#define DATE   6

Definition at line 136 of file kmimemagic.cpp.

#define EATAB

Value:

{while (isascii((unsigned char) *l) && \
          isspace((unsigned char) *l))  ++l;}

Definition at line 614 of file kmimemagic.cpp.

#define FLAG_STRONG   0x1000

Definition at line 234 of file kmimemagic.cpp.

#define HOWMANY   4000

Definition at line 101 of file kmimemagic.cpp.

#define INDIR   1

Definition at line 121 of file kmimemagic.cpp.

#define isodigit ( c   )     ( ((c) >= '0') && ((c) <= '7') )

Definition at line 2045 of file kmimemagic.cpp.

#define L_C   0x002

Definition at line 221 of file kmimemagic.cpp.

#define L_CPP   0x080

Definition at line 227 of file kmimemagic.cpp.

#define L_DIFF   0x400

Definition at line 230 of file kmimemagic.cpp.

#define L_HTML   0x001

Definition at line 220 of file kmimemagic.cpp.

#define L_JAVA   0x040

Definition at line 226 of file kmimemagic.cpp.

#define L_MACH   0x010

Definition at line 224 of file kmimemagic.cpp.

#define L_MAIL   0x100

Definition at line 228 of file kmimemagic.cpp.

#define L_MAKE   0x004

Definition at line 222 of file kmimemagic.cpp.

#define L_NEWS   0x200

Definition at line 229 of file kmimemagic.cpp.

#define L_OBJC   0x800

Definition at line 231 of file kmimemagic.cpp.

#define L_PAS   0x020

Definition at line 225 of file kmimemagic.cpp.

#define L_PLI   0x008

Definition at line 223 of file kmimemagic.cpp.

#define LEDATE   12

Definition at line 142 of file kmimemagic.cpp.

#define LELONG   11

Definition at line 141 of file kmimemagic.cpp.

#define LESHORT   10

Definition at line 140 of file kmimemagic.cpp.

#define LONG   4

Definition at line 134 of file kmimemagic.cpp.

#define MAXDESC   50

Definition at line 102 of file kmimemagic.cpp.

#define MAXMIMESTRING   256

Definition at line 99 of file kmimemagic.cpp.

#define MAXstring   64

Definition at line 103 of file kmimemagic.cpp.

#define MIME_APPL_TAR   "application/x-tar"

Definition at line 96 of file kmimemagic.cpp.

#define MIME_APPL_TROFF   "application/x-troff"

Definition at line 95 of file kmimemagic.cpp.

#define MIME_BINARY_UNKNOWN   "application/octet-stream"

Definition at line 83 of file kmimemagic.cpp.

#define MIME_BINARY_UNREADABLE   "application/x-unreadable"

Definition at line 84 of file kmimemagic.cpp.

#define MIME_BINARY_ZEROSIZE   "application/x-zerosize"

Definition at line 85 of file kmimemagic.cpp.

#define MIME_INODE_BDEV   "inode/blockdevice"

Definition at line 90 of file kmimemagic.cpp.

#define MIME_INODE_CDEV   "inode/chardevice"

Definition at line 89 of file kmimemagic.cpp.

#define MIME_INODE_DIR   "inode/directory"

Definition at line 88 of file kmimemagic.cpp.

#define MIME_INODE_FIFO   "inode/fifo"

Definition at line 91 of file kmimemagic.cpp.

#define MIME_INODE_LINK   "inode/link"

Definition at line 92 of file kmimemagic.cpp.

#define MIME_INODE_SOCK   "inode/socket"

Definition at line 93 of file kmimemagic.cpp.

#define MIME_TEXT_FORTRAN   "text/x-fortran"

Definition at line 97 of file kmimemagic.cpp.

#define MIME_TEXT_PLAIN   "text/plain"

Definition at line 87 of file kmimemagic.cpp.

#define MIME_TEXT_UNKNOWN   "text/plain"

Definition at line 86 of file kmimemagic.cpp.

#define NAMSIZ   100

Definition at line 166 of file kmimemagic.cpp.

#define NBEDATE   6

#define NBELONG   6

#define NBESHORT   7

#define NBYTE   4

#define NDATE   4

#define NLEDATE   6

#define NLELONG   6

#define NLESHORT   7

#define NLONG   4

#define NSHORT   5

#define NSTRING   6

#define NTYPES   (sizeof(types)/sizeof(asc_type))

Definition at line 270 of file kmimemagic.cpp.

#define P_C   1

Definition at line 237 of file kmimemagic.cpp.

#define P_CPP   7

Definition at line 243 of file kmimemagic.cpp.

#define P_DIFF   10

Definition at line 246 of file kmimemagic.cpp.

#define P_HTML   0

Definition at line 236 of file kmimemagic.cpp.

#define P_JAVA   6

Definition at line 242 of file kmimemagic.cpp.

#define P_MACH   4

Definition at line 240 of file kmimemagic.cpp.

#define P_MAIL   8

Definition at line 244 of file kmimemagic.cpp.

#define P_MAKE   2

Definition at line 238 of file kmimemagic.cpp.

#define P_NEWS   9

Definition at line 245 of file kmimemagic.cpp.

#define P_OBJC   11

Definition at line 247 of file kmimemagic.cpp.

#define P_PAS   5

Definition at line 241 of file kmimemagic.cpp.

#define P_PLI   3

Definition at line 239 of file kmimemagic.cpp.

#define RECORDSIZE   512

Definition at line 165 of file kmimemagic.cpp.

#define SHORT   2

Definition at line 133 of file kmimemagic.cpp.

#define STRING   5

Definition at line 135 of file kmimemagic.cpp.

#define TEXT_MAXLINELEN   300

Definition at line 1992 of file kmimemagic.cpp.

#define TGNMLEN   32

Definition at line 168 of file kmimemagic.cpp.

#define TMAGIC   "ustar "

Definition at line 191 of file kmimemagic.cpp.

#define TUNMLEN   32

Definition at line 167 of file kmimemagic.cpp.

#define UNSIGNED   2

Definition at line 122 of file kmimemagic.cpp.


Function Documentation

static int ascmagic ( struct config_rec *  conf,
unsigned char *  buf,
int  nbytes 
) [static]

Definition at line 1780 of file kmimemagic.cpp.

static long from_oct ( int  digs,
char *  where 
) [static]

Definition at line 2097 of file kmimemagic.cpp.

static int fsmagic ( struct config_rec *  conf,
const char *  fn,
KDE_struct_stat *  sb 
) [static]

Definition at line 1442 of file kmimemagic.cpp.

static char* getstr ( register char *  s,
register char *  p,
int  plen,
int *  slen 
) [static]

Definition at line 1003 of file kmimemagic.cpp.

static char* getstr ( char *  ,
char *  ,
int  ,
int *   
) [static]

static int getvalue ( struct magic *  m,
char **  p 
) [static]

Definition at line 985 of file kmimemagic.cpp.

static int hextoint ( int  c  )  [static]

Definition at line 1110 of file kmimemagic.cpp.

static int is_tar ( unsigned char *  buf,
int  nbytes 
) [static]

Definition at line 2053 of file kmimemagic.cpp.

static int match ( struct config_rec *  conf,
unsigned char *  s,
int  nbytes 
) [static]

Definition at line 1579 of file kmimemagic.cpp.

static int mcheck ( union VALUETYPE *  p,
struct magic *  m 
) [static]

Definition at line 1244 of file kmimemagic.cpp.

static int mconvert ( union VALUETYPE *  p,
struct magic *  m 
) [static]

Definition at line 1127 of file kmimemagic.cpp.

static int mget ( union VALUETYPE *  p,
unsigned char *  s,
struct magic *  m,
int  nbytes 
) [static]

Definition at line 1174 of file kmimemagic.cpp.

void process ( struct config_rec *  conf,
const QString &  fn 
) [static]

Definition at line 1354 of file kmimemagic.cpp.

static void refineResult ( KMimeMagicResult *  r,
const QString &  _filename 
) [static]

Definition at line 2245 of file kmimemagic.cpp.

static unsigned long signextend ( struct magic *  m,
unsigned long  v 
) [static]

Definition at line 730 of file kmimemagic.cpp.

static bool STREQ ( const Token *  token,
const char *  b 
) [inline, static]

Definition at line 1769 of file kmimemagic.cpp.

static int tagmagic ( unsigned char *  buf,
int  nbytes 
) [static]

Definition at line 1692 of file kmimemagic.cpp.

static int textmagic ( struct config_rec *  conf,
unsigned char *  buf,
int  nbytes 
) [static]

Definition at line 1998 of file kmimemagic.cpp.

static void tryit ( struct config_rec *  conf,
unsigned char *  buf,
int  nb 
) [static]

Definition at line 1422 of file kmimemagic.cpp.


Variable Documentation

KStaticDeleter<KMimeMagic> kmimemagicsd [static]

Definition at line 39 of file kmimemagic.cpp.

const asc_type types[] [static]

Initial value:

 {
    { "text/html",         19, 2 }, 
    { "text/x-c",          13, 1 },
    { "text/x-makefile",    4, 1.9 },
    { "text/x-pli",         1, 3 },
    { "text/x-assembler",   6, 2.1 },
    { "text/x-pascal",      1, 1 },
    { "text/x-java",       12, 1 },
    { "text/x-c++",        19, 1 },
    { "message/rfc822",     4, 1.9 },
    { "message/news",       3, 2 },
        { "text/x-diff",        4, 2 },
        { "text/x-objc",    10, 1 }
}

Definition at line 255 of file kmimemagic.cpp.

kio

Skip menu "kio"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal