@section Manipulating Data Buffers
@cindex data buffere, manipulation
-@deftypefun GpgmeError gpgme_data_read (@w{GpgmeData @var{dh}}, @w{char *@var{buffer}}, @w{size_t @var{length}}, @w{size_t *@var{nread}})
+@deftypefun GpgmeError gpgme_data_read (@w{GpgmeData @var{dh}}, @w{void *@var{buffer}}, @w{size_t @var{length}}, @w{size_t *@var{nread}})
The function @code{gpgme_data_read} reads up to @var{length} bytes
from the data object with the handle @var{dh} into the space starting
at @var{buffer}. The actual amount read is returned in @var{nread}.
pointer.
@end deftypefun
-@deftypefun GpgmeError gpgme_data_write (@w{GpgmeData @var{dh}}, @w{const char *@var{buffer}}, @w{size_t @var{length}})
+@deftypefun GpgmeError gpgme_data_write (@w{GpgmeData @var{dh}}, @w{const void *@var{buffer}}, @w{size_t @var{length}})
The function @code{gpgme_data_write} writes @var{length} bytes
starting from @var{buffer} into the data object with the handle
@var{dh} at the current write position.
not a valid protocol.
@end deftypefun
+@deftypefun GpgmeProtocol gpgme_get_protocol (@w{GpgmeCtx @var{ctx}})
+The function @code{gpgme_get_protocol} retrieves the protocol currently
+use with the context @var{ctx}.
+@end deftypefun
@node @acronym{ASCII} Armor
@subsection @acronym{ASCII} Armor
This status indicates that the signature is valid. For the combined
result this status means that all signatures are valid.
+@item GPGME_SIG_STAT_GOOD_EXP
+This status indicates that the signature is valid but expired. For the
+combined result this status means that all signatures are valid and expired..
+
+@item GPGME_SIG_STAT_GOOD_EXPKEY
+This status indicates that the signature is valid but the key used to
+verify the signature has expired. For the
+combined result this status means that all signatures are valid and all
+keys are expired.
+
@item GPGME_SIG_STAT_BAD
This status indicates that the signature is invalid. For the combined
result this status means that all signatures are invalid.
no verification could be performed.
@end deftypefun
+@deftypefun {const char *} gpgme_get_sig_string_attr (@w{GpgmeCtx @var{ctx}}, @w{int @var{idx}}, @w{GpgmeAttr @var{waht}}, @w{int @var{reserved}})
+This function is similar to @code{gpgme_get_sig_status} but may be used
+to retrieve more detailed information. @var{ctx} should be the context
+used for the last signature verification, @var{idx} is used to enumerate
+over all signatures starting with @code{0} and @var{reserved} should be
+@code{0} for now.
+
+The only attribute @var{what} currently supported is
+@code{GPGME_ATTR_FPR} to return the fingerprint of the key used to
+create the signature.
+@end deftypefun
+
+@deftypefun {const char *} gpgme_get_sig_ulong_attr (@w{GpgmeCtx @var{ctx}}, @w{int @var{idx}}, @w{GpgmeAttr @var{waht}}, @w{int @var{reserved}})
+This fucntion is similar to @code{gpgme_get_sig_string_attr} but used
+for attributes which can be represented by an @code{unsigned long} data
+type. @var{ctx} should be the context used for the last signature
+verification, @var{idx} is used to enumerate over all signatures
+starting with @code{0} and @var{reserved} should be @code{0} for now.
+
+The following values may be used for @var{what}:
+@table @code
+@item GPGME_ATTR_CREATED
+Return the creation time of the signature in seconds since Epoch. This
+is the same value as returned by @code{gpgme_get_sig_status}.
+
+@item GPGME_ATTR_EXPIRE
+Return the expiration time of the signature in seconds since Epoch.
+
+@item GPGME_ATTR_VALIDITY
+Returns the validity of the key used to create the signature. This is a
+shortcut function which avoids an extra key lookup. The value returned
+is one of @code{GPGME_VALIDITY_UNKNOWN}, @code{GPGME_VALIDITY_NEVER},
+@code{GPGME_VALIDITY_MARGINAL} or @code{GPGME_VALIDITY_FULL}.
+
+@item GPGME_ATTR_SIG_STATUS
+This is the same value as returned by @code{gpgme_get_sig_status}.
+
+@end table
+@end deftypefun
+
+
@deftypefun {const char *} gpgme_get_sig_key (@w{GpgmeCtx @var{ctx}}, @w{int @var{idx}}, @w{GpgmeSigKey *@var{r_stat}})
The function @code{gpgme_get_sig_status} receives a @code{GpgmeKey}
object for the key which was used to verify the signature after the