VSF Documented
Data Structures | Macros | Typedefs | Functions | Variables
vsf_linux_httpd.c File Reference
#include "shell/sys/linux/vsf_linux_cfg.h"
#include "../../include/unistd.h"
#include "../../include/arpa/inet.h"
#include "../../include/pthread.h"
#include "../../include/sys/select.h"
#include "../../include/simple_libc/stdlib.h"
#include "./vsf_linux_httpd.h"
#include "./urihandler/file/__vsf_linux_urihandler_file.inc"
#include "./urihandler/websocket/__vsf_linux_urihandler_websocket.inc"

Data Structures

struct  __vsf_linux_httpd_strmapper_t
 

Macros

#define __VSF_SIMPLE_STREAM_CLASS_INHERIT__
 
#define __VSF_EDA_CLASS_INHERIT__
 
#define __VSF_LINUX_FS_CLASS_INHERIT__
 
#define __VSF_LINUX_CLASS_INHERIT__
 
#define __VSF_LINUX_HTTPD_CLASS_IMPLEMENT
 
#define MODULE_NAME   "httpd"
 
#define vsf_linux_httpd_trace_request(...)   vsf_trace_debug(__VA_ARGS__)
 
#define vsf_linux_httpd_trace_event(...)   vsf_trace_debug(__VA_ARGS__)
 
#define vsf_stream_write_str(__stream, __str)
 
#define vsf_stream_write_int(__stream, __int)
 
#define __vsf_linux_httpd_def_response(__response, __str)    { .response = (__response), .str = (__str) }
 
#define __vsf_linux_httpd_def_mime(__mime, __ext)    { .mime = (__mime), .str = (__ext) }
 
#define __vsf_linux_httpd_def_encoding(__encoding, __ext)    { .encoding = (__encoding), .str = (__ext) }
 
#define __VSF_LINUX_HTTPD_USE_DEFAULT_URIHANDLER
 

Typedefs

typedef struct __vsf_linux_httpd_strmapper_t __vsf_linux_httpd_strmapper_t
 

Functions

void * vsf_linux_httpd_thread (void *param)
 
vsf_err_t vsf_linux_httpd_start (vsf_linux_httpd_t *httpd)
 

Variables

const vsf_linux_httpd_urihandler_op_t vsf_linux_httpd_urihandler_buffer_op
 

Macro Definition Documentation

◆ __VSF_SIMPLE_STREAM_CLASS_INHERIT__

#define __VSF_SIMPLE_STREAM_CLASS_INHERIT__

◆ __VSF_EDA_CLASS_INHERIT__

#define __VSF_EDA_CLASS_INHERIT__

◆ __VSF_LINUX_FS_CLASS_INHERIT__

#define __VSF_LINUX_FS_CLASS_INHERIT__

◆ __VSF_LINUX_CLASS_INHERIT__

#define __VSF_LINUX_CLASS_INHERIT__

◆ __VSF_LINUX_HTTPD_CLASS_IMPLEMENT

#define __VSF_LINUX_HTTPD_CLASS_IMPLEMENT

◆ MODULE_NAME

#define MODULE_NAME   "httpd"

◆ vsf_linux_httpd_trace_request

#define vsf_linux_httpd_trace_request (   ...)    vsf_trace_debug(__VA_ARGS__)

◆ vsf_linux_httpd_trace_event

#define vsf_linux_httpd_trace_event (   ...)    vsf_trace_debug(__VA_ARGS__)

◆ vsf_stream_write_str

#define vsf_stream_write_str (   __stream,
  __str 
)
Value:
do { \
vsf_stream_write((__stream), (uint8_t *)(__str), strlen(__str));\
} while (false)
unsigned char uint8_t
Definition stdint.h:5
size_t strlen(const char *str)

◆ vsf_stream_write_int

#define vsf_stream_write_int (   __stream,
  __int 
)
Value:
do { \
char __int_buffer[16]; \
itoa((__int), __int_buffer, 10); \
vsf_stream_write((__stream), (uint8_t *)(__int_buffer), \
strlen(__int_buffer)); \
} while (false)

◆ __vsf_linux_httpd_def_response

#define __vsf_linux_httpd_def_response (   __response,
  __str 
)     { .response = (__response), .str = (__str) }

◆ __vsf_linux_httpd_def_mime

#define __vsf_linux_httpd_def_mime (   __mime,
  __ext 
)     { .mime = (__mime), .str = (__ext) }

◆ __vsf_linux_httpd_def_encoding

#define __vsf_linux_httpd_def_encoding (   __encoding,
  __ext 
)     { .encoding = (__encoding), .str = (__ext) }

◆ __VSF_LINUX_HTTPD_USE_DEFAULT_URIHANDLER

#define __VSF_LINUX_HTTPD_USE_DEFAULT_URIHANDLER

Typedef Documentation

◆ __vsf_linux_httpd_strmapper_t

Function Documentation

◆ vsf_linux_httpd_thread()

void * vsf_linux_httpd_thread ( void *  param)

◆ vsf_linux_httpd_start()

vsf_err_t vsf_linux_httpd_start ( vsf_linux_httpd_t httpd)

Variable Documentation

◆ vsf_linux_httpd_urihandler_buffer_op

const vsf_linux_httpd_urihandler_op_t vsf_linux_httpd_urihandler_buffer_op
Initial value:
= {
.init_fn = __vsf_linux_httpd_urihandler_buffer_init,
.fini_fn = __vsf_linux_httpd_urihandler_buffer_fini,
.serve_fn = __vsf_linux_httpd_urihandler_buffer_serve,
}