diff options
Diffstat (limited to 'gpgme/gpgme.h')
| -rw-r--r-- | gpgme/gpgme.h | 112 | 
1 files changed, 76 insertions, 36 deletions
| diff --git a/gpgme/gpgme.h b/gpgme/gpgme.h index 08261fe3..d8534031 100644 --- a/gpgme/gpgme.h +++ b/gpgme/gpgme.h @@ -507,9 +507,54 @@ GpgmeError gpgme_recipients_enum_close (const GpgmeRecipients rset,  /* Functions to handle data objects.  */ +/* Read up to SIZE bytes into buffer BUFFER from the data object with +   the handle HANDLE.  Return the number of characters read, 0 on EOF +   and -1 on error.  If an error occurs, errno is set.  */ +typedef int (*GpgmeDataReadCb) (void *handle, void *buffer, size_t size); + +/* Write up to SIZE bytes from buffer BUFFER to the data object with +   the handle HANDLE.  Return the number of characters written, or -1 +   on error.  If an error occurs, errno is set.  */ +typedef ssize_t (*GpgmeDataWriteCb) (void *handle, const void *buffer, +				     size_t size); + +/* Set the current position from where the next read or write starts +   in the data object with the handle HANDLE to OFFSET, relativ to +   WHENCE.  */ +typedef int (*GpgmeDataSeekCb) (void *handle, off_t offset, int whence); + +/* Close the data object with the handle DL.  */ +typedef void (*GpgmeDataReleaseCb) (void *handle); + +struct GpgmeDataCbs +{ +  GpgmeDataReadCb read; +  GpgmeDataWriteCb write; +  GpgmeDataSeekCb seek; +  GpgmeDataReleaseCb release; +}; + +/* Read up to SIZE bytes into buffer BUFFER from the data object with +   the handle DH.  Return the number of characters read, 0 on EOF and +   -1 on error.  If an error occurs, errno is set.  */ +int gpgme_data_read (GpgmeData dh, void *buffer, size_t size); + +/* Write up to SIZE bytes from buffer BUFFER to the data object with +   the handle DH.  Return the number of characters written, or -1 on +   error.  If an error occurs, errno is set.  */ +ssize_t gpgme_data_write (GpgmeData dh, const void *buffer, size_t size); + +/* Set the current position from where the next read or write starts +   in the data object with the handle DH to OFFSET, relativ to +   WHENCE.  */ +off_t gpgme_data_seek (GpgmeData dh, off_t offset, int whence); +  /* Create a new data buffer and return it in R_DH.  */  GpgmeError gpgme_data_new (GpgmeData *r_dh); +/* Destroy the data buffer DH.  */ +void gpgme_data_release (GpgmeData dh); +  /* Create a new data buffer filled with SIZE bytes starting from     BUFFER.  If COPY is zero, copying is delayed until necessary, and     the data is taken from the original location when needed.  */ @@ -517,14 +562,37 @@ GpgmeError gpgme_data_new_from_mem (GpgmeData *r_dh,  				    const char *buffer, size_t size,  				    int copy); +/* Destroy the data buffer DH and return a pointer to its content. +   The memory has be to released with free by the user.  It's size is +   returned in R_LEN.  */ +char *gpgme_data_release_and_get_mem (GpgmeData dh, size_t *r_len); + +GpgmeError gpgme_data_new_from_cbs (GpgmeData *dh, +				    struct GpgmeDataCbs *cbs, +				    void *handle); + +GpgmeError gpgme_data_new_from_fd (GpgmeData *dh, int fd); + +GpgmeError gpgme_data_new_from_stream (GpgmeData *dh, FILE *stream); + +/* Return the encoding attribute of the data buffer DH */ +GpgmeDataEncoding gpgme_data_get_encoding (GpgmeData dh); + +/* Set the encoding attribute of data buffer DH to ENC */ +GpgmeError gpgme_data_set_encoding (GpgmeData dh, GpgmeDataEncoding enc); + + +  /* Create a new data buffer which retrieves the data from the callback -   function READ_CB.  */ +   function READ_CB.  Deprecated, please use gpgme_data_new_from_cbs +   instead.  */  GpgmeError gpgme_data_new_with_read_cb (GpgmeData *r_dh,  					int (*read_cb) (void*,char *,size_t,size_t*),  					void *read_cb_value);  /* Create a new data buffer filled with the content of file FNAME. -   COPY must be non-zero (delayed reads are not supported yet).  */ +   COPY must be non-zero.  For delayed read, please use +   gpgme_data_new_from_fd or gpgme_data_new_from stream instead.  */  GpgmeError gpgme_data_new_from_file (GpgmeData *r_dh,  				     const char *fname,  				     int copy); @@ -536,35 +604,10 @@ GpgmeError gpgme_data_new_from_filepart (GpgmeData *r_dh,  					 const char *fname, FILE *fp,  					 off_t offset, size_t length); -/* Destroy the data buffer DH.  */ -void gpgme_data_release (GpgmeData dh); - -/* Destroy the data buffer DH and return a pointer to its content. -   The memory has be to released with free by the user.  It's size is -   returned in R_LEN.  */ -char *gpgme_data_release_and_get_mem (GpgmeData dh, size_t *r_len); - -/* Return the type of the data buffer DH.  */ -GpgmeDataType gpgme_data_get_type (GpgmeData dh); - -/* Return the encoding attribute of the data buffer DH */ -GpgmeDataEncoding gpgme_data_get_encoding (GpgmeData dh); - -/* Set the encoding attribute of data buffer DH to ENC */ -GpgmeError gpgme_data_set_encoding (GpgmeData dh, GpgmeDataEncoding enc); - -/* Reset the read pointer in DH.  */ +/* Reset the read pointer in DH.  Deprecated, please use +   gpgme_data_seek instead.  */  GpgmeError gpgme_data_rewind (GpgmeData dh); -/* Read LENGTH bytes from the data object DH and store them in the -   memory starting at BUFFER.  The number of bytes actually read is -   returned in NREAD.  */ -GpgmeError gpgme_data_read (GpgmeData dh, void *buffer, -			    size_t length, size_t *nread); - -/* Write LENGTH bytes starting from BUFFER into the data object DH.  */ -GpgmeError gpgme_data_write (GpgmeData dh, const void *buffer, size_t length); -  /* Key and trust functions.  */ @@ -654,10 +697,10 @@ GpgmeError gpgme_op_sign (GpgmeCtx ctx,  			  GpgmeSigMode mode);  /* Verify within CTX that SIG is a valid signature for TEXT.  */ -GpgmeError gpgme_op_verify_start (GpgmeCtx ctx, -				  GpgmeData sig, GpgmeData text); -GpgmeError gpgme_op_verify (GpgmeCtx ctx, -			    GpgmeData sig, GpgmeData text, +GpgmeError gpgme_op_verify_start (GpgmeCtx ctx, GpgmeData sig, +				  GpgmeData signed_text, GpgmeData plaintext); +GpgmeError gpgme_op_verify (GpgmeCtx ctx, GpgmeData sig, +			    GpgmeData signed_text, GpgmeData plaintext,  			    GpgmeSigStat *r_status);  /* Import the key in KEYDATA into the keyring.  */ @@ -729,9 +772,6 @@ GpgmeError gpgme_op_trustlist_end (GpgmeCtx ctx);  /* Check that the library fulfills the version requirement.  */  const char *gpgme_check_version (const char *req_version); -/* Check that the backend engine is available.  DEPRECATED.  */ -GpgmeError  gpgme_check_engine (void); -  /* Retrieve information about the backend engines.  */  const char *gpgme_get_engine_info (void); | 
