pidgin 2.14.14dev
PurpleSslOps Struct Reference

SSL implementation operations structure. More...

#include <sslconn.h>

Collaboration diagram for PurpleSslOps:
Collaboration graph

Data Fields

gboolean(* init )(void)
 Initializes the SSL system provided. More...
 
void(* uninit )(void)
 Unloads the SSL system. More...
 
void(* connectfunc )(PurpleSslConnection *gsc)
 Sets up the SSL connection for a PurpleSslConnection once the TCP connection has been established. More...
 
void(* close )(PurpleSslConnection *gsc)
 Destroys the internal data of the SSL connection provided. More...
 
size_t(* read )(PurpleSslConnection *gsc, void *data, size_t len)
 Reads data from a connection (like POSIX read()) More...
 
size_t(* write )(PurpleSslConnection *gsc, const void *data, size_t len)
 Writes data to a connection (like POSIX send()) More...
 
GList *(* get_peer_certificates )(PurpleSslConnection *gsc)
 Obtains the certificate chain provided by the peer. More...
 
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 88 of file sslconn.h.

Field Documentation

◆ _purple_reserved2

void(* PurpleSslOps::_purple_reserved2) (void)

Definition at line 138 of file sslconn.h.

◆ _purple_reserved3

void(* PurpleSslOps::_purple_reserved3) (void)

Definition at line 139 of file sslconn.h.

◆ _purple_reserved4

void(* PurpleSslOps::_purple_reserved4) (void)

Definition at line 140 of file sslconn.h.

◆ close

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

Definition at line 108 of file sslconn.h.

◆ connectfunc

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

Definition at line 103 of file sslconn.h.

◆ get_peer_certificates

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

Obtains the certificate chain provided by the peer.

Parameters
gscConnection 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.

Definition at line 136 of file sslconn.h.

◆ init

gboolean(* PurpleSslOps::init) (void)

Initializes the SSL system provided.

Returns
TRUE if initialization succeeded
See also
purple_ssl_init

Definition at line 94 of file sslconn.h.

◆ read

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

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

Parameters
gscConnection context
dataPointer to buffer to drop data into
lenMaximum 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

Definition at line 117 of file sslconn.h.

◆ uninit

void(* PurpleSslOps::uninit) (void)

Unloads the SSL system.

Inverse of PurpleSslOps::init.

See also
purple_ssl_uninit

Definition at line 98 of file sslconn.h.

◆ write

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

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

Parameters
gscConnection context
dataData buffer to send data from
lenNumber 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

Definition at line 126 of file sslconn.h.


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