statsblobv1
stats_v1_blob_clone(struct statsblobv1 **dst, size_t dstmaxsz,
struct statsblobv1 *src, uint32_t flags)
struct statsblobv1 *tpl_sb;
tpl_sb = stats_realloc(NULL, 0, sizeof(struct statsblobv1), M_ZERO);
tpl_sb->cursz = tpl_sb->maxsz = sizeof(struct statsblobv1);
tpl_sb->stats_off = tpl_sb->statsdata_off = sizeof(struct statsblobv1);
_Static_assert(offsetof(struct statsblobv1, cursz) +
SIZEOF_MEMBER(struct statsblobv1, cursz) ==
struct statsblobv1 *tpl_sb;
tpl_sb = (struct statsblobv1 *)tpllist[tpl_id]->sb;
struct statsblobv1 *sb;
struct statsblobv1 *
struct statsblobv1 *sb;
stats_v1_blob_destroy(struct statsblobv1 *sb)
stats_v1_voistat_fetch_dptr(struct statsblobv1 *sb, int32_t voi_id,
stats_v1_blob_init(struct statsblobv1 *sb, uint32_t tpl_id, uint32_t flags)
stats_v1_blob_init_locked(struct statsblobv1 *sb, uint32_t tpl_id,
stats_v1_blob_expand(struct statsblobv1 **sbpp, int newvoibytes,
struct statsblobv1 *sb;
typedef int (*stats_v1_blob_itercb_t)(struct statsblobv1 *sb, struct voi *v,
stats_v1_blob_finalise(struct statsblobv1 *sb __unused)
stats_v1_blob_iter(struct statsblobv1 *sb, stats_v1_blob_itercb_t icb,
stats_v1_itercb_tostr_freeform(struct statsblobv1 *sb, struct voi *v,
#define NVOIS(sb) ((int32_t)((((struct statsblobv1 *)(sb))->stats_off - \
sizeof(struct statsblobv1)) >> 3))
stats_v1_itercb_tostr_json(struct statsblobv1 *sb, struct voi *v, struct voistat *vs,
stats_v1_itercb_tostr(struct statsblobv1 *sb, struct voi *v, struct voistat *vs,
stats_v1_blob_tostr(struct statsblobv1 *sb, struct sbuf *buf,
stats_v1_itercb_visit(struct statsblobv1 *sb, struct voi *v,
stats_v1_blob_visit(struct statsblobv1 *sb, stats_blob_visitcb_t func,
stats_v1_icb_reset_voistat(struct statsblobv1 *sb, struct voi *v __unused,
stats_v1_blob_snapshot(struct statsblobv1 **dst, size_t dstmaxsz,
struct statsblobv1 *src, uint32_t flags)
static int stats_v1_blob_init_locked(struct statsblobv1 *sb, uint32_t tpl_id,
static int stats_v1_blob_expand(struct statsblobv1 **sbpp, int newvoibytes,
static void stats_v1_blob_iter(struct statsblobv1 *sb,
stats_v1_voi_update(struct statsblobv1 *sb, int32_t voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
struct statsblobv1;
int stats_v1_blob_init(struct statsblobv1 *sb, uint32_t tpl_id, uint32_t flags);
struct statsblobv1 * stats_v1_blob_alloc(uint32_t tpl_id, uint32_t flags);
int stats_v1_blob_clone(struct statsblobv1 **dst, size_t dstmaxsz,
struct statsblobv1 *src, uint32_t flags);
void stats_v1_blob_destroy(struct statsblobv1 *sb);
int stats_v1_blob_snapshot(struct statsblobv1 **dst, size_t dstmaxsz,
struct statsblobv1 *src, uint32_t flags);
int stats_v1_blob_tostr(struct statsblobv1 *sb, struct sbuf *buf,
int stats_v1_blob_visit(struct statsblobv1 *sb, stats_blob_visitcb_t func,
int stats_v1_voi_update(struct statsblobv1 *sb, int32_t voi_id,
int stats_v1_voistat_fetch_dptr(struct statsblobv1 *sb, int32_t voi_id,
return (stats_v1_blob_init((struct statsblobv1 *)sb, tpl_id, flags));
return (stats_v1_blob_clone((struct statsblobv1 **)dst, dstmaxsz,
(struct statsblobv1 *)src, flags));
stats_v1_blob_destroy((struct statsblobv1 *)sb);
return (stats_v1_blob_visit((struct statsblobv1 *)sb, func, usrctx));
return (stats_v1_blob_tostr((struct statsblobv1 *)sb, buf, fmt, flags));
return (stats_v1_voistat_fetch_dptr((struct statsblobv1 *)sb,
return (stats_v1_blob_snapshot((struct statsblobv1 **)dst, dstmaxsz,
(struct statsblobv1 *)src, flags));
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,
return (stats_v1_voi_update((struct statsblobv1 *)sb, voi_id,