Deleted Added
full compact
file.h (275666) file.h (275698)
1/*
2 * Copyright (c) Ian F. Darwin 1986-1995.
3 * Software written by Ian F. Darwin and others;
4 * maintained 1995-present by Christos Zoulas and others.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 13 unchanged lines hidden (view full) ---

22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 */
28/*
29 * file.h - definitions for file(1) program
1/*
2 * Copyright (c) Ian F. Darwin 1986-1995.
3 * Software written by Ian F. Darwin and others;
4 * maintained 1995-present by Christos Zoulas and others.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 13 unchanged lines hidden (view full) ---

22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 */
28/*
29 * file.h - definitions for file(1) program
30 * @(#)$File: file.h,v 1.152 2014/06/03 19:01:34 christos Exp $
30 * @(#)$File: file.h,v 1.161 2014/12/04 15:56:46 christos Exp $
31 */
32
33#ifndef __file_h__
34#define __file_h__
35
36#ifdef HAVE_CONFIG_H
37#include <config.h>
38#endif

--- 20 unchanged lines hidden (view full) ---

59#include <stdint.h>
60#endif
61#ifdef HAVE_INTTYPES_H
62#include <inttypes.h>
63#endif
64#include <regex.h>
65#include <time.h>
66#include <sys/types.h>
31 */
32
33#ifndef __file_h__
34#define __file_h__
35
36#ifdef HAVE_CONFIG_H
37#include <config.h>
38#endif

--- 20 unchanged lines hidden (view full) ---

59#include <stdint.h>
60#endif
61#ifdef HAVE_INTTYPES_H
62#include <inttypes.h>
63#endif
64#include <regex.h>
65#include <time.h>
66#include <sys/types.h>
67#ifndef WIN32
67#include <sys/param.h>
68#include <sys/param.h>
69#endif
68/* Do this here and now, because struct stat gets re-defined on solaris */
69#include <sys/stat.h>
70#include <stdarg.h>
71
72#define ENABLE_CONDITIONALS
73
74#ifndef MAGIC
75#define MAGIC "/etc/magic"

--- 320 unchanged lines hidden (view full) ---

396 size_t s_len; /* length of search region */
397 size_t offset; /* starting offset in source: XXX - should this be off_t? */
398 size_t rm_len; /* match length */
399 } search;
400
401 /* FIXME: Make the string dynamically allocated so that e.g.
402 strings matched in files can be longer than MAXstring */
403 union VALUETYPE ms_value; /* either number or string */
70/* Do this here and now, because struct stat gets re-defined on solaris */
71#include <sys/stat.h>
72#include <stdarg.h>
73
74#define ENABLE_CONDITIONALS
75
76#ifndef MAGIC
77#define MAGIC "/etc/magic"

--- 320 unchanged lines hidden (view full) ---

398 size_t s_len; /* length of search region */
399 size_t offset; /* starting offset in source: XXX - should this be off_t? */
400 size_t rm_len; /* match length */
401 } search;
402
403 /* FIXME: Make the string dynamically allocated so that e.g.
404 strings matched in files can be longer than MAXstring */
405 union VALUETYPE ms_value; /* either number or string */
406 uint16_t indir_max;
407 uint16_t name_max;
408 uint16_t elf_shnum_max;
409 uint16_t elf_phnum_max;
410#define FILE_INDIR_MAX 15
411#define FILE_NAME_MAX 30
412#define FILE_ELF_SHNUM_MAX 32768
413#define FILE_ELF_PHNUM_MAX 128
404};
405
406/* Type for Unicode characters */
407typedef unsigned long unichar;
408
409struct stat;
410#define FILE_T_LOCAL 1
411#define FILE_T_WINDOWS 2

--- 23 unchanged lines hidden (view full) ---

435 int);
436protected int file_ascmagic_with_encoding(struct magic_set *,
437 const unsigned char *, size_t, unichar *, size_t, const char *,
438 const char *, int);
439protected int file_encoding(struct magic_set *, const unsigned char *, size_t,
440 unichar **, size_t *, const char **, const char **, const char **);
441protected int file_is_tar(struct magic_set *, const unsigned char *, size_t);
442protected int file_softmagic(struct magic_set *, const unsigned char *, size_t,
414};
415
416/* Type for Unicode characters */
417typedef unsigned long unichar;
418
419struct stat;
420#define FILE_T_LOCAL 1
421#define FILE_T_WINDOWS 2

--- 23 unchanged lines hidden (view full) ---

445 int);
446protected int file_ascmagic_with_encoding(struct magic_set *,
447 const unsigned char *, size_t, unichar *, size_t, const char *,
448 const char *, int);
449protected int file_encoding(struct magic_set *, const unsigned char *, size_t,
450 unichar **, size_t *, const char **, const char **, const char **);
451protected int file_is_tar(struct magic_set *, const unsigned char *, size_t);
452protected int file_softmagic(struct magic_set *, const unsigned char *, size_t,
443 size_t, int, int);
453 uint16_t, uint16_t *, int, int);
444protected int file_apprentice(struct magic_set *, const char *, int);
454protected int file_apprentice(struct magic_set *, const char *, int);
455protected int buffer_apprentice(struct magic_set *, struct magic **,
456 size_t *, size_t);
445protected int file_magicfind(struct magic_set *, const char *, struct mlist *);
446protected uint64_t file_signextend(struct magic_set *, struct magic *,
447 uint64_t);
448protected void file_badread(struct magic_set *);
449protected void file_badseek(struct magic_set *);
450protected void file_oomem(struct magic_set *, size_t);
451protected void file_error(struct magic_set *, int, const char *, ...)
452 __attribute__((__format__(__printf__, 3, 4)));

--- 11 unchanged lines hidden (view full) ---

464 size_t *);
465protected size_t file_pstring_length_size(const struct magic *);
466protected size_t file_pstring_get_length(const struct magic *, const char *);
467#ifdef __EMX__
468protected int file_os2_apptype(struct magic_set *, const char *, const void *,
469 size_t);
470#endif /* __EMX__ */
471
457protected int file_magicfind(struct magic_set *, const char *, struct mlist *);
458protected uint64_t file_signextend(struct magic_set *, struct magic *,
459 uint64_t);
460protected void file_badread(struct magic_set *);
461protected void file_badseek(struct magic_set *);
462protected void file_oomem(struct magic_set *, size_t);
463protected void file_error(struct magic_set *, int, const char *, ...)
464 __attribute__((__format__(__printf__, 3, 4)));

--- 11 unchanged lines hidden (view full) ---

476 size_t *);
477protected size_t file_pstring_length_size(const struct magic *);
478protected size_t file_pstring_get_length(const struct magic *, const char *);
479#ifdef __EMX__
480protected int file_os2_apptype(struct magic_set *, const char *, const void *,
481 size_t);
482#endif /* __EMX__ */
483
484#if defined(HAVE_LOCALE_H)
485#include <locale.h>
486#endif
487#if defined(HAVE_XLOCALE_H)
488#include <xlocale.h>
489#endif
490
472typedef struct {
473 const char *pat;
491typedef struct {
492 const char *pat;
474 char *old_lc_ctype;
493#if defined(HAVE_NEWLOCALE) && defined(HAVE_USELOCALE) && defined(HAVE_FREELOCALE)
494#define USE_C_LOCALE
495 locale_t old_lc_ctype;
496 locale_t c_lc_ctype;
497#endif
475 int rc;
476 regex_t rx;
477} file_regex_t;
478
479protected int file_regcomp(file_regex_t *, const char *, int);
480protected int file_regexec(file_regex_t *, const char *, size_t, regmatch_t *,
481 int);
482protected void file_regfree(file_regex_t *);

--- 83 unchanged lines hidden ---
498 int rc;
499 regex_t rx;
500} file_regex_t;
501
502protected int file_regcomp(file_regex_t *, const char *, int);
503protected int file_regexec(file_regex_t *, const char *, size_t, regmatch_t *,
504 int);
505protected void file_regfree(file_regex_t *);

--- 83 unchanged lines hidden ---