ctl_sess
LIST(struct ctl_sess) sess;
static void ctl_close(struct ctl_sess *);
static void ctl_new_state(struct ctl_sess *,
static void ctl_start_read(struct ctl_sess *);
static void ctl_stop_read(struct ctl_sess *);
static void ctl_docommand(struct ctl_sess *);
struct ctl_sess *,
struct ctl_sess *);
struct ctl_sess *this, *next;
ctl_response(struct ctl_sess *sess, u_int code, const char *text,
ctl_sendhelp(struct ctl_sess *sess, u_int code) {
ctl_getcsctx(struct ctl_sess *sess) {
ctl_setcsctx(struct ctl_sess *sess, void *csctx) {
struct ctl_sess *sess = NULL;
ctl_new_state(struct ctl_sess *sess, enum state new_state, const char *reason)
ctl_close(struct ctl_sess *sess) {
ctl_start_read(struct ctl_sess *sess) {
ctl_stop_read(struct ctl_sess *sess) {
struct ctl_sess *sess = uap;
struct ctl_sess *sess = uap;
struct ctl_sess *sess = uap;
ctl_docommand(struct ctl_sess *sess) {
struct ctl_sess *sess = uap;
ctl_morehelp(struct ctl_sctx *ctx, struct ctl_sess *sess,
ctl_signal_done(struct ctl_sctx *ctx, struct ctl_sess *sess) {
LINK(struct ctl_sess) link;
void ctl_response(struct ctl_sess *, u_int,
void ctl_sendhelp(struct ctl_sess *, u_int);
void * ctl_getcsctx(struct ctl_sess *);
void * ctl_setcsctx(struct ctl_sess *, void *);
struct ctl_sess;
typedef void (*ctl_verbfunc)(struct ctl_sctx *, struct ctl_sess *,
typedef void (*ctl_srvrdone)(struct ctl_sctx *, struct ctl_sess *, void *);