LIBBOZOHTTPD(3) Library Functions Manual LIBBOZOHTTPD(3)

libbozohttpd
embedded web server library

library “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.

gethostname(3), ssl(3), services(5), httpd(8)

The libbozohttpd library first appeared in NetBSD 6.0.

Matthew R. Green <mrg@eterna.com.au>
Alistair Crooks <agc@NetBSD.org> wrote this high-level interface.

This manual page was written by
Alistair Crooks.

February 11, 2021 NetBSD 9.4