PurpleSslOps Struct Reference

SSL implementation operations structure. More...

#include <sslconn.h>


Data Fields

gboolean(* init )(void)
 Initializes the SSL system provided.
void(* uninit )(void)
 Unloads the SSL system.
void(* connectfunc )(PurpleSslConnection *gsc)
 Sets up the SSL connection for a PurpleSslConnection once the TCP connection has been established.
void(* close )(PurpleSslConnection *gsc)
 Destroys the internal data of the SSL connection provided.
size_t(* read )(PurpleSslConnection *gsc, void *data, size_t len)
 Reads data from a connection (like POSIX read()).
size_t(* write )(PurpleSslConnection *gsc, const void *data, size_t len)
 Writes data to a connection (like POSIX send()).
GList *(* get_peer_certificates )(PurpleSslConnection *gsc)
 Obtains the certificate chain provided by the peer.
void(* _purple_reserved2 )(void)
void(* _purple_reserved3 )(void)
void(* _purple_reserved4 )(void)


Detailed Description

SSL implementation operations structure.

Every SSL implementation must provide all of these and register it via purple_ssl_set_ops() These should not be called directly! Instead, use the purple_ssl_* functions.

Definition at line 87 of file sslconn.h.


Field Documentation

gboolean(* PurpleSslOps::init)(void)

Initializes the SSL system provided.

Returns:
TRUE if initialization succeeded
See also:
purple_ssl_init

void(* PurpleSslOps::uninit)(void)

Unloads the SSL system.

Inverse of PurpleSslOps::init.

See also:
purple_ssl_uninit

void(* PurpleSslOps::connectfunc)(PurpleSslConnection *gsc)

Sets up the SSL connection for a PurpleSslConnection once the TCP connection has been established.

See also:
purple_ssl_connect

void(* PurpleSslOps::close)(PurpleSslConnection *gsc)

Destroys the internal data of the SSL connection provided.

Freeing gsc itself is left to purple_ssl_close()

See also:
purple_ssl_close

size_t(* PurpleSslOps::read)(PurpleSslConnection *gsc, void *data, size_t len)

Reads data from a connection (like POSIX read()).

Parameters:
gsc Connection context
data Pointer to buffer to drop data into
len Maximum number of bytes to read
Returns:
Number of bytes actually written into data (which may be less than len), or <0 on error
See also:
purple_ssl_read

size_t(* PurpleSslOps::write)(PurpleSslConnection *gsc, const void *data, size_t len)

Writes data to a connection (like POSIX send()).

Parameters:
gsc Connection context
data Data buffer to send data from
len Number of bytes to send from buffer
Returns:
The number of bytes written to data (may be less than len) or <0 on error
See also:
purple_ssl_write

GList*(* PurpleSslOps::get_peer_certificates)(PurpleSslConnection *gsc)

Obtains the certificate chain provided by the peer.

Parameters:
gsc Connection context
Returns:
A newly allocated list containing the certificates the peer provided.
See also:
PurpleCertificate
Todo:
Decide whether the ordering of certificates in this list can be guaranteed.


The documentation for this struct was generated from the following file:

Generated on Fri Jul 3 11:30:56 2009 for pidgin by  doxygen 1.5.5