summaryrefslogtreecommitdiffstats
path: root/netwerk/mime/nsMimeTypes.h
blob: 66034c7b2c6f0fc1f06dc140b3aba79d25d3c5ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/*
 * This interface allows any module to access the encoder/decoder
 * routines for RFC822 headers. This will allow any mail/news module
 * to call on these routines.
 */
#ifndef nsMimeTypes_h_
#define nsMimeTypes_h_

/* Defines for various MIME content-types and encodings.
   Whenever you type in a content-type, you should use one of these defines
   instead, to help catch typos, and make central management of them easier.
 */

#define ANY_WILDCARD "*/*"
#define AUDIO_WILDCARD "audio/*"
#define IMAGE_WILDCARD "image/*"

#define APPLICATION_APPLEFILE "application/applefile"
#define APPLICATION_BINHEX "application/mac-binhex40"
#define APPLICATION_MACBINARY "application/x-macbinary"
#define APPLICATION_COMPRESS "application/x-compress"
#define APPLICATION_COMPRESS2 "application/compress"
#define APPLICATION_FORTEZZA_CKL "application/x-fortezza-ckl"
#define APPLICATION_FORTEZZA_KRL "application/x-fortezza-krl"
#define APPLICATION_GZIP "application/x-gzip"
#define APPLICATION_GZIP2 "application/gzip"
#define APPLICATION_GZIP3 "application/x-gunzip"
#define APPLICATION_BROTLI "application/brotli"
#define APPLICATION_ZSTD "application/zstd"
#define APPLICATION_ZIP "application/zip"
#define APPLICATION_HTTP_INDEX_FORMAT "application/http-index-format"
#define APPLICATION_ECMASCRIPT "application/ecmascript"
#define APPLICATION_JAVASCRIPT "application/javascript"
#define APPLICATION_XJAVASCRIPT "application/x-javascript"
#define APPLICATION_JSON "application/json"
#define APPLICATION_NETSCAPE_REVOCATION "application/x-netscape-revocation"
#define APPLICATION_NS_PROXY_AUTOCONFIG "application/x-ns-proxy-autoconfig"
#define APPLICATION_NS_JAVASCRIPT_AUTOCONFIG "application/x-javascript-config"
#define APPLICATION_OCTET_STREAM "application/octet-stream"
#define APPLICATION_PGP "application/pgp"
#define APPLICATION_PGP2 "application/x-pgp-message"
#define APPLICATION_POSTSCRIPT "application/postscript"
#define APPLICATION_PDF "application/pdf"
#define APPLICATION_PRE_ENCRYPTED "application/pre-encrypted"
#define APPLICATION_RDF "application/rdf+xml"
#define APPLICATION_UUENCODE "application/x-uuencode"
#define APPLICATION_UUENCODE2 "application/x-uue"
#define APPLICATION_UUENCODE3 "application/uuencode"
#define APPLICATION_UUENCODE4 "application/uue"
#define APPLICATION_X509_CA_CERT "application/x-x509-ca-cert"
#define APPLICATION_X509_SERVER_CERT "application/x-x509-server-cert"
#define APPLICATION_X509_EMAIL_CERT "application/x-x509-email-cert"
#define APPLICATION_X509_USER_CERT "application/x-x509-user-cert"
#define APPLICATION_X509_CRL "application/x-pkcs7-crl"
#define APPLICATION_XPKCS7_MIME "application/x-pkcs7-mime"
#define APPLICATION_PKCS7_MIME "application/pkcs7-mime"
#define APPLICATION_XPKCS7_SIGNATURE "application/x-pkcs7-signature"
#define APPLICATION_PKCS7_SIGNATURE "application/pkcs7-signature"
#define APPLICATION_WWW_FORM_URLENCODED "application/x-www-form-urlencoded"
#define APPLICATION_OLEOBJECT "application/oleobject"
#define APPLICATION_OLEOBJECT2 "application/x-oleobject"
#define APPLICATION_JAVAARCHIVE "application/java-archive"
#define APPLICATION_MARIMBA "application/marimba"
#define APPLICATION_WEB_MANIFEST "application/manifest+json"
#define APPLICATION_XMARIMBA "application/x-marimba"
#define APPLICATION_XPINSTALL "application/x-xpinstall"
#define APPLICATION_XML "application/xml"
#define APPLICATION_XHTML_XML "application/xhtml+xml"
#define APPLICATION_XSLT_XML "application/xslt+xml"
#define APPLICATION_MATHML_XML "application/mathml+xml"
#define APPLICATION_RDF_XML "application/rdf+xml"
#define APPLICATION_WAPXHTML_XML "application/vnd.wap.xhtml+xml"
#define APPLICATION_PACKAGE "application/package"
#define APPLICATION_WASM "application/wasm"
#define APPLICATION_MSEXCEL "application/msexcel"
#define APPLICATION_MSPPT "application/mspowerpoint"
#define APPLICATION_MSWORD "application/msword"
#define APPLICATION_MSWORD_TEMPLATE "application/msword-template"
#define APPLICATION_VND_CES_QUICKPOINT "application/vnd.ces-quickpoint"
#define APPLICATION_VND_CES_QUICKSHEET "application/vnd.ces-quicksheet"
#define APPLICATION_VND_CES_QUICKWORD "application/vnd.ces-quickword"
#define APPLICATION_VND_MS_EXCEL "application/vnd.ms-excel"
#define APPLICATION_VND_MS_EXCEL2 \
  "application/vnd.ms-excel.sheet.macroenabled.12"
#define APPLICATION_VND_MS_PPT "application/vnd.ms-powerpoint"
#define APPLICATION_VND_MS_PPT2 \
  "application/vnd.ms-powerpoint.presentation.macroenabled.12"
#define APPLICATION_VND_MS_WORD "application/vnd.ms-word"
#define APPLICATION_VND_MS_WORD2 "application/vnd.ms-word.document.12"
#define APPLICATION_VND_MS_WORD3 \
  "application/vnd.ms-word.document.macroenabled.12"
#define APPLICATION_VND_MSWORD "application/vnd.msword"
#define APPLICATION_VND_PRESENTATIONML_PRESENTATION \
  "application/vnd.openxmlformats-officedocument.presentationml.presentation"
#define APPLICATION_VND_PRESENTATIONML_TEMPLATE \
  "application/vnd.openxmlformats-officedocument.presentationml.template"
#define APPLICATION_VND_SPREADSHEETML_SHEET \
  "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
#define APPLICATION_VND_SPREADSHEETML_TEMPLATE \
  "application/vnd.openxmlformats-officedocument.spreadsheetml.template"
#define APPLICATION_VND_WORDPROCESSINGML_DOCUMENT \
  "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
#define APPLICATION_VND_WORDPROCESSINGML_TEMPLATE \
  "application/vnd.openxmlformats-officedocument.wordprocessingml.template"
#define APPLICATION_VND_PRESENTATION_OPENXML \
  "application/vnd.presentation-openxml"
#define APPLICATION_VND_PRESENTATION_OPENXMLM \
  "application/vnd.presentation-openxmlm"
#define APPLICATION_VND_SPREADSHEET_OPENXML \
  "application/vnd.spreadsheet-openxml"
#define APPLICATION_VND_WORDPROSSING_OPENXML \
  "application/vnd.wordprocessing-openxml"
#define APPLICATION_XPROTOBUF "application/x-protobuf"
#define APPLICATION_XPROTOBUFFER "application/x-protobuffer"

#define AUDIO_BASIC "audio/basic"
#define AUDIO_OGG "audio/ogg"
#define AUDIO_WAV "audio/x-wav"
#define AUDIO_WEBM "audio/webm"
#define AUDIO_MP3 "audio/mpeg"
#define AUDIO_MP4 "audio/mp4"
#define AUDIO_AMR "audio/amr"
#define AUDIO_FLAC "audio/flac"
#define AUDIO_3GPP "audio/3gpp"
#define AUDIO_3GPP2 "audio/3gpp2"
#define AUDIO_MIDI "audio/x-midi"
#define AUDIO_MATROSKA "audio/x-matroska"
#define AUDIO_AAC "audio/aac"
#define AUDIO_AACP "audio/aacp"
#define AUDIO_MPEG_TS "audio/mp2t"
#define AUDIO_MPEG_URL "audio/mpegurl"

#define BINARY_OCTET_STREAM "binary/octet-stream"

#define IMAGE_GIF "image/gif"
#define IMAGE_JPEG "image/jpeg"
#define IMAGE_JPG "image/jpg"
#define IMAGE_PJPEG "image/pjpeg"
#define IMAGE_PNG "image/png"
#define IMAGE_APNG "image/apng"
#define IMAGE_X_PNG "image/x-png"
#define IMAGE_PPM "image/x-portable-pixmap"
#define IMAGE_XBM "image/x-xbitmap"
#define IMAGE_XBM2 "image/x-xbm"
#define IMAGE_XBM3 "image/xbm"
#define IMAGE_ART "image/x-jg"
#define IMAGE_TIFF "image/tiff"
#define IMAGE_BMP "image/bmp"
#define IMAGE_BMP_MS "image/x-ms-bmp"
// This is used internally to represent Windows clipboard BMPs which remove
// part of the header.
#define IMAGE_BMP_MS_CLIPBOARD "image/x-ms-clipboard-bmp"
#define IMAGE_ICO "image/x-icon"
#define IMAGE_ICO_MS "image/vnd.microsoft.icon"
#define IMAGE_ICON_MS "image/icon"
#define IMAGE_MNG "video/x-mng"
#define IMAGE_JNG "image/x-jng"
#define IMAGE_SVG_XML "image/svg+xml"
#define IMAGE_WEBP "image/webp"
#define IMAGE_AVIF "image/avif"
#define IMAGE_JXL "image/jxl"

#define MESSAGE_EXTERNAL_BODY "message/external-body"
#define MESSAGE_NEWS "message/news"
#define MESSAGE_RFC822 "message/rfc822"

#define MULTIPART_ALTERNATIVE "multipart/alternative"
#define MULTIPART_APPLEDOUBLE "multipart/appledouble"
#define MULTIPART_DIGEST "multipart/digest"
#define MULTIPART_FORM_DATA "multipart/form-data"
#define MULTIPART_HEADER_SET "multipart/header-set"
#define MULTIPART_MIXED "multipart/mixed"
#define MULTIPART_PARALLEL "multipart/parallel"
#define MULTIPART_SIGNED "multipart/signed"
#define MULTIPART_RELATED "multipart/related"
#define MULTIPART_MIXED_REPLACE "multipart/x-mixed-replace"
#define MULTIPART_BYTERANGES "multipart/byteranges"

#define SUN_ATTACHMENT "x-sun-attachment"

#define TEXT_ENRICHED "text/enriched"
#define TEXT_CALENDAR "text/calendar"
#define TEXT_HTML "text/html"
#define TEXT_MDL "text/mdl"
#define TEXT_PLAIN "text/plain"
#define TEXT_RICHTEXT "text/richtext"
#define TEXT_VCARD "text/vcard"
#define TEXT_CSS "text/css"
#define TEXT_JSSS "text/jsss"
#define TEXT_JSON "text/json"
#define TEXT_XML "text/xml"
#define TEXT_RDF "text/rdf"
#define TEXT_VTT "text/vtt"
#define TEXT_ECMASCRIPT "text/ecmascript"
#define TEXT_JAVASCRIPT "text/javascript"
#define TEXT_XSL "text/xsl"
#define TEXT_EVENT_STREAM "text/event-stream"
#define TEXT_CACHE_MANIFEST "text/cache-manifest"
#define TEXT_CSV "text/csv"

#define VIDEO_MPEG "video/mpeg"
#define VIDEO_MP4 "video/mp4"
#define VIDEO_QUICKTIME "video/quicktime"
#define VIDEO_RAW "video/x-raw-yuv"
#define VIDEO_OGG "video/ogg"
#define VIDEO_WEBM "video/webm"
#define VIDEO_3GPP "video/3gpp"
#define VIDEO_3GPP2 "video/3gpp2"
#define VIDEO_MPEG_TS "video/mp2t"
#define VIDEO_AVI "video/avi"
#define VIDEO_MATROSKA "video/x-matroska"
#define APPLICATION_OGG "application/ogg"
#define APPLICATION_MPEGURL "application/vnd.apple.mpegurl"
#define APPLICATION_DASH_XML "application/dash+xml"

/* x-uuencode-apple-single. QuickMail made me do this. */
#define UUENCODE_APPLE_SINGLE "x-uuencode-apple-single"

/* The standard MIME message-content-encoding values:
 */
#define ENCODING_7BIT "7bit"
#define ENCODING_8BIT "8bit"
#define ENCODING_BINARY "binary"
#define ENCODING_BASE64 "base64"
#define ENCODING_QUOTED_PRINTABLE "quoted-printable"

/* Some nonstandard encodings.  Note that the names are TOTALLY RANDOM,
   and code that looks for these in network-provided data must look for
   all the possibilities.
 */
#define ENCODING_COMPRESS "x-compress"
#define ENCODING_COMPRESS2 "compress"
#define ENCODING_ZLIB "x-zlib"
#define ENCODING_ZLIB2 "zlib"
#define ENCODING_GZIP "x-gzip"
#define ENCODING_GZIP2 "gzip"
#define ENCODING_DEFLATE "x-deflate"
#define ENCODING_DEFLATE2 "deflate"
#define ENCODING_UUENCODE "x-uuencode"
#define ENCODING_UUENCODE2 "x-uue"
#define ENCODING_UUENCODE3 "uuencode"
#define ENCODING_UUENCODE4 "uue"
#define ENCODING_YENCODE "x-yencode"
#define ENCODING_ZSTD "zstd"

/* Some names of parameters that various MIME headers include.
 */
#define PARAM_PROTOCOL "protocol"
#define PARAM_MICALG "micalg"
#define PARAM_MICALG_MD2 "rsa-md2"
#define PARAM_MICALG_MD5 "rsa-md5"
#define PARAM_MICALG_MD5_2 "md5"
#define PARAM_MICALG_SHA1 "sha1"
#define PARAM_MICALG_SHA1_2 "sha-1"
#define PARAM_MICALG_SHA1_3 "rsa-sha1"
#define PARAM_MICALG_SHA1_4 "rsa-sha-1"
#define PARAM_MICALG_SHA1_5 "rsa-sha"
#define PARAM_MICALG_SHA256 "sha-256"
#define PARAM_MICALG_SHA256_2 "sha256"
#define PARAM_MICALG_SHA256_3 "2.16.840.1.101.3.4.2.1"
#define PARAM_MICALG_SHA384 "sha-384"
#define PARAM_MICALG_SHA384_2 "sha384"
#define PARAM_MICALG_SHA384_3 "2.16.840.1.101.3.4.2.2"
#define PARAM_MICALG_SHA512 "sha-512"
#define PARAM_MICALG_SHA512_2 "sha512"
#define PARAM_MICALG_SHA512_3 "2.16.840.1.101.3.4.2.3"
#define PARAM_X_MAC_CREATOR "x-mac-creator"
#define PARAM_X_MAC_TYPE "x-mac-type"
#define PARAM_FORMAT "format"

#define UNKNOWN_CONTENT_TYPE "application/x-unknown-content-type"
#define APPLICATION_GUESS_FROM_EXT "application/x-vnd.mozilla.guess-from-ext"
#define VIEWSOURCE_CONTENT_TYPE "application/x-view-source"

#define APPLICATION_DIRECTORY \
  "application/directory" /* text/x-vcard is synonym */

#endif /* nsMimeTypes_h_ */