Home --> Documentations --> PJLIB Reference
#include <ssl_sock.h>
Definition of secure socket creation parameters.
◆ async_cnt
unsigned pj_ssl_sock_param::async_cnt |
Number of concurrent asynchronous operations that is to be supported by the secure socket. This value only affects socket receive and accept operations – the secure socket will issue one or more asynchronous read and accept operations based on the value of this field. Setting this field to more than one will allow more than one incoming data or incoming connections to be processed simultaneously on multiprocessor systems, when the ioqueue is polled by more than one threads.
The default value is 1.
◆ cb
◆ ciphers
Ciphers and order preference. If empty, then default cipher list and its default order of the backend will be used.
◆ ciphers_num
unsigned pj_ssl_sock_param::ciphers_num |
Number of ciphers contained in the specified cipher preference. If this is set to zero, then the cipher list used will be determined by the backend default (for OpenSSL backend, setting PJ_SSL_SOCK_OSSL_CIPHERS will be used).
◆ concurrency
int pj_ssl_sock_param::concurrency |
The ioqueue concurrency to be forced on the socket when it is registered to the ioqueue. See pj_ioqueue_set_concurrency() for more info about ioqueue concurrency.
When this value is -1, the concurrency setting will not be forced for this socket, and the socket will inherit the concurrency setting of the ioqueue. When this value is zero, the secure socket will disable concurrency for the socket. When this value is +1, the secure socket will enable concurrency for the socket.
The default value is -1.
◆ curves
◆ curves_num
unsigned pj_ssl_sock_param::curves_num |
Number of curves contained in the specified curve preference. If this is set to zero, then default curve list of the backend will be used.
Default: 0 (zero).
◆ entropy_path
pj_str_t pj_ssl_sock_param::entropy_path |
◆ entropy_type
Reseed random number generator. For type PJ_SSL_ENTROPY_FILE, parameter entropy_path must be set to a file. For type PJ_SSL_ENTROPY_EGD, parameter entropy_path must be set to a socket.
Default value is PJ_SSL_ENTROPY_NONE.
◆ grp_lock
Optional group lock to be assigned to the ioqueue key.
Note that when a secure socket listener is configured with a group lock, any new secure socket of an accepted incoming connection will have its own group lock created automatically by the library, this group lock can be queried via pj_ssl_sock_get_info() in the info field pj_ssl_sock_info::grp_lock.
◆ ioqueue
Specify the ioqueue to use. Secure socket uses the ioqueue to perform active socket operations, see Active socket I/O for more detail.
◆ proto
Specify security protocol to use, see pj_ssl_sock_proto. Use bitwise OR operation to combine the protocol type.
Default is PJ_SSL_SOCK_PROTO_DEFAULT.
◆ qos_ignore_error
pj_bool_t pj_ssl_sock_param::qos_ignore_error |
Specify if the transport should ignore any errors when setting the QoS traffic type/parameters.
Default: PJ_TRUE
◆ qos_params
Set the low level QoS parameters to the transport. This is a lower level operation than setting the qos_type field and may not be supported on all platforms.
By default all settings in this structure are disabled.
◆ qos_type
QoS traffic type to be set on this transport. When application wants to apply QoS tagging to the transport, it's preferable to set this field rather than qos_param fields since this is more portable.
Default value is PJ_QOS_TYPE_BEST_EFFORT.
◆ read_buffer_size
pj_size_t pj_ssl_sock_param::read_buffer_size |
Specify buffer size for receiving encrypted (and perhaps compressed) data on underlying socket. This setting is unused on Symbian, since SSL/TLS Symbian backend, CSecureSocket, can use application buffer directly.
Default value is 1500.
◆ require_client_cert
pj_bool_t pj_ssl_sock_param::require_client_cert |
When secure socket is acting as server (handles incoming connection), it will require the client to provide certificate.
Default value is PJ_FALSE.
◆ reuse_addr
Specify if SO_REUSEADDR should be used for listening socket. This option will only be used with accept() operation.
Default is PJ_FALSE.
◆ send_buffer_size
pj_size_t pj_ssl_sock_param::send_buffer_size |
Specify buffer size for sending operation. Buffering sending data is used for allowing application to perform multiple outstanding send operations. Whenever application specifies this setting too small, sending operation may return PJ_ENOMEM.
Default value is 8192 bytes.
◆ server_name
Server name indication. When secure socket is acting as client (perform outgoing connection) and the server may host multiple 'virtual' servers at a single underlying network address, setting this will allow client to tell the server a name of the server it is contacting. This must be set to hostname and literal IP addresses are not allowed.
Default value is zero/not-set.
◆ sigalgs
The supported signature algorithms. Set the sigalgs string using this form: "<DIGEST>+<ALGORITHM>:<DIGEST>+<ALGORITHM>" Digests are: "RSA", "DSA" or "ECDSA" Algorithms are: "MD5", "SHA1", "SHA224", "SHA256", "SHA384", "SHA512" Example: "ECDSA+SHA256:RSA+SHA256"
◆ sock_af
int pj_ssl_sock_param::sock_af |
◆ sock_type
int pj_ssl_sock_param::sock_type |
◆ sockopt_ignore_error
pj_bool_t pj_ssl_sock_param::sockopt_ignore_error |
Specify if the transport should ignore any errors when setting the sockopt parameters.
Default: PJ_TRUE
◆ sockopt_params
Specify options to be set on the transport.
By default there is no options.
◆ timeout
Security negotiation timeout. If this is set to zero (both sec and msec), the negotiation doesn't have a timeout.
Default value is zero.
◆ timer_heap
Specify the timer heap to use. Secure socket uses the timer to provide auto cancelation on asynchronous operation when it takes longer time than specified timeout period, e.g: security negotiation timeout.
◆ user_data
void* pj_ssl_sock_param::user_data |
Specify secure socket user data.
◆ verify_peer
Specify whether endpoint should verify peer certificate.
Default value is PJ_FALSE.
◆ whole_data
If this option is specified, the secure socket will make sure that asynchronous send operation with stream oriented socket will only call the callback after all data has been sent. This means that the secure socket will automatically resend the remaining data until all data has been sent.
Please note that when this option is specified, it is possible that error is reported after partial data has been sent. Also setting this will disable the ioqueue concurrency for the socket.
Default value is 1.
The documentation for this struct was generated from the following file:
PJLIB Open Source, high performance, small footprint, and very very portable framework
Copyright (C) 2006-2009 Teluu Inc.
|