Loading...
Searching...
No Matches
4#include "tport_internal.h"
8#define WEBSOCKET_GUID "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
15#include <sys/socket.h>
18#pragma warning(disable:4996)
28#include <openssl/ssl.h>
29#include <openssl/err.h>
31#if defined(_MSC_VER) || defined(__APPLE__) || defined(__FreeBSD__) || (defined(__SVR4) && defined(__sun))
32#define __bswap_64(x) \
34 ((x<<40) & 0x00FF000000000000) | \
35 ((x<<24) & 0x0000FF0000000000) | \
36 ((x<<8) & 0x000000FF00000000) | \
37 ((x>>8) & 0x00000000FF000000) | \
38 ((x>>24) & 0x0000000000FF0000) | \
39 ((x>>40) & 0x000000000000FF00) | \
44#define strncasecmp _strnicmp
47#define snprintf _snprintf
50#define WS_SSIZE_T __int64
52#define WS_SSIZE_T __int32 __w64
54#define WS_SSIZE_T __int32
56typedef WS_SSIZE_T ssize_t;
61 const SSL_METHOD *ssl_method;
70typedef int ws_socket_t;
72typedef SOCKET ws_socket_t;
74#define ws_sock_invalid (ws_socket_t)-1
81 WS_DATA_TOO_BIG = 1009
85 WSOC_CONTINUATION = 0x0,
114 int secure_established;
115 int logical_established;
120 size_t write_buffer_len;
122 ssize_t payload_size_max;
125ssize_t ws_send_buf(wsh_t *wsh, ws_opcode_t oc);
126ssize_t ws_feed_buf(wsh_t *wsh,
void *data,
size_t bytes);
128int establish_logical_layer(wsh_t *wsh);
129ssize_t ws_raw_read(wsh_t *wsh,
void *data,
size_t bytes,
int block);
130ssize_t ws_raw_write(wsh_t *wsh,
void *data,
size_t bytes);
131ssize_t ws_read_frame(wsh_t *wsh, ws_opcode_t *oc,
uint8_t **data);
132ssize_t ws_write_frame(wsh_t *wsh, ws_opcode_t oc,
void *data,
size_t bytes);
133void ws_set_global_payload_size_max(ssize_t bytes);
134int ws_init(wsh_t *wsh, ws_socket_t sock, SSL_CTX *ssl_ctx,
int close_sock,
int block,
int stay_open);
135ssize_t ws_close(wsh_t *wsh,
int16_t reason);
136void ws_destroy(wsh_t *wsh);
138void deinit_ssl(
void);
140int xp_is_blocking(
int errcode);
141void wss_log_errors(
unsigned level,
char const *s,
unsigned long e);
146static inline uint64_t get_unaligned_uint64(
const void *p)
148 const struct {
uint64_t d; } __attribute__((packed)) *pp = p;
Sofia-SIP 1.13.17 -
Copyright (C) 2006 Nokia Corporation. All rights reserved.
Licensed under the terms of the GNU Lesser General Public License.