gmime.c.types

C types for gmime3 library

struct GMimeApplicationPkcs7Mime GMimeApplicationPkcs7MimeClass GMimeAutocryptHeader GMimeAutocryptHeaderClass GMimeAutocryptHeaderList GMimeAutocryptHeaderListClass GMimeCertificate GMimeCertificateClass GMimeCertificateList GMimeCertificateListClass GMimeCharset GMimeContentDisposition GMimeContentDispositionClass GMimeContentType GMimeContentTypeClass GMimeCryptoContext GMimeCryptoContextClass GMimeDataWrapper GMimeDataWrapperClass GMimeDecryptResult GMimeDecryptResultClass GMimeEncoding GMimeFilter GMimeFilterBasic GMimeFilterBasicClass GMimeFilterBest GMimeFilterBestClass GMimeFilterCharset GMimeFilterCharsetClass GMimeFilterChecksum GMimeFilterChecksumClass GMimeFilterClass GMimeFilterDos2Unix GMimeFilterDos2UnixClass GMimeFilterEnriched GMimeFilterEnrichedClass GMimeFilterFrom GMimeFilterFromClass GMimeFilterGZip GMimeFilterGZipClass GMimeFilterHTML GMimeFilterHTMLClass GMimeFilterOpenPGP GMimeFilterOpenPGPClass GMimeFilterSmtpData GMimeFilterSmtpDataClass GMimeFilterStrip GMimeFilterStripClass GMimeFilterUnix2Dos GMimeFilterUnix2DosClass GMimeFilterWindows GMimeFilterWindowsClass GMimeFilterYenc GMimeFilterYencClass GMimeFormatOptions GMimeGpgContext GMimeGpgContextClass GMimeHeader GMimeHeaderClass GMimeHeaderList GMimeHeaderListClass GMimeInternetAddress GMimeInternetAddressGroup GMimeInternetAddressList GMimeInternetAddressMailbox GMimeMessage GMimeMessageClass GMimeMessagePart GMimeMessagePartClass GMimeMessagePartial GMimeMessagePartialClass GMimeMultipart GMimeMultipartClass GMimeMultipartEncrypted GMimeMultipartEncryptedClass GMimeMultipartSigned GMimeMultipartSignedClass GMimeObject GMimeObjectClass GMimeOpenPGPMarker GMimeParam GMimeParamClass GMimeParamList GMimeParamListClass GMimeParser GMimeParserClass GMimeParserOptions GMimePart GMimePartClass GMimePartIter GMimePkcs7Context GMimePkcs7ContextClass GMimeReferences GMimeSignature GMimeSignatureClass GMimeSignatureList GMimeSignatureListClass GMimeStream GMimeStreamBuffer GMimeStreamBufferClass GMimeStreamCat GMimeStreamCatClass GMimeStreamClass GMimeStreamFile GMimeStreamFileClass GMimeStreamFilter GMimeStreamFilterClass GMimeStreamFs GMimeStreamFsClass GMimeStreamGIO GMimeStreamGIOClass GMimeStreamIOVector GMimeStreamMem GMimeStreamMemClass GMimeStreamMmap GMimeStreamMmapClass GMimeStreamNull GMimeStreamNullClass GMimeStreamPipe GMimeStreamPipeClass GMimeTextPart GMimeTextPartClass InternetAddressClass InternetAddressGroupClass InternetAddressListClass InternetAddressMailboxClass

Types 158

An address type.

Sender = 0Represents the addresses in the Sender header.
From = 1Represents the addresses in the From header.
ReplyTo = 2Represents the addresses in the Reply-To header.
To = 3Represents the recipients in the To header.
Cc = 4Represents the recipients in the Cc header.
Bcc = 5Represents the recipients in the Bcc header.

A description of the user's preference for encrypted messaging.

None = 0No preference stated.
Mutual = 1Please encrypt, if you also have this preference

A cipher algorithm.

Default = 0The default (or unknown) cipher.
Idea = 1The IDEA cipher.
_3des = 2The 3DES cipher.
Cast5 = 3The CAST5 cipher.
Blowfish = 4The Blowfish cipher.
Aes = 7The AES (aka RIJANDALE) cipher.
Aes192 = 8The AES-192 cipher.
Aes256 = 9The AES-256 cipher.
Twofish = 10The Twofish cipher.
Camellia128 = 11The Camellia-128 cipher.
Camellia192 = 12The Camellia-192 cipher.
Camellia256 = 13The Camellia-256 cipher.

A Content-Transfer-Encoding enumeration.

Default = 0Default transfer encoding.
_7bit = 17bit text transfer encoding.
_8bit = 28bit text transfer encoding.
Binary = 3Binary transfer encoding.
Base64 = 4Base64 transfer encoding.
Quotedprintable = 5Quoted-printable transfer encoding.
Uuencode = 6Uuencode transfer encoding.

Decryption flags.

None = 0No flags specified.
ExportSessionKey = 1Export the decryption session-key.
NoVerify = 2Disable signature verification.
EnableKeyserverLookups = 32768Enable OpenPGP keyserver lookups.
EnableOnlineCertificateChecks = 32768Enable CRL and OCSP checks that require network lookups.

A hash algorithm.

Default = 0The default hash algorithm.
Md5 = 1The MD5 hash algorithm.
Sha1 = 2The SHA-1 hash algorithm.
Ripemd160 = 3The RIPEMD-160 hash algorithm.
Md2 = 5The MD2 hash algorithm.
Tiger192 = 6The TIGER-192 hash algorithm.
Haval5160 = 7The HAVAL-5-160 hash algorithm.
Sha256 = 8The SHA-256 hash algorithm.
Sha384 = 9The SHA-384 hash algorithm.
Sha512 = 10The SHA-512 hash algorithm.
Sha224 = 11The SHA-224 hash algorithm.
Md4 = 301The MD4 hash algorithm.
Crc32 = 302The CRC32 hash algorithm.
Crc32Rfc1510 = 303The rfc1510 CRC32 hash algorithm.
Crc32Rfc2440 = 304The rfc2440 CRC32 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.

_7bit = 0The stream data must fit within the 7bit ASCII range.
_8bit = 1The stream data may have bytes with the high bit set, but no null bytes.
Binary = 2The stream may contain any binary data.

Encryption flags.

None = 0No flags specified.
AlwaysTrust = 1Always trust the specified keys.
NoCompress = 16Don't compress the plaintext before encrypting.
Symmetric = 32Encrypt symmetrically.
ThrowKeyids = 64Do not include the key ids in the ciphertext.

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.

Charset = 1Enable best-charset detection.
Encoding = 2Enable best-encoding detection.

The mode for a #GMimeFilterFrom filter.

Default = 0Default mode.
Escape = 0Escape 'From ' lines with a '>'
Armor = 1QP-Encode 'From ' lines

The mode for the #GMimeFilterGZip filter.

Zip = 0Compress (zip) mode.
Unzip = 1Uncompress (unzip) mode.

An enum of formats.

Message = 0The stream contains a single message.
Mbox = 1The stream is in the UNIX mbox format.
Mmdf = 2The stream is in the MMDF format.

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.

Unix = 0The Unix New-Line format ("\n").
Dos = 1The DOS New-Line format ("\r\n").

The type of OpenPGP data found, if any.

None = 0No OpenPGP data found.
Encrypted = 1The content contains OpenPGP encrypted data.
Signed = 2The content contains OpenPGP signed data.
PublicKey = 3The content contains OpenPGP public key data.
PrivateKey = 4The content contains OpenPGP private key data.

The current state of the #GMimeFilterOpenPGP filter.

None = 0No OpenPGP markers have been found (yet).
BeginPgpMessage = 1The "-----BEGIN PGP MESSAGE-----" marker has been found.
EndPgpMessage = 3The "-----END PGP MESSAGE-----" marker has been found.
BeginPgpSignedMessage = 4The "-----BEGIN PGP SIGNED MESSAGE-----" marker has been found.
BeginPgpSignature = 12The "-----BEGIN PGP SIGNATURE-----" marker has been found.
EndPgpSignature = 28The "-----END PGP SIGNATURE-----" marker has been found.
BeginPgpPublicKeyBlock = 32The "-----BEGIN PGP PUBLIC KEY BLOCK-----" marker has been found.
EndPgpPublicKeyBlock = 96The "-----END PGP PUBLIC KEY BLOCK-----" marker has been found.
BeginPgpPrivateKeyBlock = 128The "-----BEGIN PGP PRIVATE KEY BLOCK-----" marker has been found.
EndPgpPrivateKeyBlock = 384The "-----END PGP PRIVATE KEY BLOCK-----" marker has been found.

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 for

some older email clients to improperly encode using the method described in

<ulink url="https://tools.ietf.org/html/rfc2047">rfc2047</ulink> instead.
Default = 0Use the default encoding method set on the #GMimeFormatOptions.
Rfc2231 = 1Use the encoding method described in rfc2231.
Rfc2047 = 2Use the encoding method described in rfc2047.

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.

WarnDuplicatedHeader = 1Repeated exactly the same header which should exist only once.
WarnDuplicatedParameter = 2Repeated exactly the same header parameter.
WarnUnencoded8bitHeader = 3A header contains unencoded 8-bit characters.
WarnInvalidContentType = 4Invalid content type, assuming `application/octet-stream`.
WarnInvalidRfc2047HeaderValue = 5Invalid RFC 2047 encoded header value.
WarnMalformedMultipart = 6No child parts detected within a multipart.
WarnTruncatedMessage = 7The message is truncated.
WarnMalformedMessage = 8The message is malformed.
CritInvalidHeaderName = 9Invalid header name, the parser may skip the message or parts of it.
CritConflictingHeader = 10Conflicting header.
CritConflictingParameter = 11Conflicting header parameter.
CritMultipartWithoutBoundary = 12A multipart lacks the required boundary parameter.
WarnInvalidParameter = 13Invalid header parameter.
WarnInvalidAddressList = 14Invalid address list.
CritNestingOverflow = 15The maximum MIME nesting level has been exceeded. This is very likely to be an attempt to exploit the MIME parser.
WarnPartWithoutContent = 16A MIME part's headers were terminated by a boundary marker.
CritPartWithoutHeadersOrContent = 17A MIME part was encountered without any headers -or- content. This is very likely to be an attempt to exploit the MIME parser.

A public-key algorithm.

Default = 0The default public-key algorithm.
Rsa = 1The RSA algorithm.
RsaE = 2An encryption-only RSA algorithm.
RsaS = 3A signature-only RSA algorithm.
ElgE = 16An encryption-only ElGamal algorithm.
Dsa = 17The DSA algorithm.
Ecc = 18The Eliptic Curve algorithm.
Elg = 20The ElGamal algorithm.
Ecdsa = 301The Eliptic Curve + DSA algorithm.
Ecdh = 302The Eliptic Curve + Diffie Helman algorithm.
Eddsa = 303The Eliptic Curve + DSA algorithm.

An RFC compliance mode.

Loose = 0Attempt to be much more liberal accepting broken and/or invalid formatting.
Strict = 1Do not attempt to be overly liberal in accepting broken and/or invalid formatting.

The S/MIME data type.

CompressedData = 0The S/MIME content contains compressed data.
EnvelopedData = 1The S/MIME content contains enveloped data.
SignedData = 2The S/MIME content contains signed data.
CertsOnly = 3The S/MIME content contains only certificates.
Unknown = 4The S/MIME content is unknown.

Relative seek position.

Set = 0Seek relative to the beginning of the stream.
Cur = 1Seek relative to the current position in the stream.
End = 2Seek relative to the end of the stream.

A value representing the signature status bit flags for a particular #GMimeSignature.

Valid = 1The signature is fully valid.
Green = 2The signature is good.
Red = 4The signature is bad.
KeyRevoked = 16The key has been revoked.
KeyExpired = 32The key has expired.
SigExpired = 64The signature has expired.
KeyMissing = 128Can't verify due to missing key.
CrlMissing = 256CRL not available.
CrlTooOld = 512Available CRL is too old.
BadPolicy = 1024A policy was not met.
SysError = 2048A system error occurred.
TofuConflict = 4096Tofu conflict detected.

The buffering mode for a #GMimeStreamBuffer stream.

Read = 0Read in 4k blocks.
Write = 1Write in 4k blocks.

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.

Unknown = 0We do not know whether to rely on identity assertions made by the certificate.
Undefined = 1We do not have enough information to decide whether to rely on identity assertions made by the certificate.
Never = 2We should never rely on identity assertions made by the certificate.
Marginal = 3We can rely on identity assertions made by this certificate as long as they are corroborated by other marginally-trusted certificates.
Full = 4We can rely on identity assertions made by this certificate.
Ultimate = 5This certificate is an undeniable root of trust (e.g. normally, this is a certificate controlled by the user themselves).

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.

Unknown = 0The User ID of the certificate is of unknown validity.
Undefined = 1The User ID of the certificate is undefined.
Never = 2The User ID of the certificate is never to be treated as valid.
Marginal = 3The User ID of the certificate is marginally valid (e.g. it has been certified by only one marginally-trusted party).
Full = 4The User ID of the certificate is fully valid.
Ultimate = 5The User ID of the certificate is ultimately valid (i.e., usually the certificate belongs to the local user themselves).
enumGMimeVerifyFlags : uint

Signature verification flags.

None = 0No flags specified.
EnableKeyserverLookups = 32768Enable OpenPGP keyserver lookups.
EnableOnlineCertificateChecks = 32768Enable CRL and OCSP checks that require network lookups.

An application/pkcs7-mime MIME part.

Fields
GMimePart parentObjectparent #GMimePart object
GMimeSecureMimeType smimeTypeThe smime-type Content-Type parameter.

An object containing Autocrypt information about a given e-mail address, as derived from a message header.

See https://autocrypt.org/ for details and motivation.

Fields
GObject parentObjectparent #GObject
GMimeInternetAddressMailbox * 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.

A list of Autocrypt headers, typically extracted from a GMimeMessage.

Fields
GObject parentObjectparent #GObject
GPtrArray * arrayArray of #GMimeAutocryptHeader items.

An object containing useful information about a certificate.

Fields
GObject parentObjectparent #GObject
GMimePubKeyAlgo 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.
Fields
GObjectClass parentClass

A collection of #GMimeCertificate objects.

Fields
GObject parentObjectparent #GObject
GPtrArray * arrayAn array of #GMimeCertificate objects.

State used by [gmime.charset.Charset.best] and [gmime.charset.Charset.bestName].

Fields
uint maskcharset mask
uint levelcharset level

A data structure representing a Content-Disposition.

Fields
GObject parentObjectparent #GObject
char * dispositiondisposition
GMimeParamList * paramsa #GMimeParam list
void * changed

A data structure representing a Content-Type.

Fields
GObject parentObjectparent #GObject
char * typemedia type
char * subtypemedia subtype
GMimeParamList * paramsa #GMimeParam list
void * changed
Fields
GObjectClass parentClass

A crypto context for use with MIME.

Fields
GObject parentObjectparent #GObject
GMimePasswordRequestFunc requestPasswda callback for requesting a password
Fields
GObjectClass parentClass
GMimeDigestAlgo function(GMimeCryptoContext * ctx, const(char) * name) digestId
const(char) * function(GMimeCryptoContext * ctx, GMimeDigestAlgo digest) digestName
const(char) * function(GMimeCryptoContext * ctx) getSignatureProtocol
const(char) * function(GMimeCryptoContext * ctx) getEncryptionProtocol
const(char) * function(GMimeCryptoContext * ctx) getKeyExchangeProtocol
int function(GMimeCryptoContext * ctx, gboolean detach, const(char) * userid, GMimeStream * istream, GMimeStream * ostream, GError * * _err) sign
GMimeSignatureList * function(GMimeCryptoContext * ctx, GMimeVerifyFlags flags, GMimeStream * istream, GMimeStream * sigstream, GMimeStream * ostream, GError * * _err) verify
int function(GMimeCryptoContext * ctx, gboolean sign, const(char) * userid, GMimeEncryptFlags flags, GPtrArray * recipients, GMimeStream * istream, GMimeStream * ostream, GError * * _err) encrypt
GMimeDecryptResult * function(GMimeCryptoContext * ctx, GMimeDecryptFlags flags, const(char) * sessionKey, GMimeStream * istream, GMimeStream * ostream, GError * * _err) decrypt
int function(GMimeCryptoContext * ctx, GMimeStream * istream, GError * * _err) importKeys
int function(GMimeCryptoContext * ctx, const(char *) * keys, GMimeStream * ostream, GError * * _err) exportKeys

A wrapper for a stream which may be encoded.

Fields
GObject parentObjectparent #GObject
GMimeContentEncoding encodingthe encoding of the content
GMimeStream * streamcontent stream
Fields
GObjectClass parentClass
ptrdiff_t function(GMimeDataWrapper * wrapper, GMimeStream * stream) writeToStream

An object containing the results from decrypting an encrypted stream.

Fields
GObject parentObjectparent #GObject
GMimeCertificateList * recipientsA #GMimeCertificateList
GMimeSignatureList * 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.
Fields
GObjectClass parentClass

A context used for encoding or decoding data.

Fields
GMimeContentEncoding encodingthe type of encoding
ubyte[60] uubufa temporary buffer needed when uuencoding data
gboolean encodetrue if encoding or false if decoding
uint savesaved bytes from the previous step
int statecurrent encder/decoder state

Base class for filters used by #GMimeStreamFilter.

Fields
GObject parentObjectparent #GObject
void * privprivate state data
char * outreal
char * outbuf
char * outptr
size_t outsize
size_t outpre
char * backbuf
size_t backsize
size_t backlen

A basic encoder/decoder filter for the MIME encodings.

Fields
GMimeFilter parentObjectparent #GMimeFilter
GMimeEncoding encoder#GMimeEncoding state

A filter for calculating the best encoding and/or charset to encode the data passed through it.

Fields
GMimeFilter parentObjectparent #GMimeFilter
GMimeFilterBestFlags flags#GMimeFilterBestFlags
GMimeCharset charset#GMimeCharset state
uint count0count of nul-bytes passed through the filter
uint count8count of 8bit bytes passed through the filter
uint totaltotal number of bytes passed through the filter
uint maxlinethe length of the longest line passed through the filter
uint linelencurrent line length
ubyte[6] frombufbuffer for checking From_ lines
uint fromlenlength of bytes in @frombuf
uint hadfromtrue if any line started with "From "
uint startlinestart line state
uint midlinemid-line state
Fields
GMimeFilterClass parentClass

A filter to convert between charsets.

Fields
GMimeFilter parentObjectparent #GMimeFilter
char * fromCharsetcharset that the filter is converting from
char * toCharsetcharset the filter is converting to

A filter for calculating the checksum of a stream.

Fields
GMimeFilter parentObjectparent #GMimeFilter
GChecksum * checksumThe checksum context
Fields
GObjectClass parentClass
GMimeFilter * function(GMimeFilter * filter) copy
void function(GMimeFilter * filter, ubyte * inbuf, size_t inlen, size_t prespace, ubyte * * outbuf, size_t * outlen, size_t * outprespace) filter
void function(GMimeFilter * filter, ubyte * inbuf, size_t inlen, size_t prespace, ubyte * * outbuf, size_t * outlen, size_t * outprespace) complete
void function(GMimeFilter * filter) reset

A filter to convert a stream from Windows/DOS line endings to Unix line endings.

Fields
GMimeFilter parentObjectparent #GMimeFilter
gboolean ensureNewlinetrue if the filter should ensure that the stream ends with a new line
char pcthe previous character encountered

A filter for converting text/enriched or text/richtext textual streams into text/html.

Fields
GMimeFilter parentObjectparent #GMimeFilter
uint flagsbit flags
int nofillnofill tag state

A filter for armoring or escaping lines beginning with "From ".

Fields
GMimeFilter parentObjectparent #GMimeFilter
GMimeFilterFromMode mode#GMimeFilterFromMode
gboolean midlinetrue if in the middle of a line
Fields
GMimeFilterClass parentClass

A filter for compresing or decompressing a gzip stream.

Fields
GMimeFilter parentObjectparent #GMimeFilter
void * privprivate state data
GMimeFilterGZipMode mode#GMimeFilterGZipMode
int levelcompression level
Fields
GMimeFilterClass parentClass

A filter for converting text/plain into text/html.

Fields
GMimeFilter parentObjectparent #GMimeFilter
void * scannerURL scanner state
uint flagsflags specifying HTML conversion rules
uint colourcite colour
uint columncurrent column
uint preOpencurrently inside of a 'pre' tag.
uint citationDepthcurrent citation depth level.
Fields
GMimeFilterClass parentClass

A filter to detect OpenPGP markers.

Fields
GMimeFilter parentObjectparent #GMimeFilter
gboolean seenEndMarker
gboolean midline
long beginOffset
long endOffset
long position
uint next

A filter to byte-stuff SMTP DATA.

Fields
GMimeFilter parentObjectparent #GMimeFilter
gboolean bolbeginning-of-line state.

A filter for stripping whitespace from the end of lines.

Fields
GMimeFilter parentObjectparent #GMimeFilter
void * lwsp

A filter to convert a stream from Windows/DOS line endings to Unix line endings.

Fields
GMimeFilter parentObjectparent #GMimeFilter
gboolean ensureNewlinetrue if the filter should ensure that the stream ends with a new line
char pcthe previous character encountered

A 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.

Fields
GMimeFilter parentObjectparent #GMimeFilter
gboolean isWindowstrue if the stream is detected to be a windows-cp125x charset
char * claimedCharsetcharset the text stream is claimed to be

A filter for yEncoding or yDecoding a stream.

Fields
GMimeFilter parentObjectparent #GMimeFilter
gboolean encodeencode vs decode
int partpart id
int stateencode/decode state
uint pcrcpart crc
uint crcfull crc
Fields
GMimeFilterClass parentClass

Format options for serializing various GMime objects.

A GnuPG crypto context.

A message or mime-part header.

Fields
GObject parentObject
char * namethe name of the header
char * valuethe unfolded value of the header
gboolean reformat
void * changed
char * rawValue
char * rawName
char * charset
long offset
Fields
GObjectClass parentClass

A list of message or mime-part headers.

Fields
GObject parentObject
void * changed
GHashTable * hash
GPtrArray * array
Fields
GObjectClass parentClass

An RFC 2822 Address object.

Fields
GObject parentObjectparent #GObject
char * charsetthe charset used for encoding the name
char * namedisplay name
void * changed
Fields
GObjectClass parentClass
void function(GMimeInternetAddress * ia, GMimeFormatOptions * options, uint flags, size_t * linelen, GString * str) toString_

An RFC 2822 Group address.

Fields
GMimeInternetAddress parentObjectparent #InternetAddress
GMimeInternetAddressList * membersa #InternetAddressList of group members

A collection of #InternetAddress objects.

Fields
GObject parentObjectparent #GObject
GPtrArray * arrayThe array of #InternetAddress objects.
void * changed
Fields
GObjectClass parentClass

An RFC 2822 Mailbox address.

Fields
GMimeInternetAddress parentObjectparent #InternetAddress
char * idnAddrthe ascii-encoded version of @addr
char * addrthe address string
int atthe index of the '@' character

A MIME Message object.

Fields
GMimeObject parentObjectparent #GMimeObject
GMimeInternetAddressList * * addrlistsa table of address lists
GMimeObject * mimeParttoplevel MIME part
char * messageIdMessage-Id string
GDateTime * dateDate value
char * subjectSubject string
char * marker
Fields
GMimeObjectClass parentClass

A message/rfc822 or message/news MIME part.

Fields
GMimeObject parentObjectparent #GMimeObject
GMimeMessage * messagechild #GMimeMessage

A message/partial MIME part.

Fields
GMimePart parentObjectparent #GMimePart object
int numberthe part number
int totalthe total number of message/partials that make up the whole message/rfc822
char * idmessage/partial id

A base MIME multipart object.

Fields
GMimeObject parentObjectparent #GMimeObject
GPtrArray * childrenarray of MIME sub-parts
char * boundaryMIME boundary
char * prologuemultipart prologue
char * epiloguemultipart epilogue
gboolean writeEndBoundary
Fields
GMimeObjectClass parentClass
void function(GMimeMultipart * multipart) clear
void function(GMimeMultipart * multipart, GMimeObject * part) add
void function(GMimeMultipart * multipart, int index, GMimeObject * part) insert
gboolean function(GMimeMultipart * multipart, GMimeObject * part) remove
GMimeObject * function(GMimeMultipart * multipart, int index) removeAt
GMimeObject * function(GMimeMultipart * multipart, int index) getPart
gboolean function(GMimeMultipart * multipart, GMimeObject * part) contains
int function(GMimeMultipart * multipart, GMimeObject * part) indexOf
int function(GMimeMultipart * multipart) getCount
void function(GMimeMultipart * multipart, const(char) * boundary) setBoundary
const(char) * function(GMimeMultipart * multipart) getBoundary

A multipart/encrypted MIME part.

Fields
GMimeMultipart parentObjectparent #GMimeMultipart

A multipart/signed MIME part.

Fields
GMimeMultipart parentObjectparent #GMimeMultipart
Fields
GObjectClass parentClass
void function(GMimeObject * object, GMimeHeader * header) headerAdded
void function(GMimeObject * object, GMimeHeader * header) headerChanged
void function(GMimeObject * object, GMimeHeader * header) headerRemoved
void function(GMimeObject * object) headersCleared
void function(GMimeObject * object, GMimeContentType * contentType) setContentType
char * function(GMimeObject * object, GMimeFormatOptions * options) getHeaders
ptrdiff_t function(GMimeObject * object, GMimeFormatOptions * options, gboolean contentOnly, GMimeStream * stream) writeToStream
void function(GMimeObject * object, GMimeEncodingConstraint constraint) encode

Base class for all MIME parts.

Fields
GObject parentObjectparent #GObject
GMimeContentDisposition * dispositiona #GMimeContentDisposition
GMimeContentType * contentTypea #GMimeContentType
GMimeHeaderList * headersa #GMimeHeaderList
char * contentIda Content-Id
gboolean ensureNewline

An OpenPGP marker for use with GMime's internal state machines used for detecting OpenPGP blocks.

Fields
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.

Fields
GObject parentObject
GMimeParamEncodingMethod 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 * changed
Fields
GObjectClass parentClass

A list of Content-Type or Content-Disposition parameters.

Fields
GObject parentObject
GPtrArray * array
void * changed
Fields
GObjectClass parentClass

A MIME parser context.

Fields
GObject parentObjectparent #GObject
void * privprivate parser state
Fields
GObjectClass parentClass

A set of parser options used by #GMimeParser and various other parsing functions.

structGMimePart

A leaf-node MIME part object.

Fields
GMimeObject parentObjectparent #GMimeObject
GMimeContentEncoding encodinga #GMimeContentEncoding
GMimeOpenPGPData openpgpa #GMimeOpenPGPData
char * contentDescriptionContent-Description string
char * contentLocationContent-Location string
char * contentMd5Content-MD5 string
GMimeDataWrapper * contenta #GMimeDataWrapper representing the MIME part's content
Fields
GMimeObjectClass parentClass
void function(GMimePart * mimePart, GMimeDataWrapper * content) setContent

A MIME part iterator.

A PKCS7 crypto context.

A List of references, as per the References or In-Reply-To header fields.

Fields
GPtrArray * arraythe array of message-id references

An object containing useful information about a signature.

Fields
GObject parentObjectparent #GObject
GMimeSignatureStatus 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.
Fields
GObjectClass parentClass

A collection of #GMimeSignature objects.

Fields
GObject parentObjectparent #GObject
GPtrArray * array
Fields
GObjectClass parentClass

Abstract I/O stream class.

Fields
GObject parentObjectparent #GObject
GMimeStream * superStream
long position
long boundStart
long boundEnd

A buffered stream wrapper around any #GMimeStream object.

Fields
GMimeStream parentObjectparent #GMimeStream
GMimeStreamBufferMode modebuffering mode
GMimeStream * sourcesource stream
char * bufferinternal buffer
char * bufptrcurrent position in the buffer
char * bufendend of the buffer
size_t buflenbuffer length

A concatenation of other #GMimeStream objects.

Fields
GMimeStream parentObjectparent #GMimeStream
void * sourceslist of sources
void * currentcurrent source
Fields
GMimeStreamClass parentClass
Fields
GObjectClass parentClass
ptrdiff_t function(GMimeStream * stream, ubyte * buf, size_t len) read
ptrdiff_t function(GMimeStream * stream, const(ubyte) * buf, size_t len) write
int function(GMimeStream * stream) flush
int function(GMimeStream * stream) close
gboolean function(GMimeStream * stream) eos
int function(GMimeStream * stream) reset
long function(GMimeStream * stream, long offset, GMimeSeekWhence whence) seek
long function(GMimeStream * stream) tell
long function(GMimeStream * stream) length
GMimeStream * function(GMimeStream * stream, long start, long end) substream

A #GMimeStream wrapper around standard-c FILE pointers.

Fields
GMimeStream parentObjectparent #GMimeStream
gboolean ownertrue if this stream owns @fd
void * fpstandard-c FILE pointer
Fields
GMimeStreamClass parentClass

A #GMimeStream which passes data through any #GMimeFilter objects.

Fields
GMimeStream parentObjectparent #GMimeStream
void * privprivate state data
GMimeStream * sourcesource stream
gboolean owner

A #GMimeStream wrapper around POSIX file descriptors.

Fields
GMimeStream parentObjectparent #GMimeStream
gboolean ownertrue if this stream owns @fd
gboolean eostrue if end-of-stream
int fdfile descriptor
Fields
GMimeStreamClass parentClass

A #GMimeStream wrapper around GLib's GIO streams.

Fields
GMimeStream parentObjectparent #GMimeStream
GOutputStream * ostreama #GOutputStream
GInputStream * istreama #GInputStream
GFile * filea #GFile
gboolean ownertrue if this stream owns the #GFile or false otherwise
gboolean eostrue if the end of the stream has been reached or false otherwise
Fields
GMimeStreamClass parentClass

An I/O vector for use with [gmime.stream.Stream.writev].

Fields
void * datadata to pass to the I/O function.
size_t lenlength of the data, in bytes.

A memory-backed #GMimeStream.

Fields
GMimeStream parentObjectparent #GMimeStream
GByteArray * buffera memory buffer
gboolean ownertrue if this stream owns the memory buffer
Fields
GMimeStreamClass parentClass

A memory-mapped #GMimeStream.

Fields
GMimeStream parentObjectparent #GMimeStream
gboolean ownertrue if this stream owns the memory map
gboolean eostrue if end-of-stream
int fdfile descriptor
char * mapmemory map
size_t maplenlength of the memory map
Fields
GMimeStreamClass parentClass

A #GMimeStream which has no backing store.

Fields
GMimeStream parentObjectparent #GMimeStream
size_t writtennumber of bytes written to this stream
size_t newlinesthe number of newlines written to this stream
gboolean countNewlineswhether or not the stream should count newlines
Fields
GMimeStreamClass parentClass

A #GMimeStream wrapper around pipes.

Fields
GMimeStream parentObjectparent #GMimeStream
gboolean ownertrue if this stream owns @fd
gboolean eostrue if end-of-stream
int fdpipe descriptor
Fields
GMimeStreamClass parentClass

A text MIME part object.

Fields
GMimePart parentObjectparent #GMimePart
Fields
GMimePartClass parentClass
aliasGMimeHeaderRawValueFormatter = char * function(GMimeHeader * header, GMimeFormatOptions * options, const(char) * value, const(char) * charset)
aliasGMimeObjectForeachFunc = void function(GMimeObject * parent, GMimeObject * part, void * userData)
aliasGMimeParserHeaderRegexFunc = void function(GMimeParser * parser, const(char) * header, const(char) * value, long offset, void * userData)
aliasGMimeParserWarningFunc = void function(long offset, GMimeParserWarning errcode, const(char) * item, void * userData)
aliasGMimePasswordRequestFunc = gboolean function(GMimeCryptoContext * ctx, const(char) * userId, const(char) * prompt, gboolean reprompt, GMimeStream * response, GError * * _err)