| Current File : //usr/include/zonestat_private.h |
/*
* Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
*/
#ifndef _ZONESTAT_PRIVATE_H
#define _ZONESTAT_PRIVATE_H
#include <zonestat.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* Private libzonestat interfaces used by the zonestat command.
*
* INTERFACES DEFINED IN THIS FILE DO NOT CONSTITUTE A PUBLIC INTERFACE.
*
* Do not consume these interfaces; your program will break in the future
* (even in a patch) if you do.
*/
/*
* The usage set is for computations on multiple usage structures to describe
* a range of time.
*/
typedef enum zs_compute_enum {
ZS_COMPUTE_USAGE_INTERVAL = 1,
ZS_COMPUTE_USAGE_TOTAL,
ZS_COMPUTE_USAGE_AVERAGE,
ZS_COMPUTE_USAGE_HIGH
} zs_compute_t;
typedef enum zs_compute_set_enum {
ZS_COMPUTE_SET_TOTAL = 1,
ZS_COMPUTE_SET_AVERAGE,
ZS_COMPUTE_SET_HIGH
} zs_compute_set_t;
typedef struct zs_usage_set *zs_usage_set_t;
typedef struct zs_datalink *zs_datalink_t;
typedef struct zs_link_zone *zs_link_zone_t;
zs_usage_t zs_usage_compute(zs_usage_t, zs_usage_t, zs_usage_t, zs_compute_t);
/* functions for manipulating sets of usage data: zs_usage_set */
zs_usage_set_t zs_usage_set_alloc();
void zs_usage_set_free(zs_usage_set_t);
int zs_usage_set_add(zs_usage_set_t, zs_usage_t);
int zs_usage_set_count(zs_usage_set_t);
zs_usage_t zs_usage_set_compute(zs_usage_set_t, zs_compute_set_t);
/* functions for a datalink's per-link usage: zs_datalink */
int zs_datalink_list(zs_usage_t, zs_datalink_t *, int);
zs_property_t zs_link_property(zs_datalink_t, zs_datalink_property_t);
zs_property_t zs_link_zone_property(zs_link_zone_t, zs_lz_property_t);
int zs_link_zone_list(zs_datalink_t, zs_link_zone_t *, int);
int zs_vlink_list(zs_datalink_t, zs_datalink_t *, int);
#ifdef __cplusplus
}
#endif
#endif /* _ZONESTAT_PRIVATE_H */