[BACK]Return to magic.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / file

Annotation of src/usr.bin/file/magic.h, Revision 1.1

1.1     ! tedu        1: /*
        !             2:  * Copyright (c) Christos Zoulas 2003.
        !             3:  * All Rights Reserved.
        !             4:  *
        !             5:  * Redistribution and use in source and binary forms, with or without
        !             6:  * modification, are permitted provided that the following conditions
        !             7:  * are met:
        !             8:  * 1. Redistributions of source code must retain the above copyright
        !             9:  *    notice immediately at the beginning of the file, without modification,
        !            10:  *    this list of conditions, and the following disclaimer.
        !            11:  * 2. Redistributions in binary form must reproduce the above copyright
        !            12:  *    notice, this list of conditions and the following disclaimer in the
        !            13:  *    documentation and/or other materials provided with the distribution.
        !            14:  * 3. The name of the author may not be used to endorse or promote products
        !            15:  *    derived from this software without specific prior written permission.
        !            16:  *
        !            17:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
        !            18:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        !            19:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            20:  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
        !            21:  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            22:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
        !            23:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            24:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
        !            25:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
        !            26:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        !            27:  * SUCH DAMAGE.
        !            28:  */
        !            29: #ifndef _MAGIC_H
        !            30: #define _MAGIC_H
        !            31:
        !            32: #include <sys/types.h>
        !            33:
        !            34: #define        MAGIC_NONE              0x000   /* No flags */
        !            35: #define        MAGIC_DEBUG             0x001   /* Turn on debugging */
        !            36: #define        MAGIC_SYMLINK           0x002   /* Follow symlinks */
        !            37: #define        MAGIC_COMPRESS          0x004   /* Check inside compressed files */
        !            38: #define        MAGIC_DEVICES           0x008   /* Look at the contents of devices */
        !            39: #define        MAGIC_MIME              0x010   /* Return a mime string */
        !            40: #define        MAGIC_CONTINUE          0x020   /* Return all matches */
        !            41: #define        MAGIC_CHECK             0x040   /* Print warnings to stderr */
        !            42: #define        MAGIC_PRESERVE_ATIME    0x080   /* Restore access time on exit */
        !            43: #define        MAGIC_RAW               0x100   /* Don't translate unprintable chars */
        !            44: #define        MAGIC_ERROR             0x200   /* Handle ENOENT etc as real errors */
        !            45:
        !            46: #ifdef __cplusplus
        !            47: extern "C" {
        !            48: #endif
        !            49:
        !            50: typedef struct magic_set *magic_t;
        !            51: magic_t magic_open(int);
        !            52: void magic_close(magic_t);
        !            53:
        !            54: const char *magic_file(magic_t, const char *);
        !            55: const char *magic_buffer(magic_t, const void *, size_t);
        !            56:
        !            57: const char *magic_error(magic_t);
        !            58: int magic_setflags(magic_t, int);
        !            59:
        !            60: int magic_load(magic_t, const char *);
        !            61: int magic_compile(magic_t, const char *);
        !            62: int magic_check(magic_t, const char *);
        !            63: int magic_errno(magic_t);
        !            64:
        !            65: #ifdef __cplusplus
        !            66: };
        !            67: #endif
        !            68:
        !            69: #endif /* _MAGIC_H */