| LIBBOZOHTTPD(3) | Library Functions Manual | LIBBOZOHTTPD(3) |
libbozohttpd —
#include <bozohttpd.h>
int
bozo_set_pref(bozohttpd_t
*httpd, bozoprefs_t *prefs, char
*name, char *value);
char *
bozo_get_pref(bozoprefs_t
*prefs, char *name);
int
bozo_set_defaults(bozohttpd_t
*httpd, bozoprefs_t *prefs);
void
bozo_setup(bozohttpd_t *httpd,
bozoprefs_t *prefs, const char
*vhost, char *slash);
bozo_httpreq_t *
bozo_read_request(bozohttpd_t
*httpd);
void
bozo_process_request(bozo_httpreq_t
*);
void
bozo_clean_request(bozo_httpreq_t
*);
void
bozo_cleanup(bozohttpd_t *httpd,
bozoprefs_t *prefs);
libbozohttpd is a library interface to the
bozohttpd(8) web server. The
libbozohttpd library can be used to embed a webserver
in your applications.
Normal operation sees the libbozohttpd
process be initialised using the bozo_set_defaults()
function, which will set up the default port and other internal settings,
allocating any necessary space as needed. The
bozo_set_defaults() function returns 1 on sucess, 0
on failure.
The bozo_setup() function is used to
specify the virtual host name for the web server. A NULL host name will mean
that libbozohttpd will use the local value for the
host name, as returned by
gethostname(3). This
virtual hostname should be a fully qualified domain name. The final argument
to bozo_setup() is the name of the directory to
serve as the root directory of the web server tree.
Once the server has been set up, it serves requests by using the
bozo_read_request() function, which returns a
pointer to a request structure, and
bozo_process_request(), which deals with the
request, and answers the client. The request space is de-allocated using the
bozo_clean_request() function.
Preferences are set using the function
bozo_set_pref() function and queried using the two
bozo_get_pref() function. This is the main interface
for selecting options, and for setting preferences. The memory allocated by
bozo_setup() for both the httpd structure and the
preferences will be freed.
libbozohttpd library first appeared in
NetBSD 6.0.
This manual page was written by
Alistair Crooks.
| February 11, 2021 | NetBSD 10.0 |