PokerUnicorn
Loading...
Searching...
No Matches
websocket.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include <openssl/ssl.h>
#include <pthread.h>
#include "pkrsrv.h"
#include "ref.h"

Go to the source code of this file.

Data Structures

struct  pkrsrv_websocket_header_t
 
struct  pkrsrv_websocket_payload_t
 
struct  pkrsrv_websocket_t
 

Macros

#define PKRSRV_WEBSOCKET_EXPECTED_HTTP_HEADER   "GET / HTTP/1.1"
 
#define pkrsrv_websocket_packet_frame_header
 
#define PKRSRV_WEBSOCKET_GUID   "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
 
#define HTTP_HEADER_BUFF_SIZE   1000
 
#define HTTP_PROP_BUFF_SIZE   40
 
#define HTTP_VAL_BUFF_SIZE   50
 

Typedefs

typedef struct pkrsrv_websocket_packet_frame_len8 pkrsrv_websocket_packet_frame_len8_t
 
typedef struct pkrsrv_websocket_packet_frame_len16 pkrsrv_websocket_packet_frame_len16_t
 
typedef struct pkrsrv_websocket_packet_frame_len64 pkrsrv_websocket_packet_frame_len64_t
 

Enumerations

enum  PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE {
  PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_METHOD = 1 , PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_PROP , PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_SPACE , PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_VAL ,
  PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_CR , PKRSRV_WEBSOCKET_HTTP_HEADER_PARSER_STATE_END
}
 
enum  PKRSRV_WEBSOCKET_RESPONSE { PKRSRV_WEBSOCKET_RESPONSE_INSTANCE_PORT = 1 }
 

Functions

struct __attribute__ ((packed)) pkrsrv_websocket_packet_frame_len8
 
char * pkrsrv_websocket_generate_ws_accept_key (char *websocket_key)
 
void pkrsrv_websocket_init (pkrsrv_websocket_t *ws)
 
ssize_t pkrsrv_websocket_read_http_header (pkrsrv_websocket_t *ws, SSL *ssl)
 
ssize_t pkrsrv_websocket_read_header (pkrsrv_websocket_t *ws, SSL *ssl)
 
ssize_t pkrsrv_websocket_read_payload (pkrsrv_websocket_t *ws, SSL *ssl, void *buffer, ssize_t size)
 
ssize_t pkrsrv_websocket_send_header (pkrsrv_websocket_t *ws, SSL *ssl, ssize_t length)
 
void pkrsrv_websocket_fragmented_begin (pkrsrv_websocket_t *ws, SSL *ssl, size_t length)
 
ssize_t pkrsrv_websocket_fragmented_put (pkrsrv_websocket_t *ws, SSL *ssl, void *data, ssize_t length)