hfsc_class
static void update_cfmin(struct hfsc_class *);
static void set_active(struct hfsc_class *, int);
static void set_passive(struct hfsc_class *);
static void init_ed(struct hfsc_class *, int);
update_vf(struct hfsc_class *cl, int len, u_int64_t cur_time)
static void update_ed(struct hfsc_class *, int);
static void update_d(struct hfsc_class *, int);
static void init_vf(struct hfsc_class *, int);
static void update_vf(struct hfsc_class *, int, u_int64_t);
static void ellist_insert(struct hfsc_class *);
static void ellist_remove(struct hfsc_class *);
static void ellist_update(struct hfsc_class *);
update_cfmin(struct hfsc_class *cl)
struct hfsc_class *p;
struct hfsc_class *ellist_get_mindl(ellist_t *, u_int64_t);
static void actlist_insert(struct hfsc_class *);
static void actlist_remove(struct hfsc_class *);
ellist_insert(struct hfsc_class *cl)
struct hfsc_class *p;
static void actlist_update(struct hfsc_class *);
ellist_remove(struct hfsc_class *cl)
static struct hfsc_class *actlist_firstfit(struct hfsc_class *,
ellist_update(struct hfsc_class *cl)
struct hfsc_class *p, *last;
struct hfsc_class *
struct hfsc_class *p, *cl = NULL;
actlist_insert(struct hfsc_class *cl)
struct hfsc_class *p;
actlist_remove(struct hfsc_class *cl)
actlist_update(struct hfsc_class *cl)
struct hfsc_class *p, *last;
static struct hfsc_class *
actlist_firstfit(struct hfsc_class *cl, u_int64_t cur_time)
struct hfsc_class *p;
struct hfsc_class *);
static struct hfsc_class *clh_to_clp(struct hfsc_if *, u_int32_t);
static int hfsc_class_modify(struct hfsc_class *, struct service_curve *,
get_class_stats(struct hfsc_classstats *sp, struct hfsc_class *cl)
static struct hfsc_class *
struct hfsc_class *cl;
hfsc_class_modify(struct hfsc_class *cl, struct service_curve *rsc,
struct hfsc_class *cl, *parent;
struct hfsc_class *cl;
struct hfsc_class *cl;
struct hfsc_class *cl;
struct hfsc_class *cl;
struct hfsc_class *cl, *parent;
struct hfsc_class *cl;
struct hfsc_class *cl;
struct hfsc_class *cl;
struct hfsc_class *cl;
struct hfsc_class *
struct hfsc_class *parent, int qlimit, int flags, int qid)
struct hfsc_class *cl, *p;
cl = malloc(sizeof(struct hfsc_class), M_DEVBUF, M_WAITOK|M_ZERO);
hfsc_class_destroy(struct hfsc_class *cl)
struct hfsc_class *p = cl->cl_parent->cl_children;
static struct hfsc_class *
hfsc_nextclass(struct hfsc_class *cl)
struct hfsc_class *cl;
struct hfsc_class *cl;
hfsc_addq(struct hfsc_class *cl, struct mbuf *m)
hfsc_getq(struct hfsc_class *cl)
hfsc_pollq(struct hfsc_class *cl)
static struct hfsc_class *hfsc_class_create(struct hfsc_if *,
hfsc_purgeq(struct hfsc_class *cl)
struct hfsc_class *, int, int, int);
set_active(struct hfsc_class *cl, int len)
static int hfsc_class_destroy(struct hfsc_class *);
set_passive(struct hfsc_class *cl)
static struct hfsc_class *hfsc_nextclass(struct hfsc_class *);
init_ed(struct hfsc_class *cl, int next_len)
update_ed(struct hfsc_class *cl, int next_len)
static int hfsc_addq(struct hfsc_class *, struct mbuf *);
update_d(struct hfsc_class *cl, int next_len)
init_vf(struct hfsc_class *cl, int len)
struct hfsc_class *max_cl, *p;
static struct mbuf *hfsc_getq(struct hfsc_class *);
static struct mbuf *hfsc_pollq(struct hfsc_class *);
static void hfsc_purgeq(struct hfsc_class *);
struct hfsc_class;
typedef TAILQ_HEAD(_eligible, hfsc_class) ellist_t;
typedef TAILQ_ENTRY(hfsc_class) elentry_t;
typedef TAILQ_HEAD(_active, hfsc_class) actlist_t;
typedef TAILQ_ENTRY(hfsc_class) actentry_t;
struct hfsc_class *cl_parent; /* parent class */
struct hfsc_class *cl_siblings; /* sibling classes */
struct hfsc_class *cl_children; /* child classes */
struct hfsc_class *hif_rootclass; /* root class */
struct hfsc_class *hif_defaultclass; /* default class */
struct hfsc_class *hif_class_tbl[HFSC_MAX_CLASSES];
struct hfsc_class *hif_pollcache; /* cache for poll operation */