UNIX下FILE命令的实现源码

源代码在线查看: images

软件大小: 222 K
上传用户: WUYUEASDF
关键词: UNIX FILE 命令 源码
下载地址: 免注册下载 普通下载 VIP

相关代码

								#------------------------------------------------------------------------------				# images:  file(1) magic for image formats (see also "iff")				#				# originally from jef@helios.ee.lbl.gov (Jef Poskanzer),				# additions by janl@ifi.uio.no as well as others. Jan also suggested				# merging several one- and two-line files into here.				#				# little magic: PCX (first byte is 0x0a)								# Targa - matches `povray', `ppmtotga' and `xv' outputs				# by Philippe De Muyter 				# at 2, byte ImgType must be 1, 2, 3, 9, 10 or 11				# at 1, byte CoMapType must be 1 if ImgType is 1 or 9, 0 otherwise				# at 3, leshort Index is 0 for povray, ppmtotga and xv outputs				# `xv' recognizes only a subset of the following (RGB with pixelsize = 24)				# `tgatoppm' recognizes a superset (Index may be anything)				1	belong&0xfff7ffff	0x01010000	Targa image data - Map				>2	byte&8			8		- RLE				1	belong&0xfff7ffff	0x00020000	Targa image data - RGB				>2	byte&8			8		- RLE				1	belong&0xfff7ffff	0x00030000	Targa image data - Mono				>2	byte&8			8		- RLE								# PBMPLUS images				# The next byte following the magic is always whitespace.				0	string		P1		Netpbm PBM image text				0	string		P2		Netpbm PGM image text				0	string		P3		Netpbm PPM image text				0	string		P4		Netpbm PBM "rawbits" image data				0	string		P5		Netpbm PGM "rawbits" image data				0	string		P6		Netpbm PPM "rawbits" image data				0	string		P7		Netpbm PAM image file								# From: bryanh@giraffe-data.com (Bryan Henderson)				0	string		\117\072	Solitaire Image Recorder format				>4	string		\013		MGI Type 11				>4	string		\021		MGI Type 17				0	string		.MDA		MicroDesign data				>21	byte		48		version 2				>21	byte		51		version 3				0	string		.MDP		MicroDesign page data				>21	byte		48		version 2				>21	byte		51		version 3								# NIFF (Navy Interchange File Format, a modification of TIFF) images				0	string		IIN1		NIFF image data								# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)				# The second word of TIFF files is the TIFF version number, 42, which has				# never changed.  The TIFF specification recommends testing for it.				0	string		MM\x00\x2a	TIFF image data, big-endian				0	string		II\x2a\x00	TIFF image data, little-endian								# PNG [Portable Network Graphics, or "PNG's Not GIF"] images				# (Greg Roelofs, newt@uchicago.edu)				# (Albert Cahalan, acahalan@cs.uml.edu)				#				# 137 P N G \r \n ^Z \n [4-byte length] H E A D [HEAD data] [HEAD crc] ...				#				0	string		\x89PNG		PNG image data,				>4	belong		!0x0d0a1a0a	CORRUPTED,				>4	belong		0x0d0a1a0a				>>16	belong		x		%ld x				>>20	belong		x		%ld,				>>24	byte		x		%d-bit				>>25	byte		0		grayscale,				>>25	byte		2		\b/color RGB,				>>25	byte		3		colormap,				>>25	byte		4		gray+alpha,				>>25	byte		6		\b/color RGBA,				#>>26	byte		0		deflate/32K,				>>28	byte		0		non-interlaced				>>28	byte		1		interlaced				1	string		PNG		PNG image data, CORRUPTED								# GIF				0	string		GIF8		GIF image data				>4	string		7a		\b, version 8%s,				>4	string		9a		\b, version 8%s,				>6	leshort		>0		%hd x				>8	leshort		>0		%hd,				#>10	byte		&0x80		color mapped,				#>10	byte&0x07	=0x00		2 colors				#>10	byte&0x07	=0x01		4 colors				#>10	byte&0x07	=0x02		8 colors				#>10	byte&0x07	=0x03		16 colors				#>10	byte&0x07	=0x04		32 colors				#>10	byte&0x07	=0x05		64 colors				#>10	byte&0x07	=0x06		128 colors				#>10	byte&0x07	=0x07		256 colors								# ITC (CMU WM) raster files.  It is essentially a byte-reversed Sun raster,				# 1 plane, no encoding.				0	string		\361\0\100\273	CMU window manager raster image data				>4	lelong		>0		%d x				>8	lelong		>0		%d,				>12	lelong		>0		%d-bit								# Magick Image File Format				0	string		id=ImageMagick	MIFF image data								# Artisan				0	long		1123028772	Artisan image data				>4	long		1		\b, rectangular 24-bit				>4	long		2		\b, rectangular 8-bit with colormap				>4	long		3		\b, rectangular 32-bit (24-bit with matte)								# FIG (Facility for Interactive Generation of figures), an object-based format				0	string		#FIG		FIG image text				>5	string		x		\b, version %.3s								# PHIGS				0	string		ARF_BEGARF		PHIGS clear text archive				0	string		@(#)SunPHIGS		SunPHIGS				# version number follows, in the form m.n				>40	string		SunBin			binary				>32	string		archive			archive								# GKS (Graphics Kernel System)				0	string		GKSM		GKS Metafile				>24	string		SunGKS		\b, SunGKS								# CGM image files				0	string		BEGMF		clear text Computer Graphics Metafile				# XXX - questionable magic				0	beshort&0xffe0	0x0020		binary Computer Graphics Metafile				0	beshort		0x3020		character Computer Graphics Metafile								# MGR bitmaps  (Michael Haardt, u31b3hs@pool.informatik.rwth-aachen.de)				0	string	yz	MGR bitmap, modern format, 8-bit aligned				0	string	zz	MGR bitmap, old format, 1-bit deep, 16-bit aligned				0	string	xz	MGR bitmap, old format, 1-bit deep, 32-bit aligned				0	string	yx	MGR bitmap, modern format, squeezed								# Fuzzy Bitmap (FBM) images				0	string		%bitmap\0	FBM image data				>30	long		0x31		\b, mono				>30	long		0x33		\b, color								# facsimile data				1	string		PC\ Research,\ Inc	group 3 fax data				>29	byte		0		\b, normal resolution (204x98 DPI)				>29	byte		1		\b, fine resolution (204x196 DPI)								# PC bitmaps (OS/2, Windoze BMP files)  (Greg Roelofs, newt@uchicago.edu)				0	string		BM		PC bitmap data				>14	leshort		12		\b, OS/2 1.x format				>>18	leshort		x		\b, %d x				>>20	leshort		x		%d				>14	leshort		64		\b, OS/2 2.x format				>>18	leshort		x		\b, %d x				>>20	leshort		x		%d				>14	leshort		40		\b, Windows 3.x format				>>18	lelong		x		\b, %d x				>>22	lelong		x		%d x				>>28	leshort		x		%d				0	string		IC		PC icon data				0	string		PI		PC pointer image data				0	string		CI		PC color icon data				0	string		CP		PC color pointer image data				# Conflicts with other entries [BABYL]				#0	string		BA		PC bitmap array data								# XPM icons (Greg Roelofs, newt@uchicago.edu)				# note possible collision with C/REXX entry in c-lang; currently commented out				0	string		/*\ XPM\ */	X pixmap image text								# Utah Raster Toolkit RLE images (janl@ifi.uio.no)				0	leshort		0xcc52		RLE image data,				>6	leshort		x		%d x				>8	leshort		x		%d				>2	leshort		>0		\b, lower left corner: %d				>4	leshort		>0		\b, lower right corner: %d				>10	byte&0x1	=0x1		\b, clear first				>10	byte&0x2	=0x2		\b, no background				>10	byte&0x4	=0x4		\b, alpha channel				>10	byte&0x8	=0x8		\b, comment				>11	byte		>0		\b, %d color channels				>12	byte		>0		\b, %d bits per pixel				>13	byte		>0		\b, %d color map channels								# image file format (Robert Potter, potter@cs.rochester.edu)				0	string		Imagefile\ version-	iff image data				# this adds the whole header (inc. version number), informative but longish				>10	string		>\0		%s								# Sun raster images, from Daniel Quinlan (quinlan@yggdrasil.com)				0	belong		0x59a66a95	Sun raster image data				>4	belong		>0		\b, %d x				>8	belong		>0		%d,				>12	belong		>0		%d-bit,				#>16	belong		>0		%d bytes long,				>20	belong		0		old format,				#>20	belong		1		standard,				>20	belong		2		compressed,				>20	belong		3		RGB,				>20	belong		4		TIFF,				>20	belong		5		IFF,				>20	belong		0xffff		reserved for testing,				>24	belong		0		no colormap				>24	belong		1		RGB colormap				>24	belong		2		raw colormap				#>28	belong		>0		colormap is %d bytes long								# SGI image file format, from Daniel Quinlan (quinlan@yggdrasil.com)				#				# See				#	http://reality.sgi.com/grafica/sgiimage.html				#				0	beshort		474		SGI image data				#>2	byte		0		\b, verbatim				>2	byte		1		\b, RLE				#>3	byte		1		\b, normal precision				>3	byte		2		\b, high precision				>4	beshort		x		\b, %d-D				>6	beshort		x		\b, %d x				>8	beshort		x		%d				>10	beshort		x		\b, %d channel				>10	beshort		!1		\bs				>80	string		>0		\b, "%s"								0	string		IT01		FIT image data				>4	belong		x		\b, %d x				>8	belong		x		%d x				>12	belong		x		%d				#				0	string		IT02		FIT image data				>4	belong		x		\b, %d x				>8	belong		x		%d x				>12	belong		x		%d				#				2048	string		PCD_IPI		Kodak Photo CD image pack file				0	string		PCD_OPA		Kodak Photo CD overview pack file								# FITS format.  Jeff Uphoff 				# FITS is the Flexible Image Transport System, the de facto standard for				# data and image transfer, storage, etc., for the astronomical community.				# (FITS floating point formats are big-endian.)				0	string	SIMPLE\ \ =	FITS image data				>109	string	8		\b, 8-bit, character or unsigned binary integer				>108	string	16		\b, 16-bit, two's complement binary integer				>107	string	\ 32		\b, 32-bit, two's complement binary integer				>107	string	-32		\b, 32-bit, floating point, single precision				>107	string	-64		\b, 64-bit, floating point, double precision								# other images				0	string	This\ is\ a\ BitMap\ file	Lisp Machine bit-array-file				0	string		!!		Bennet Yee's "face" format								# From SunOS 5.5.1 "/etc/magic" - appeared right before Sun raster image				# stuff.				#				0	beshort		0x1010		PEX Binary Archive								# Visio drawings				03000	string	Visio\ (TM)\ Drawing	%s								# Tgif files				0	string	\%TGIF\ x 		Tgif file version %s								# DICOM medical imaging data				128	string	DICM			DICOM medical imaging data								# XWD - X-Windows Dump file.				#   As described in /usr/X11R6/include/X11/XWDFile.h				#   used by the xwd program.				#   Bradford Castalia, idaeim, 1/01				4	belong	7			XWD X-Widows Dump image data				>100	string	>\0			\b, "%s"				>16	belong	x			\b, %dx				>20	belong	x			\b%dx				>12	belong	x			\b%d								# PDS - Planetary Data System				#   These files use Parameter Value Language in the header section.				#   Unfortunately, there is no certain magic, but the following				#   strings have been found to be most likely.				0	string	NJPL1I00		PDS (JPL) image data				2	string	NJPL1I			PDS (JPL) image data				0	string	CCSD3ZF			PDS (CCSD) image data				2	string	CCSD3Z			PDS (CCSD) image data				0	string	PDS_			PDS image data				0	string	LBLSIZE=		PDS (VICAR) image data								0	string		GSTIm		GNU SmallTalk image file								# pM8x: ATARI STAD compressed bitmap format				#				# from Oskar Schirmer  Feb 2, 2001				# p M 8 5/6 xx yy zz data...				# Atari ST STAD bitmap is always 640x400, bytewise runlength compressed.				# bytes either run horizontally (pM85) or vertically (pM86). yy is the				# most frequent byte, xx and zz are runlength escape codes, where xx is				# used for runs of yy.				#				0	string	pM85		Atari ST STAD bitmap image data (hor)				>5	byte	0x00		(white background)				>5	byte	0xFF		(black background)				0	string	pM86		Atari ST STAD bitmap image data (vert)				>5	byte	0x00		(white background)				>5	byte	0xFF		(black background)							

相关资源