• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Base MIME types file for CUPS.
3#
4# DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW
5# VERSIONS OF CUPS.  Instead, create a "local.types" file that
6# reflects your local configuration changes.
7#
8# Copyright © 2007-2017 by Apple Inc.
9# Copyright © 1997-2007 by Easy Software Products.
10#
11# Licensed under Apache License v2.0.  See the file "LICENSE" for more
12# information.
13#
14
15########################################################################
16#
17# Format of Lines:
18#
19#   super/type rules
20#
21# "rules" can be any combination of:
22#
23#   ( expr )				Parenthesis for expression grouping
24#   +					Logical AND
25#   , or whitespace			Logical OR
26#   !					Logical NOT
27#   match("pattern")			Pattern match on filename
28#   extension				Pattern match on "*.extension"
29#   ascii(offset,length)		True if bytes are valid printable ASCII
30#					(CR, NL, TAB, BS, 32-126)
31#   priority(number)                    Sets priority of type (0=lowest,
32#                                       100=default, 200=highest)
33#   printable(offset,length)		True if bytes are printable 8-bit chars
34#					(CR, NL, TAB, BS, 32-126, 128-254)
35#   regex(offset,"regex")		True if bytes match regular expression
36#   string(offset,"string")		True if bytes are identical to string
37#   istring(offset,"string")		True if bytes are identical to
38#                                       case-insensitive string
39#   char(offset,value)			True if byte is identical
40#   short(offset,value)			True if 16-bit integer is identical
41#   int(offset,value)			True if 32-bit integer is identical
42#   locale("string")                    True if current locale matches string
43#   contains(offset,range,"string")	True if the range contains the string
44#
45# General Notes:
46#
47#   MIME type names are case-insensitive.  Internally they are converted
48#   to lowercase.  Multiple occurrences of a type will cause the provided
49#   rules to be appended to the existing definition.  If two types use the same
50#   rules to resolve a type and have the same priority, e.g. "doc" extension for
51#   "text/bar" and "text/foo", the returned type will be the first type as
52#   sorted in alphanumerically ascending order without regard to case.  Thus,
53#   the "text/bar" type will match the "doc" extension first unless the
54#   "text/foo" type has specified a higher priority.
55#
56#   The "printable" rule differs from the "ascii" rule in that it also
57#   accepts 8-bit characters in the range 128-255.
58#
59#   String constants must be surrounded by "" if they contain whitespace.
60#   To insert binary data into a string, use the <hex> notation.
61#
62
63########################################################################
64#
65# Application-generated files...
66#
67
68#application/msword		doc string(0,<D0CF11E0A1B11AE1>)
69application/pdf			pdf regex(0,^[\n\r]*%PDF)
70application/postscript		ai eps ps string(0,%!) string(0,<04>%!) \
71				contains(0,128,<1B>%-12345X) + \
72				(contains(0,4096,"LANGUAGE=POSTSCRIPT") \
73				 contains(0,4096,"LANGUAGE = Postscript") \
74				 contains(0,4096,"LANGUAGE = PostScript") \
75				 contains(0,4096,"LANGUAGE = POSTSCRIPT") \
76				 (contains(0,4096,<0a>%!) + \
77				  !contains(0,4096,"ENTER LANGUAGE")))
78
79
80########################################################################
81#
82# Image files...
83#
84
85image/gif			gif string(0,GIF87a) string(0,GIF89a)
86image/png			png string(0,<89>PNG)
87image/jpeg			jpeg jpg jpe string(0,<FFD8FF>) +\
88				(char(3,0xe0) char(3,0xe1) char(3,0xe2) char(3,0xe3)\
89				 char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\
90				 char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\
91				 char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef))
92image/pwg-raster		string(0,"RaS2") + string(4,PwgRaster<00>) priority(150)
93image/tiff			tiff tif string(0,MM<002A>) string(0,II<2A00>)
94image/x-photocd			pcd string(2048,PCD_IPI)
95image/x-portable-anymap		pnm
96image/x-portable-bitmap		pbm string(0,P1) string(0,P4)
97image/x-portable-graymap	pgm string(0,P2) string(0,P5)
98image/x-portable-pixmap		ppm string(0,P3) string(0,P6)
99image/x-sgi-rgb			rgb sgi bw icon short(0,474)
100image/x-xbitmap			xbm
101image/x-xpixmap			xpm ascii(0,1024) + string(3,"XPM")
102#image/x-xwindowdump		xwd string(4,<00000007>)
103image/x-sun-raster		ras string(0,<59a66a95>)
104
105#image/fpx			fpx
106image/urf			urf string(0,UNIRAST<00>)
107image/x-alias			pix short(8,8) short(8,24)
108image/x-bitmap			bmp string(0,BM) + !printable(2,14)
109image/x-icon			ico
110
111########################################################################
112#
113# Text files...
114#
115
116application/x-cshell		csh printable(0,1024) + string(0,#!) +\
117				(contains(2,80,/csh) contains(2,80,/tcsh))
118application/x-perl		pl printable(0,1024) + string(0,#!) +\
119				contains(2,80,/perl)
120application/x-shell		sh printable(0,1024) + string(0,#!) +\
121				(contains(2,80,/bash) contains(2,80,/ksh)\
122				 contains(2,80,/sh) contains(2,80,/zsh))
123application/x-csource		c cxx cpp cc C h hpp \
124				printable(0,1024) + ! css + \
125				(string(0,/*) string(0,//) \
126				 string(0,#include) contains(0,1024,<0a>#include) \
127				 string(0,#define) contains(0,1024,<0a>#define))
128text/html			html htm printable(0,1024) +\
129				(istring(0,"<HTML>") istring(0,"<!DOCTYPE"))
130text/plain			txt printable(0,1024)
131text/css			css
132
133
134########################################################################
135#
136# RSS feed type...
137#
138
139application/rss+xml		rss
140
141
142########################################################################
143#
144# CUPS-specific types...
145#
146
147application/vnd.cups-banner	string(0,'#CUPS-BANNER')
148application/vnd.cups-command	string(0,'#CUPS-COMMAND')
149application/vnd.cups-pdf
150application/vnd.cups-postscript
151application/vnd.cups-ppd	ppd string(0,"*PPD-Adobe:")
152application/vnd.cups-raster	string(0,"RaSt") string(0,"tSaR") \
153				(string(0,"RaS2") + !string(4,PwgRaster<00>)) string(0,"2SaR") \
154				string(0,"RaS3") string(0,"3SaR")
155application/vnd.cups-raw	(string(0,<1B>E) + !string(2,<1B>%0B)) \
156				string(0,<1B>@) \
157				(contains(0,128,<1B>%-12345X) + \
158				 (contains(0,4096,"LANGUAGE=PCL") \
159				  contains(0,4096,"LANGUAGE = PCL")))
160
161########################################################################
162#
163# Raw print file support...
164#
165# Comment the following type to prevent raw file printing.
166#
167
168application/octet-stream
169