gmime.c.types
C types for gmime3 library
Types 158
An address type.
A description of the user's preference for encrypted messaging.
A cipher algorithm.
A Content-Transfer-Encoding enumeration.
Decryption flags.
A hash algorithm.
Used with functions like [gmime.filter_best.FilterBest.encoding] and [gmime.object.ObjectWrap.encode] as the 'constraint' argument. These values provide a means of letting the filter know what the encoding constraints are for the stream.
Encryption flags.
Bit flags to enable charset and/or encoding scanning to make educated guesses as to what the best charset and/or encodings to use for the content passed through the filter.
The mode for a #GMimeFilterFrom filter.
The mode for the #GMimeFilterGZip filter.
An enum of formats.
There are two commonly used line-endings used by modern Operating Systems. Unix-based systems such as Linux and Mac OS use a single character ('\n' aka LF) to represent the end of line where-as Windows (or DOS) uses a sequence of two characters ("\r\n" aka CRLF). Most text-based network protocols such as SMTP, POP3, and IMAP use the CRLF sequence as well.
The type of OpenPGP data found, if any.
The current state of the #GMimeFilterOpenPGP filter.
The MIME specifications specify that the proper method for encoding Content-Type and Content-Disposition parameter values is the method described in
<ulink url="https://tools.ietf.org/html/rfc2231">rfc2231</ulink>. However, it is common forsome older email clients to improperly encode using the method described in
<ulink url="https://tools.ietf.org/html/rfc2047">rfc2047</ulink> instead.Issues the @GMimeParser detects. Note that the GMIME_CRIT_* issues indicate that some parts of the @GMimeParser input may be ignored or will be interpreted differently by other software products.
A public-key algorithm.
An RFC compliance mode.
The S/MIME data type.
Relative seek position.
A value representing the signature status bit flags for a particular #GMimeSignature.
The buffering mode for a #GMimeStreamBuffer stream.
The trust level of a certificate. Trust level tries to answer the question: "How much is the user willing to rely on cryptographic identity assertions made by the owner of this certificate?"
By way of comparison with web browser X.509 certificate validation stacks, the certificate of a "Root CA" has @GMIME_TRUST_ULTIMATE, while the certificate of an intermediate CA has @GMIME_TRUST_FULL, and an end-entity certificate (e.g., with CA:FALSE set) would have @GMIME_TRUST_NEVER.
The validity level of a certificate's User ID. Validity level tries to answer the question: "How strongly do we believe that this certificate belongs to the party it says it belongs to?"
Note that some OpenPGP certificates have multiple User IDs, and each User ID may have a different validity level (e.g. depending on which third parties have certified which User IDs, and which third parties the local user has chosen to trust).
Similarly, an X.509 certificate can have multiple SubjectAltNames, and each name may also have a different validity level (e.g. if the issuing CA is bound by name constraints).
Note that the GMime API currently only exposes the highest-validty User ID for any given certificate.
Signature verification flags.
An application/pkcs7-mime MIME part.
GMimePart parentObjectparent #GMimePart objectGMimeSecureMimeType smimeTypeThe smime-type Content-Type parameter.GMimePartClass parentClassAn object containing Autocrypt information about a given e-mail address, as derived from a message header.
See https://autocrypt.org/ for details and motivation.
GObject parentObjectparent #GObjectGMimeInternetAddressMailbox * addressthe #InternetAddressMailbox associated with this Autocrypt header.GMimeAutocryptPreferEncrypt preferEncrypta #GMimeAutocryptPreferEncrypt value (defaults to @GMIMEAUTOCRYPTPREFERENCRYPTNONE).GBytes * keydatathe raw binary form of the encoded key.GDateTime * effectiveDatethe date associated with the Autocrypt header in this message.GObjectClass parentClassGObjectClass parentClassAn object containing useful information about a certificate.
GObject parentObjectparent #GObjectGMimePubKeyAlgo pubkeyAlgoThe public-key algorithm used by the certificate, if known.GMimeDigestAlgo digestAlgoThe digest algorithm used by the certificate, if known.GMimeTrust trustThe level of trust assigned to this certificate.char * issuerSerialThe issuer of the certificate, if known.char * issuerNameThe issuer of the certificate, if known.char * fingerprintA hex string representing the certificate's fingerprint.long createdThe creation date of the certificate.long expiresThe expiration date of the certificate.char * keyidThe certificate's key id.char * emailThe email address of the person or entity.char * nameThe name of the person or entity.char * userIdThe full User ID of the certificate.GMimeValidity idValiditythe validity of the email address, name, and User ID.GObjectClass parentClassGObjectClass parentClassState used by [gmime.charset.Charset.best] and [gmime.charset.Charset.bestName].
uint maskcharset maskuint levelcharset levelA data structure representing a Content-Disposition.
GObject parentObjectparent #GObjectchar * dispositiondispositionGMimeParamList * paramsa #GMimeParam listvoid * changedGObjectClass parentClassA data structure representing a Content-Type.
GObject parentObjectparent #GObjectchar * typemedia typechar * subtypemedia subtypeGMimeParamList * paramsa #GMimeParam listvoid * changedGObjectClass parentClassA crypto context for use with MIME.
GObject parentObjectparent #GObjectGMimePasswordRequestFunc requestPasswda callback for requesting a passwordGObjectClass parentClassGMimeDigestAlgo function(GMimeCryptoContext * ctx, const(char) * name) digestIdconst(char) * function(GMimeCryptoContext * ctx, GMimeDigestAlgo digest) digestNameconst(char) * function(GMimeCryptoContext * ctx) getSignatureProtocolconst(char) * function(GMimeCryptoContext * ctx) getEncryptionProtocolconst(char) * function(GMimeCryptoContext * ctx) getKeyExchangeProtocolint function(GMimeCryptoContext * ctx, gboolean detach, const(char) * userid, GMimeStream * istream, GMimeStream * ostream, GError * * _err) signGMimeSignatureList * function(GMimeCryptoContext * ctx, GMimeVerifyFlags flags, GMimeStream * istream, GMimeStream * sigstream, GMimeStream * ostream, GError * * _err) verifyint function(GMimeCryptoContext * ctx, gboolean sign, const(char) * userid, GMimeEncryptFlags flags, GPtrArray * recipients, GMimeStream * istream, GMimeStream * ostream, GError * * _err) encryptGMimeDecryptResult * function(GMimeCryptoContext * ctx, GMimeDecryptFlags flags, const(char) * sessionKey, GMimeStream * istream, GMimeStream * ostream, GError * * _err) decryptint function(GMimeCryptoContext * ctx, GMimeStream * istream, GError * * _err) importKeysint function(GMimeCryptoContext * ctx, const(char *) * keys, GMimeStream * ostream, GError * * _err) exportKeysA wrapper for a stream which may be encoded.
GObject parentObjectparent #GObjectGMimeContentEncoding encodingthe encoding of the contentGMimeStream * streamcontent streamGObjectClass parentClassptrdiff_t function(GMimeDataWrapper * wrapper, GMimeStream * stream) writeToStreamAn object containing the results from decrypting an encrypted stream.
GObject parentObjectparent #GObjectGMimeCertificateList * recipientsA #GMimeCertificateListGMimeSignatureList * signaturesA #GMimeSignatureList if signed or null otherwise.GMimeCipherAlgo cipherThe cipher algorithm used to encrypt the stream.GMimeDigestAlgo mdcThe MDC digest algorithm used, if any.char * sessionKeyThe session key if requested or null otherwise.GObjectClass parentClassA context used for encoding or decoding data.
GMimeContentEncoding encodingthe type of encodingubyte[60] uubufa temporary buffer needed when uuencoding datagboolean encodetrue if encoding or false if decodinguint savesaved bytes from the previous stepint statecurrent encder/decoder stateBase class for filters used by #GMimeStreamFilter.
GObject parentObjectparent #GObjectvoid * privprivate state datachar * outrealchar * outbufchar * outptrsize_t outsizesize_t outprechar * backbufsize_t backsizesize_t backlenA basic encoder/decoder filter for the MIME encodings.
GMimeFilterClass parentClassA filter for calculating the best encoding and/or charset to encode the data passed through it.
GMimeFilter parentObjectparent #GMimeFilterGMimeFilterBestFlags flags#GMimeFilterBestFlagsGMimeCharset charset#GMimeCharset stateuint count0count of nul-bytes passed through the filteruint count8count of 8bit bytes passed through the filteruint totaltotal number of bytes passed through the filteruint maxlinethe length of the longest line passed through the filteruint linelencurrent line lengthubyte[6] frombufbuffer for checking From_ linesuint fromlenlength of bytes in @frombufuint hadfromtrue if any line started with "From "uint startlinestart line stateuint midlinemid-line stateGMimeFilterClass parentClassA filter to convert between charsets.
GMimeFilter parentObjectparent #GMimeFilterchar * fromCharsetcharset that the filter is converting fromchar * toCharsetcharset the filter is converting toGMimeFilterClass parentClassA filter for calculating the checksum of a stream.
GMimeFilterClass parentClassGObjectClass parentClassGMimeFilter * function(GMimeFilter * filter) copyvoid function(GMimeFilter * filter, ubyte * inbuf, size_t inlen, size_t prespace, ubyte * * outbuf, size_t * outlen, size_t * outprespace) filtervoid function(GMimeFilter * filter, ubyte * inbuf, size_t inlen, size_t prespace, ubyte * * outbuf, size_t * outlen, size_t * outprespace) completevoid function(GMimeFilter * filter) resetA filter to convert a stream from Windows/DOS line endings to Unix line endings.
GMimeFilter parentObjectparent #GMimeFiltergboolean ensureNewlinetrue if the filter should ensure that the stream ends with a new linechar pcthe previous character encounteredGMimeFilterClass parentClassA filter for converting text/enriched or text/richtext textual streams into text/html.
GMimeFilterClass parentClassA filter for armoring or escaping lines beginning with "From ".
GMimeFilter parentObjectparent #GMimeFilterGMimeFilterFromMode mode#GMimeFilterFromModegboolean midlinetrue if in the middle of a lineGMimeFilterClass parentClassA filter for compresing or decompressing a gzip stream.
GMimeFilter parentObjectparent #GMimeFiltervoid * privprivate state dataGMimeFilterGZipMode mode#GMimeFilterGZipModeint levelcompression levelGMimeFilterClass parentClassA filter for converting text/plain into text/html.
GMimeFilter parentObjectparent #GMimeFiltervoid * scannerURL scanner stateuint flagsflags specifying HTML conversion rulesuint colourcite colouruint columncurrent columnuint preOpencurrently inside of a 'pre' tag.uint citationDepthcurrent citation depth level.GMimeFilterClass parentClassA filter to detect OpenPGP markers.
GMimeFilter parentObjectparent #GMimeFilterGMimeOpenPGPState stategboolean seenEndMarkergboolean midlinelong beginOffsetlong endOffsetlong positionuint nextGMimeFilterClass parentClassA filter to byte-stuff SMTP DATA.
GMimeFilterClass parentClassA filter for stripping whitespace from the end of lines.
GMimeFilterClass parentClassA filter to convert a stream from Windows/DOS line endings to Unix line endings.
GMimeFilter parentObjectparent #GMimeFiltergboolean ensureNewlinetrue if the filter should ensure that the stream ends with a new linechar pcthe previous character encounteredGMimeFilterClass parentClassA filter for detecting whether or not a text stream claimed to be iso-8859-X is really that charset or if it is really a Windows-CP125x charset.
GMimeFilter parentObjectparent #GMimeFiltergboolean isWindowstrue if the stream is detected to be a windows-cp125x charsetchar * claimedCharsetcharset the text stream is claimed to beGMimeFilterClass parentClassA filter for yEncoding or yDecoding a stream.
GMimeFilter parentObjectparent #GMimeFiltergboolean encodeencode vs decodeint partpart idint stateencode/decode stateuint pcrcpart crcuint crcfull crcGMimeFilterClass parentClassFormat options for serializing various GMime objects.
A GnuPG crypto context.
A message or mime-part header.
GObject parentObjectchar * namethe name of the headerchar * valuethe unfolded value of the headerGMimeHeaderRawValueFormatter formatterGMimeParserOptions * optionsgboolean reformatvoid * changedchar * rawValuechar * rawNamechar * charsetlong offsetGObjectClass parentClassA list of message or mime-part headers.
GObject parentObjectGMimeParserOptions * optionsvoid * changedGHashTable * hashGPtrArray * arrayGObjectClass parentClassAn RFC 2822 Address object.
GObject parentObjectparent #GObjectchar * charsetthe charset used for encoding the namechar * namedisplay namevoid * changedGObjectClass parentClassvoid function(GMimeInternetAddress * ia, GMimeFormatOptions * options, uint flags, size_t * linelen, GString * str) toString_An RFC 2822 Group address.
GMimeInternetAddress parentObjectparent #InternetAddressGMimeInternetAddressList * membersa #InternetAddressList of group membersInternetAddressClass parentClassGObjectClass parentClassAn RFC 2822 Mailbox address.
GMimeInternetAddress parentObjectparent #InternetAddresschar * idnAddrthe ascii-encoded version of @addrchar * addrthe address stringint atthe index of the '@' characterInternetAddressClass parentClassA MIME Message object.
GMimeObject parentObjectparent #GMimeObjectGMimeInternetAddressList * * addrlistsa table of address listsGMimeObject * mimeParttoplevel MIME partchar * messageIdMessage-Id stringGDateTime * dateDate valuechar * subjectSubject stringchar * markerGMimeObjectClass parentClassA message/rfc822 or message/news MIME part.
GMimeObjectClass parentClassA message/partial MIME part.
GMimePart parentObjectparent #GMimePart objectint numberthe part numberint totalthe total number of message/partials that make up the whole message/rfc822char * idmessage/partial idGMimePartClass parentClassA base MIME multipart object.
GMimeObject parentObjectparent #GMimeObjectGPtrArray * childrenarray of MIME sub-partschar * boundaryMIME boundarychar * prologuemultipart prologuechar * epiloguemultipart epiloguegboolean writeEndBoundaryGMimeObjectClass parentClassvoid function(GMimeMultipart * multipart) clearvoid function(GMimeMultipart * multipart, GMimeObject * part) addvoid function(GMimeMultipart * multipart, int index, GMimeObject * part) insertgboolean function(GMimeMultipart * multipart, GMimeObject * part) removeGMimeObject * function(GMimeMultipart * multipart, int index) removeAtGMimeObject * function(GMimeMultipart * multipart, int index) getPartgboolean function(GMimeMultipart * multipart, GMimeObject * part) containsint function(GMimeMultipart * multipart, GMimeObject * part) indexOfint function(GMimeMultipart * multipart) getCountvoid function(GMimeMultipart * multipart, const(char) * boundary) setBoundaryconst(char) * function(GMimeMultipart * multipart) getBoundaryA multipart/encrypted MIME part.
GMimeMultipart parentObjectparent #GMimeMultipartGMimeMultipartClass parentClassA multipart/signed MIME part.
GMimeMultipart parentObjectparent #GMimeMultipartGMimeMultipartClass parentClassGObjectClass parentClassvoid function(GMimeObject * object, GMimeHeader * header) headerAddedvoid function(GMimeObject * object, GMimeHeader * header) headerChangedvoid function(GMimeObject * object, GMimeHeader * header) headerRemovedvoid function(GMimeObject * object) headersClearedvoid function(GMimeObject * object, GMimeContentType * contentType) setContentTypechar * function(GMimeObject * object, GMimeFormatOptions * options) getHeadersptrdiff_t function(GMimeObject * object, GMimeFormatOptions * options, gboolean contentOnly, GMimeStream * stream) writeToStreamvoid function(GMimeObject * object, GMimeEncodingConstraint constraint) encodeBase class for all MIME parts.
GObject parentObjectparent #GObjectGMimeContentDisposition * dispositiona #GMimeContentDispositionGMimeContentType * contentTypea #GMimeContentTypeGMimeHeaderList * headersa #GMimeHeaderListchar * contentIda Content-Idgboolean ensureNewlineAn OpenPGP marker for use with GMime's internal state machines used for detecting OpenPGP blocks.
const(char) * markerThe OpenPGP marker.size_t lenThe length of the OpenPGP marker.GMimeOpenPGPState beforeThe #GMimeOpenPGPState that the state machine must be in before encountering this marker.GMimeOpenPGPState afterThe #GMimeOpenPGPState that the state machine will transition into once this marker is found.gboolean isEndMarkertrue if the marker is an end marker; otherwise, false.A parameter name/value pair as used in the Content-Type and Content-Disposition headers.
GObject parentObjectGMimeParamEncodingMethod methodThe encoding method used for the parameter value.char * charsetThe charset to use when encoding the parameter value.char * langthe language specifier to use when encoding the value.char * nameThe parameter name.char * valueThe parameter value.void * changedGObjectClass parentClassGObjectClass parentClassA MIME parser context.
GObjectClass parentClassA set of parser options used by #GMimeParser and various other parsing functions.
A leaf-node MIME part object.
GMimeObject parentObjectparent #GMimeObjectGMimeContentEncoding encodinga #GMimeContentEncodingGMimeOpenPGPData openpgpa #GMimeOpenPGPDatachar * contentDescriptionContent-Description stringchar * contentLocationContent-Location stringchar * contentMd5Content-MD5 stringGMimeDataWrapper * contenta #GMimeDataWrapper representing the MIME part's contentGMimeObjectClass parentClassvoid function(GMimePart * mimePart, GMimeDataWrapper * content) setContentA MIME part iterator.
A PKCS7 crypto context.
A List of references, as per the References or In-Reply-To header fields.
GPtrArray * arraythe array of message-id referencesAn object containing useful information about a signature.
GObject parentObjectparent #GObjectGMimeSignatureStatus statusA bitfield of #GMimeSignatureStatus values.GMimeCertificate * certThe #GMimeCertificate used in the signature.long createdThe creation date of the signature.long expiresThe expiration date of the signature.GObjectClass parentClassGObjectClass parentClassAbstract I/O stream class.
GObject parentObjectparent #GObjectGMimeStream * superStreamlong positionlong boundStartlong boundEndA buffered stream wrapper around any #GMimeStream object.
GMimeStream parentObjectparent #GMimeStreamGMimeStreamBufferMode modebuffering modeGMimeStream * sourcesource streamchar * bufferinternal bufferchar * bufptrcurrent position in the bufferchar * bufendend of the buffersize_t buflenbuffer lengthGMimeStreamClass parentClassA concatenation of other #GMimeStream objects.
GMimeStream parentObjectparent #GMimeStreamvoid * sourceslist of sourcesvoid * currentcurrent sourceGMimeStreamClass parentClassGObjectClass parentClassptrdiff_t function(GMimeStream * stream, ubyte * buf, size_t len) readptrdiff_t function(GMimeStream * stream, const(ubyte) * buf, size_t len) writeint function(GMimeStream * stream) flushint function(GMimeStream * stream) closegboolean function(GMimeStream * stream) eosint function(GMimeStream * stream) resetlong function(GMimeStream * stream, long offset, GMimeSeekWhence whence) seeklong function(GMimeStream * stream) telllong function(GMimeStream * stream) lengthGMimeStream * function(GMimeStream * stream, long start, long end) substreamA #GMimeStream wrapper around standard-c FILE pointers.
GMimeStream parentObjectparent #GMimeStreamgboolean ownertrue if this stream owns @fdvoid * fpstandard-c FILE pointerGMimeStreamClass parentClassA #GMimeStream which passes data through any #GMimeFilter objects.
GMimeStream parentObjectparent #GMimeStreamvoid * privprivate state dataGMimeStream * sourcesource streamgboolean ownerGMimeStreamClass parentClassA #GMimeStream wrapper around POSIX file descriptors.
GMimeStream parentObjectparent #GMimeStreamgboolean ownertrue if this stream owns @fdgboolean eostrue if end-of-streamint fdfile descriptorGMimeStreamClass parentClassA #GMimeStream wrapper around GLib's GIO streams.
GMimeStream parentObjectparent #GMimeStreamGOutputStream * ostreama #GOutputStreamGInputStream * istreama #GInputStreamGFile * filea #GFilegboolean ownertrue if this stream owns the #GFile or false otherwisegboolean eostrue if the end of the stream has been reached or false otherwiseGMimeStreamClass parentClassAn I/O vector for use with [gmime.stream.Stream.writev].
void * datadata to pass to the I/O function.size_t lenlength of the data, in bytes.A memory-backed #GMimeStream.
GMimeStream parentObjectparent #GMimeStreamGByteArray * buffera memory buffergboolean ownertrue if this stream owns the memory bufferGMimeStreamClass parentClassA memory-mapped #GMimeStream.
GMimeStream parentObjectparent #GMimeStreamgboolean ownertrue if this stream owns the memory mapgboolean eostrue if end-of-streamint fdfile descriptorchar * mapmemory mapsize_t maplenlength of the memory mapGMimeStreamClass parentClassA #GMimeStream which has no backing store.
GMimeStream parentObjectparent #GMimeStreamsize_t writtennumber of bytes written to this streamsize_t newlinesthe number of newlines written to this streamgboolean countNewlineswhether or not the stream should count newlinesGMimeStreamClass parentClassA #GMimeStream wrapper around pipes.
GMimeStream parentObjectparent #GMimeStreamgboolean ownertrue if this stream owns @fdgboolean eostrue if end-of-streamint fdpipe descriptorGMimeStreamClass parentClassA text MIME part object.
GMimePart parentObjectparent #GMimePartGMimePartClass parentClass