Documentation

Index

Constants

View Source
const (
	TYPE_DOC docType = iota
	TYPE_DOCX
	TYPE_XLS
	TYPE_XLSX
	TYPE_PPT
	TYPE_PPTX
	TYPE_OOXML
)

Variables

View Source
var (
	TypeWasm = newType("wasm", "application/wasm")
	TypeDex  = newType("dex", "application/vnd.android.dex")
	TypeDey  = newType("dey", "application/vnd.android.dey")
)
View Source
var (
	TypeEpub   = newType("epub", "application/epub+zip")
	TypeZip    = newType("zip", "application/zip")
	TypeTar    = newType("tar", "application/x-tar")
	TypeRar    = newType("rar", "application/vnd.rar")
	TypeGz     = newType("gz", "application/gzip")
	TypeBz2    = newType("bz2", "application/x-bzip2")
	Type7z     = newType("7z", "application/x-7z-compressed")
	TypeXz     = newType("xz", "application/x-xz")
	TypePdf    = newType("pdf", "application/pdf")
	TypeExe    = newType("exe", "application/vnd.microsoft.portable-executable")
	TypeSwf    = newType("swf", "application/x-shockwave-flash")
	TypeRtf    = newType("rtf", "application/rtf")
	TypeEot    = newType("eot", "application/octet-stream")
	TypePs     = newType("ps", "application/postscript")
	TypeSqlite = newType("sqlite", "application/vnd.sqlite3")
	TypeNes    = newType("nes", "application/x-nintendo-nes-rom")
	TypeCrx    = newType("crx", "application/x-google-chrome-extension")
	TypeCab    = newType("cab", "application/vnd.ms-cab-compressed")
	TypeDeb    = newType("deb", "application/vnd.debian.binary-package")
	TypeAr     = newType("ar", "application/x-unix-archive")
	TypeZ      = newType("Z", "application/x-compress")
	TypeLz     = newType("lz", "application/x-lzip")
	TypeRpm    = newType("rpm", "application/x-rpm")
	TypeElf    = newType("elf", "application/x-executable")
	TypeDcm    = newType("dcm", "application/dicom")
	TypeIso    = newType("iso", "application/x-iso9660-image")
	TypeMachO  = newType("macho", "application/x-mach-binary") // Mach-O binaries have no common extension.
)
View Source
var (
	TypeMidi = newType("mid", "audio/midi")
	TypeMp3  = newType("mp3", "audio/mpeg")
	TypeM4a  = newType("m4a", "audio/m4a")
	TypeOgg  = newType("ogg", "audio/ogg")
	TypeFlac = newType("flac", "audio/x-flac")
	TypeWav  = newType("wav", "audio/x-wav")
	TypeAmr  = newType("amr", "audio/amr")
	TypeAac  = newType("aac", "audio/aac")
)
View Source
var (
	TypeDoc  = newType("doc", "application/msword")
	TypeDocx = newType("docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document")
	TypeXls  = newType("xls", "application/vnd.ms-excel")
	TypeXlsx = newType("xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
	TypePpt  = newType("ppt", "application/vnd.ms-powerpoint")
	TypePptx = newType("pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation")
)
View Source
var (
	TypeWoff  = newType("woff", "application/font-woff")
	TypeWoff2 = newType("woff2", "application/font-woff")
	TypeTtf   = newType("ttf", "application/font-sfnt")
	TypeOtf   = newType("otf", "application/font-sfnt")
)
View Source
var (
	TypeJpeg     = newType("jpg", "image/jpeg")
	TypeJpeg2000 = newType("jp2", "image/jp2")
	TypePng      = newType("png", "image/png")
	TypeGif      = newType("gif", "image/gif")
	TypeWebp     = newType("webp", "image/webp")
	TypeCR2      = newType("cr2", "image/x-canon-cr2")
	TypeTiff     = newType("tif", "image/tiff")
	TypeBmp      = newType("bmp", "image/bmp")
	TypeJxr      = newType("jxr", "image/vnd.ms-photo")
	TypePsd      = newType("psd", "image/vnd.adobe.photoshop")
	TypeIco      = newType("ico", "image/vnd.microsoft.icon")
	TypeHeif     = newType("heif", "image/heif")
	TypeDwg      = newType("dwg", "image/vnd.dwg")
)
View Source
var (
	TypeMp4  = newType("mp4", "video/mp4")
	TypeM4v  = newType("m4v", "video/x-m4v")
	TypeMkv  = newType("mkv", "video/x-matroska")
	TypeWebm = newType("webm", "video/webm")
	TypeMov  = newType("mov", "video/quicktime")
	TypeAvi  = newType("avi", "video/x-msvideo")
	TypeWmv  = newType("wmv", "video/x-ms-wmv")
	TypeMpeg = newType("mpg", "video/mpeg")
	TypeFlv  = newType("flv", "video/x-flv")
	Type3gp  = newType("3gp", "video/3gpp")
)
View Source
var Application = Map{
	TypeWasm: Wasm,
	TypeDex:  Dex,
	TypeDey:  Dey,
}
View Source
var MatcherKeys []types.Type
View Source
var Matchers = make(map[types.Type]TypeMatcher)

Store registered file type matchers

Functions

func Aac

func Aac(buf []byte) bool

func Amr

func Amr(buf []byte) bool

func Ar

func Ar(buf []byte) bool

func Avi

func Avi(buf []byte) bool

func Bmp

func Bmp(buf []byte) bool

func Bz2

func Bz2(buf []byte) bool

func CR2

func CR2(buf []byte) bool

func Cab

func Cab(buf []byte) bool

func Crx

func Crx(buf []byte) bool

func Dcm

func Dcm(buf []byte) bool

func Deb

func Deb(buf []byte) bool

func Dex

func Dex(buf []byte) bool

Dex detects dalvik executable(DEX)

func Dey

func Dey(buf []byte) bool

Dey Optimized Dalvik Executable(ODEX)

func Docx

func Docx(buf []byte) bool

func Dwg

func Dwg(buf []byte) bool

func Elf

func Elf(buf []byte) bool

func Eot

func Eot(buf []byte) bool

func Epub

func Epub(buf []byte) bool

func Exe

func Exe(buf []byte) bool

func Flac

func Flac(buf []byte) bool

func Flv

func Flv(buf []byte) bool

func Gif

func Gif(buf []byte) bool

func Gz

func Gz(buf []byte) bool

func Heif

func Heif(buf []byte) bool

func Ico

func Ico(buf []byte) bool

func Iso

func Iso(buf []byte) bool

func Jpeg

func Jpeg(buf []byte) bool

func Jpeg2000

func Jpeg2000(buf []byte) bool

func Jxr

func Jxr(buf []byte) bool

func Lz

func Lz(buf []byte) bool

func M4a

func M4a(buf []byte) bool

func M4v

func M4v(buf []byte) bool

func MachO

func MachO(buf []byte) bool

func Match3gp

func Match3gp(buf []byte) bool

func Midi

func Midi(buf []byte) bool

func Mkv

func Mkv(buf []byte) bool

func Mov

func Mov(buf []byte) bool

func Mp3

func Mp3(buf []byte) bool

func Mp4

func Mp4(buf []byte) bool

func Mpeg

func Mpeg(buf []byte) bool

func Nes

func Nes(buf []byte) bool

func Ogg

func Ogg(buf []byte) bool

func Otf

func Otf(buf []byte) bool

func Pdf

func Pdf(buf []byte) bool

func Png

func Png(buf []byte) bool

func Ppt

func Ppt(buf []byte) bool

func Pptx

func Pptx(buf []byte) bool

func Ps

func Ps(buf []byte) bool

func Psd

func Psd(buf []byte) bool

func Rar

func Rar(buf []byte) bool

func Rpm

func Rpm(buf []byte) bool

func Rtf

func Rtf(buf []byte) bool

func SevenZ

func SevenZ(buf []byte) bool

func Sqlite

func Sqlite(buf []byte) bool

func Swf

func Swf(buf []byte) bool

func Tar

func Tar(buf []byte) bool

func Tiff

func Tiff(buf []byte) bool

func Ttf

func Ttf(buf []byte) bool

func Wasm

func Wasm(buf []byte) bool

Wasm detects a Web Assembly 1.0 filetype.

func Wav

func Wav(buf []byte) bool

func Webm

func Webm(buf []byte) bool

func Webp

func Webp(buf []byte) bool

func Wmv

func Wmv(buf []byte) bool

func Woff

func Woff(buf []byte) bool

func Woff2

func Woff2(buf []byte) bool

func Xls

func Xls(buf []byte) bool

func Xlsx

func Xlsx(buf []byte) bool

func Xz

func Xz(buf []byte) bool

func Z

func Z(buf []byte) bool

func Zip

func Zip(buf []byte) bool

Types

type Map

type Map map[types.Type]Matcher

Type interface to store pairs of type with its matcher function

type Matcher

type Matcher func([]byte) bool

Matcher function interface as type alias

type TypeMatcher

type TypeMatcher func([]byte) types.Type

Type specific matcher function interface

func NewMatcher

func NewMatcher(kind types.Type, fn Matcher) TypeMatcher

Create and register a new type matcher function

Directories

Path Synopsis