The Controls API provides a way to talk to the running server and request
that module-defined server-side actions be performed, such as requesting a
list of currently supported configuration directives, or banning a certain user
or host from connecting to the server. This is done by registering custom
control handlers that are keyed using an action, a specific command
requested by a client, such as "restart" or "ban". The
communication between controls clients and the running server is done via
a Unix domain socket, with the server side of the socket being implemented
by mod_ctrls
.
A developer wishing to make use of the capabilities of controls should read the description of the control objects first, then the functions for working with these objects. There is also a development document that contains some suggestions and notes to keep in mind when devising one's own control actions and their handlers.