football
socket abstraction layer
Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
fb_http.c File Reference

Football HTTP/Websocket functions. More...

#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
#include <unistd.h>
#include <errno.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <assert.h>
#include <ctype.h>
#include <sys/stat.h>
#include <time.h>
#include "fb_public.h"
#include "fb_service.h"
#include "sha1.h"

Data Structures

struct  media_dictionary_t
 
struct  language_rank
 

Macros

#define _POSIX_C_SOURCE   200112L /* fileno() */
 
#define _BSD_SOURCE   /* strdup(), realpath() */
 
#define _DARWIN_C_SOURCE   /* strdup() on OS X */
 
#define _DEFAULT_SOURCE
 
#define countof(x)   (sizeof (x) / sizeof (*x))
 
#define WEBSOCKET_GUID   "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
 
#define WEBSOCKET_VERSION   "13"
 
#define HTTP_VERSION   "HTTP/1.1"
 
#define get_hex_digit(c)
 

Typedefs

typedef enum ws_opcodes_t OPCODE
 
typedef struct media_dictionary_t MEDIA_DICTIONARY
 
typedef struct language_rank LANGUAGE_RANK
 

Enumerations

enum  ws_opcodes_t {
  WSOC_CONTINUATION = 0x00 , WSOC_TEXT = 0x01 , WSOC_BINARY = 0x02 , WSOC_CLOSE = 0x08 ,
  WSOC_PING = 0x09 , WSOC_PONG = 0x0a , WSOC_MASK = 0x0f
}
 

Functions

void reset_ping_interval (FB_CONNECTION *connection)
 Reset the next-ping interval.
 
FB_EVENTfb_read_websocket_input (FB_EVENT *event, FB_CONNECTION *connection)
 
bool fb_websocket_ping (FB_CONNECTION *connection)
 
bool fb_websocket_announce_close (FB_CONNECTION *connection)
 
bool fb_websocket_encode (FB_CONNECTION *connection)
 
void fb_destroy_httprequest (FB_HTTPREQUEST *request)
 
void fb_collect_http_request (FB_EVENT *event, FB_HTTPREQUEST *request)
 
void fb_collect_http_parameter (char *line, FB_HTTPREQUEST *request)
 
bool fb_http_command (const char *command)
 
FB_EVENTfb_execute_http_request (FB_EVENT *event, FB_CONNECTION *connection)
 

Detailed Description

Football HTTP/Websocket functions.

Macro Definition Documentation

◆ get_hex_digit

#define get_hex_digit (   c)
Value:
(((c) >= '0' && (c) <= '9') ? (c) - '0' : \
((c) >= 'a' && (c) <= 'f') ? (c) - '0' + 10 : \
(c) - 'A' + 10)