|
WEBBY - the embedded web server with many faces / objects in plain C Snapshot
|
embedded web server configuration More...
Classes | |
| struct | tagWEBBY_CONFIG |
Typedefs | |
| typedef struct tagWEBBY_CONFIG | WEBBY_CONFIG |
Functions | |
| int | WEBBY_CONFIG_load (WEBBY_CONFIG *cfg, const char *file) |
embedded web server configuration
| typedef struct tagWEBBY_CONFIG WEBBY_CONFIG |
| int WEBBY_CONFIG_load | ( | WEBBY_CONFIG * | cfg, |
| const char * | file | ||
| ) |
Definition at line 570 of file webby.c.
{
PROPERTIES props;
const char *tmp;
IPADDRESS addr;
uint16_t port;
if (PROPERTIES_init( &props, 30 )) {
return -1;
}
if (PROPERTIES_load( &props, file )) {
return -1;
}
tmp = PROPERTIES_get( &props, "host" );
if (!tmp) {
MLOG_ERROR( "Missing configuration parameter: host" );
return -1;
}
if ( IPADDRESS_parse_string( &addr, tmp ) ) {
MLOG_ERROR( "invalid configuration parameter: host" );
return -1;
}
if (PROPERTIES_dec_uint16_t( &props, "port", &port)) {
MLOG_ERROR( "Missing/Invalid configuration parameter: port" );
return -1;
}
if (SOCKADDR_init( &cfg->listening_address, &addr, (uint16_t) port ) ) {
MLOG_ERROR( "Missing/Invalid host/port configuration" );
return -1;
}
if (PROPERTIES_dec_int32_t( &props, "listen_backlog", &cfg->listen_backlog)) {
MLOG_ERROR( "Missing/Invalid configuration parameter: listen_backlog" );
return -1;
}
if (PROPERTIES_dec_int32_t( &props, "socket_buffer_size", &cfg->socket_buffer_size)) {
MLOG_ERROR( "Missing/Invalid configuration parameter: listen_backlog" );
return -1;
}
if (PROPERTIES_dec_int32_t( &props, "max_connections", &cfg->max_connections)) {
MLOG_ERROR( "Missing/Invalid configuration parameter: max_connections" );
return -1;
}
if (PROPERTIES_dec_int32_t( &props, "io_timeout", &cfg->io_timeout)) {
MLOG_ERROR( "Missing/Invalid configuration parameter: io_timeout" );
return -1;
}
if (PROPERTIES_dec_int32_t( &props, "idle_timeout", &cfg->idle_timeout)) {
MLOG_ERROR( "Missing/Invalid configuration parameter: idle_timeout" );
return -1;
}
if (PROPERTIES_dec_int32_t( &props, "stack_pages_per_thread", &cfg->stack_pages_per_thread)) {
MLOG_ERROR( "Missing/Invalid configuration parameter: stack_pages_per_thread");
return -1;
}
PROPERTIES_free( &props );
return 0;
}
1.7.4