RetroArch
Classes | Macros | Typedefs | Enumerations | Functions
civetweb.h File Reference
#include <stdio.h>
#include <stddef.h>
Include dependency graph for civetweb.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mg_request_info
 
struct  mg_request_info::mg_header
 
struct  mg_callbacks
 
struct  mg_option
 
struct  mg_server_ports
 
struct  mg_form_data_handler
 
struct  mg_client_options
 

Macros

#define NO_FILES   1
 
#define NO_SSL   1
 
#define NO_CGI   1
 
#define NO_POPEN   1
 
#define CIVETWEB_HEADER_INCLUDED
 
#define CIVETWEB_VERSION   "1.8"
 
#define CIVETWEB_API
 
#define PRINTF_FORMAT_STRING(s)   s
 
#define PRINTF_ARGS(x, y)
 

Typedefs

typedef int(* mg_request_handler) (struct mg_connection *conn, void *cbdata)
 
typedef int(* mg_websocket_connect_handler) (const struct mg_connection *, void *)
 
typedef void(* mg_websocket_ready_handler) (struct mg_connection *, void *)
 
typedef int(* mg_websocket_data_handler) (struct mg_connection *, int, char *, size_t, void *)
 
typedef void(* mg_websocket_close_handler) (const struct mg_connection *, void *)
 
typedef int(* mg_authorization_handler) (struct mg_connection *conn, void *cbdata)
 
typedef void *(* mg_thread_func_t) (void *)
 

Enumerations

enum  {
  CONFIG_TYPE_UNKNOWN = 0x0, CONFIG_TYPE_NUMBER = 0x1, CONFIG_TYPE_STRING = 0x2, CONFIG_TYPE_FILE = 0x3,
  CONFIG_TYPE_DIRECTORY = 0x4, CONFIG_TYPE_BOOLEAN = 0x5, CONFIG_TYPE_EXT_PATTERN = 0x6
}
 
enum  {
  WEBSOCKET_OPCODE_CONTINUATION = 0x0, WEBSOCKET_OPCODE_TEXT = 0x1, WEBSOCKET_OPCODE_BINARY = 0x2, WEBSOCKET_OPCODE_CONNECTION_CLOSE = 0x8,
  WEBSOCKET_OPCODE_PING = 0x9, WEBSOCKET_OPCODE_PONG = 0xa
}
 
enum  { FORM_FIELD_STORAGE_SKIP = 0x0, FORM_FIELD_STORAGE_GET = 0x1, FORM_FIELD_STORAGE_STORE = 0x2, FORM_FIELD_STORAGE_ABORT = 0x10 }
 
enum  { TIMEOUT_INFINITE = -1 }
 

Functions

CIVETWEB_API struct mg_contextmg_start (const struct mg_callbacks *callbacks, void *user_data, const char **configuration_options)
 
CIVETWEB_API void mg_stop (struct mg_context *)
 
CIVETWEB_API void mg_set_request_handler (struct mg_context *ctx, const char *uri, mg_request_handler handler, void *cbdata)
 
CIVETWEB_API void mg_set_websocket_handler (struct mg_context *ctx, const char *uri, mg_websocket_connect_handler connect_handler, mg_websocket_ready_handler ready_handler, mg_websocket_data_handler data_handler, mg_websocket_close_handler close_handler, void *cbdata)
 
CIVETWEB_API void mg_set_auth_handler (struct mg_context *ctx, const char *uri, mg_authorization_handler handler, void *cbdata)
 
CIVETWEB_API const char * mg_get_option (const struct mg_context *ctx, const char *name)
 
CIVETWEB_API struct mg_contextmg_get_context (const struct mg_connection *conn)
 
CIVETWEB_API voidmg_get_user_data (const struct mg_context *ctx)
 
CIVETWEB_API void mg_set_user_connection_data (const struct mg_connection *conn, void *data)
 
CIVETWEB_API voidmg_get_user_connection_data (const struct mg_connection *conn)
 
CIVETWEB_API const struct mg_optionmg_get_valid_options (void)
 
CIVETWEB_API int mg_get_server_ports (const struct mg_context *ctx, int size, struct mg_server_ports *ports)
 
CIVETWEB_API size_t mg_get_ports (const struct mg_context *ctx, size_t size, int *ports, int *ssl)
 
CIVETWEB_API int mg_modify_passwords_file (const char *passwords_file_name, const char *domain, const char *user, const char *password)
 
CIVETWEB_API const struct mg_request_infomg_get_request_info (const struct mg_connection *)
 
CIVETWEB_API int mg_write (struct mg_connection *, const void *buf, size_t len)
 
CIVETWEB_API int mg_websocket_write (struct mg_connection *conn, int opcode, const char *data, size_t data_len)
 
CIVETWEB_API int mg_websocket_client_write (struct mg_connection *conn, int opcode, const char *data, size_t data_len)
 
CIVETWEB_API void mg_lock_connection (struct mg_connection *conn)
 
CIVETWEB_API void mg_unlock_connection (struct mg_connection *conn)
 
CIVETWEB_API void mg_lock_context (struct mg_context *ctx)
 
CIVETWEB_API void mg_unlock_context (struct mg_context *ctx)
 
CIVETWEB_API int mg_printf (struct mg_connection *, PRINTF_FORMAT_STRING(const char *fmt),...) PRINTF_ARGS(2
 
CIVETWEB_API int CIVETWEB_API void mg_send_file (struct mg_connection *conn, const char *path)
 
CIVETWEB_API void mg_send_mime_file (struct mg_connection *conn, const char *path, const char *mime_type)
 
CIVETWEB_API long long mg_store_body (struct mg_connection *conn, const char *path)
 
CIVETWEB_API int mg_read (struct mg_connection *, void *buf, size_t len)
 
CIVETWEB_API const char * mg_get_header (const struct mg_connection *, const char *name)
 
CIVETWEB_API int mg_get_var (const char *data, size_t data_len, const char *var_name, char *dst, size_t dst_len)
 
CIVETWEB_API int mg_get_var2 (const char *data, size_t data_len, const char *var_name, char *dst, size_t dst_len, size_t occurrence)
 
CIVETWEB_API int mg_get_cookie (const char *cookie, const char *var_name, char *buf, size_t buf_len)
 
CIVETWEB_API struct mg_connectionmg_download (const char *host, int port, int use_ssl, char *error_buffer, size_t error_buffer_size, PRINTF_FORMAT_STRING(const char *request_fmt),...) PRINTF_ARGS(6
 
CIVETWEB_API struct mg_connection CIVETWEB_API void mg_close_connection (struct mg_connection *conn)
 
CIVETWEB_API int mg_upload (struct mg_connection *conn, const char *destination_dir)
 
CIVETWEB_API int mg_handle_form_request (struct mg_connection *conn, struct mg_form_data_handler *fdh)
 
CIVETWEB_API int mg_start_thread (mg_thread_func_t f, void *p)
 
CIVETWEB_API const char * mg_get_builtin_mime_type (const char *file_name)
 
CIVETWEB_API const char * mg_version (void)
 
CIVETWEB_API int mg_url_decode (const char *src, int src_len, char *dst, int dst_len, int is_form_url_encoded)
 
CIVETWEB_API int mg_url_encode (const char *src, char *dst, size_t dst_len)
 
CIVETWEB_API char * mg_md5 (char buf[33],...)
 
CIVETWEB_API void mg_cry (const struct mg_connection *conn, PRINTF_FORMAT_STRING(const char *fmt),...) PRINTF_ARGS(2
 
CIVETWEB_API void CIVETWEB_API int mg_strncasecmp (const char *s1, const char *s2, size_t len)
 
CIVETWEB_API struct mg_connectionmg_connect_websocket_client (const char *host, int port, int use_ssl, char *error_buffer, size_t error_buffer_size, const char *path, const char *origin, mg_websocket_data_handler data_func, mg_websocket_close_handler close_func, void *user_data)
 
CIVETWEB_API struct mg_connectionmg_connect_client (const char *host, int port, int use_ssl, char *error_buffer, size_t error_buffer_size)
 
CIVETWEB_API struct mg_connectionmg_connect_client_secure (const struct mg_client_options *client_options, char *error_buffer, size_t error_buffer_size)
 
CIVETWEB_API int mg_get_response (struct mg_connection *conn, char *ebuf, size_t ebuf_len, int timeout)
 
CIVETWEB_API unsigned mg_check_feature (unsigned feature)
 

Macro Definition Documentation

◆ CIVETWEB_API

#define CIVETWEB_API

◆ CIVETWEB_HEADER_INCLUDED

#define CIVETWEB_HEADER_INCLUDED

◆ CIVETWEB_VERSION

#define CIVETWEB_VERSION   "1.8"

◆ NO_CGI

#define NO_CGI   1

◆ NO_FILES

#define NO_FILES   1

◆ NO_POPEN

#define NO_POPEN   1

◆ NO_SSL

#define NO_SSL   1

◆ PRINTF_ARGS

#define PRINTF_ARGS (   x,
  y 
)

◆ PRINTF_FORMAT_STRING

#define PRINTF_FORMAT_STRING (   s)    s

Typedef Documentation

◆ mg_authorization_handler

typedef int(* mg_authorization_handler) (struct mg_connection *conn, void *cbdata)

◆ mg_request_handler

typedef int(* mg_request_handler) (struct mg_connection *conn, void *cbdata)

◆ mg_thread_func_t

typedef void*(* mg_thread_func_t) (void *)

◆ mg_websocket_close_handler

typedef void(* mg_websocket_close_handler) (const struct mg_connection *, void *)

◆ mg_websocket_connect_handler

typedef int(* mg_websocket_connect_handler) (const struct mg_connection *, void *)

◆ mg_websocket_data_handler

typedef int(* mg_websocket_data_handler) (struct mg_connection *, int, char *, size_t, void *)

◆ mg_websocket_ready_handler

typedef void(* mg_websocket_ready_handler) (struct mg_connection *, void *)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
CONFIG_TYPE_UNKNOWN 
CONFIG_TYPE_NUMBER 
CONFIG_TYPE_STRING 
CONFIG_TYPE_FILE 
CONFIG_TYPE_DIRECTORY 
CONFIG_TYPE_BOOLEAN 
CONFIG_TYPE_EXT_PATTERN 

◆ anonymous enum

anonymous enum
Enumerator
WEBSOCKET_OPCODE_CONTINUATION 
WEBSOCKET_OPCODE_TEXT 
WEBSOCKET_OPCODE_BINARY 
WEBSOCKET_OPCODE_CONNECTION_CLOSE 
WEBSOCKET_OPCODE_PING 
WEBSOCKET_OPCODE_PONG 

◆ anonymous enum

anonymous enum
Enumerator
FORM_FIELD_STORAGE_SKIP 
FORM_FIELD_STORAGE_GET 
FORM_FIELD_STORAGE_STORE 
FORM_FIELD_STORAGE_ABORT 

◆ anonymous enum

anonymous enum
Enumerator
TIMEOUT_INFINITE 

Function Documentation

◆ mg_check_feature()

CIVETWEB_API unsigned mg_check_feature ( unsigned  feature)

◆ mg_close_connection()

CIVETWEB_API struct mg_connection CIVETWEB_API void mg_close_connection ( struct mg_connection conn)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_connect_client()

CIVETWEB_API struct mg_connection* mg_connect_client ( const char *  host,
int  port,
int  use_ssl,
char *  error_buffer,
size_t  error_buffer_size 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_connect_client_secure()

CIVETWEB_API struct mg_connection* mg_connect_client_secure ( const struct mg_client_options client_options,
char *  error_buffer,
size_t  error_buffer_size 
)
Here is the call graph for this function:

◆ mg_connect_websocket_client()

CIVETWEB_API struct mg_connection* mg_connect_websocket_client ( const char *  host,
int  port,
int  use_ssl,
char *  error_buffer,
size_t  error_buffer_size,
const char *  path,
const char *  origin,
mg_websocket_data_handler  data_func,
mg_websocket_close_handler  close_func,
void user_data 
)
Here is the call graph for this function:

◆ mg_cry()

CIVETWEB_API void mg_cry ( const struct mg_connection conn,
PRINTF_FORMAT_STRING(const char *fmt)  ,
  ... 
)

◆ mg_download()

CIVETWEB_API struct mg_connection* mg_download ( const char *  host,
int  port,
int  use_ssl,
char *  error_buffer,
size_t  error_buffer_size,
PRINTF_FORMAT_STRING(const char *request_fmt)  ,
  ... 
)

◆ mg_get_builtin_mime_type()

CIVETWEB_API const char* mg_get_builtin_mime_type ( const char *  file_name)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_get_context()

CIVETWEB_API struct mg_context* mg_get_context ( const struct mg_connection conn)

◆ mg_get_cookie()

CIVETWEB_API int mg_get_cookie ( const char *  cookie,
const char *  var_name,
char *  buf,
size_t  buf_len 
)
Here is the call graph for this function:

◆ mg_get_header()

CIVETWEB_API const char* mg_get_header ( const struct mg_connection ,
const char *  name 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_get_option()

CIVETWEB_API const char* mg_get_option ( const struct mg_context ctx,
const char *  name 
)
Here is the call graph for this function:

◆ mg_get_ports()

CIVETWEB_API size_t mg_get_ports ( const struct mg_context ctx,
size_t  size,
int *  ports,
int *  ssl 
)

◆ mg_get_request_info()

CIVETWEB_API const struct mg_request_info* mg_get_request_info ( const struct mg_connection )
Here is the caller graph for this function:

◆ mg_get_response()

CIVETWEB_API int mg_get_response ( struct mg_connection conn,
char *  ebuf,
size_t  ebuf_len,
int  timeout 
)
Here is the call graph for this function:

◆ mg_get_server_ports()

CIVETWEB_API int mg_get_server_ports ( const struct mg_context ctx,
int  size,
struct mg_server_ports ports 
)
Here is the call graph for this function:

◆ mg_get_user_connection_data()

CIVETWEB_API void* mg_get_user_connection_data ( const struct mg_connection conn)

◆ mg_get_user_data()

CIVETWEB_API void* mg_get_user_data ( const struct mg_context ctx)

◆ mg_get_valid_options()

CIVETWEB_API const struct mg_option* mg_get_valid_options ( void  )

◆ mg_get_var()

CIVETWEB_API int mg_get_var ( const char *  data,
size_t  data_len,
const char *  var_name,
char *  dst,
size_t  dst_len 
)
Here is the call graph for this function:

◆ mg_get_var2()

CIVETWEB_API int mg_get_var2 ( const char *  data,
size_t  data_len,
const char *  var_name,
char *  dst,
size_t  dst_len,
size_t  occurrence 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_handle_form_request()

CIVETWEB_API int mg_handle_form_request ( struct mg_connection conn,
struct mg_form_data_handler fdh 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_lock_connection()

CIVETWEB_API void mg_lock_connection ( struct mg_connection conn)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_lock_context()

CIVETWEB_API void mg_lock_context ( struct mg_context ctx)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_md5()

CIVETWEB_API char* mg_md5 ( char  buf[33],
  ... 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_modify_passwords_file()

CIVETWEB_API int mg_modify_passwords_file ( const char *  passwords_file_name,
const char *  domain,
const char *  user,
const char *  password 
)
Here is the call graph for this function:

◆ mg_printf()

CIVETWEB_API int mg_printf ( struct mg_connection ,
PRINTF_FORMAT_STRING(const char *fmt)  ,
  ... 
)

◆ mg_read()

CIVETWEB_API int mg_read ( struct mg_connection ,
void buf,
size_t  len 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_send_file()

CIVETWEB_API int CIVETWEB_API void mg_send_file ( struct mg_connection conn,
const char *  path 
)
Here is the call graph for this function:

◆ mg_send_mime_file()

CIVETWEB_API void mg_send_mime_file ( struct mg_connection conn,
const char *  path,
const char *  mime_type 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_set_auth_handler()

CIVETWEB_API void mg_set_auth_handler ( struct mg_context ctx,
const char *  uri,
mg_authorization_handler  handler,
void cbdata 
)
Here is the call graph for this function:

◆ mg_set_request_handler()

CIVETWEB_API void mg_set_request_handler ( struct mg_context ctx,
const char *  uri,
mg_request_handler  handler,
void cbdata 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_set_user_connection_data()

CIVETWEB_API void mg_set_user_connection_data ( const struct mg_connection conn,
void data 
)

◆ mg_set_websocket_handler()

CIVETWEB_API void mg_set_websocket_handler ( struct mg_context ctx,
const char *  uri,
mg_websocket_connect_handler  connect_handler,
mg_websocket_ready_handler  ready_handler,
mg_websocket_data_handler  data_handler,
mg_websocket_close_handler  close_handler,
void cbdata 
)
Here is the call graph for this function:

◆ mg_start()

CIVETWEB_API struct mg_context* mg_start ( const struct mg_callbacks callbacks,
void user_data,
const char **  configuration_options 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_start_thread()

CIVETWEB_API int mg_start_thread ( mg_thread_func_t  f,
void p 
)
Here is the call graph for this function:

◆ mg_stop()

CIVETWEB_API void mg_stop ( struct mg_context )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_store_body()

CIVETWEB_API long long mg_store_body ( struct mg_connection conn,
const char *  path 
)
Here is the call graph for this function:

◆ mg_strncasecmp()

CIVETWEB_API void CIVETWEB_API int mg_strncasecmp ( const char *  s1,
const char *  s2,
size_t  len 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_unlock_connection()

CIVETWEB_API void mg_unlock_connection ( struct mg_connection conn)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_unlock_context()

CIVETWEB_API void mg_unlock_context ( struct mg_context ctx)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_upload()

CIVETWEB_API int mg_upload ( struct mg_connection conn,
const char *  destination_dir 
)
Here is the call graph for this function:

◆ mg_url_decode()

CIVETWEB_API int mg_url_decode ( const char *  src,
int  src_len,
char *  dst,
int  dst_len,
int  is_form_url_encoded 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_url_encode()

CIVETWEB_API int mg_url_encode ( const char *  src,
char *  dst,
size_t  dst_len 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mg_version()

CIVETWEB_API const char* mg_version ( void  )

◆ mg_websocket_client_write()

CIVETWEB_API int mg_websocket_client_write ( struct mg_connection conn,
int  opcode,
const char *  data,
size_t  data_len 
)

◆ mg_websocket_write()

CIVETWEB_API int mg_websocket_write ( struct mg_connection conn,
int  opcode,
const char *  data,
size_t  data_len 
)

◆ mg_write()

CIVETWEB_API int mg_write ( struct mg_connection ,
const void buf,
size_t  len 
)
Here is the call graph for this function:
Here is the caller graph for this function: