/usr/include/pcp/mmv_dev.h is in libpcp-mmv1-dev 4.0.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | /*
* Copyright (C) 2001,2009 Silicon Graphics, Inc. All Rights Reserved.
* Copyright (C) 2009 Aconex. All Rights Reserved.
* Copyright (C) 2016 Red Hat.
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
* License for more details.
*/
#ifndef PCP_MMV_DEV_H
#define PCP_MMV_DEV_H
#define MMV_VERSION1 1 /* original on-disk format */
#define MMV_VERSION2 2 /* + mmv_disk_{metric2,instance2}_t */
#define MMV_VERSION 1 /* default, upgrading to v2 only if needed */
typedef enum mmv_toc_type {
MMV_TOC_INDOMS = 1, /* mmv_disk_indom_t */
MMV_TOC_INSTANCES = 2, /* mmv_disk_{instance,instance2}_t */
MMV_TOC_METRICS = 3, /* mmv_disk_{metric,metric2}_t */
MMV_TOC_VALUES = 4, /* mmv_disk_value_t */
MMV_TOC_STRINGS = 5, /* mmv_disk_string_t */
} mmv_toc_type_t;
/* The way the Table Of Contents is written into the file */
typedef struct mmv_disk_toc {
mmv_toc_type_t type; /* What is it? */
__int32_t count; /* Number of entries */
__uint64_t offset; /* Offset of section from file start */
} mmv_disk_toc_t;
typedef struct mmv_disk_indom {
__uint32_t serial; /* Unique identifier */
__uint32_t count; /* Number of instances */
__uint64_t offset; /* Offset of first instance */
__uint64_t shorttext; /* Offset of short help text string */
__uint64_t helptext; /* Offset of long help text string */
} mmv_disk_indom_t;
typedef struct mmv_disk_instance {
__uint64_t indom; /* Offset into files indom section */
__uint32_t padding; /* zero filled, alignment bits */
__int32_t internal; /* Internal instance ID */
char external[MMV_NAMEMAX]; /* External instance ID */
} mmv_disk_instance_t;
typedef struct mmv_disk_instance2 {
__uint64_t indom; /* Offset into files indom section */
__uint32_t padding; /* zero filled, alignment bits */
__int32_t internal; /* Internal instance ID */
__uint64_t external; /* Offset of instance name string */
} mmv_disk_instance2_t;
typedef struct mmv_disk_string {
char payload[MMV_STRINGMAX]; /* NULL terminated string */
} mmv_disk_string_t;
typedef struct mmv_disk_metric {
char name[MMV_NAMEMAX];
__uint32_t item; /* Unique identifier */
mmv_metric_type_t type;
mmv_metric_sem_t semantics;
pmUnits dimension;
__int32_t indom; /* Instance domain number */
__uint32_t padding; /* zero filled, alignment bits */
__uint64_t shorttext; /* Offset of short help text string */
__uint64_t helptext; /* Offset of long help text string */
} mmv_disk_metric_t;
typedef struct mmv_disk_metric2 {
__uint64_t name; /* Offset of metric name string */
__uint32_t item; /* Unique identifier */
mmv_metric_type_t type;
mmv_metric_sem_t semantics;
pmUnits dimension;
__int32_t indom; /* Instance domain number */
__uint32_t padding; /* zero filled, alignment bits */
__uint64_t shorttext; /* Offset of short help text string */
__uint64_t helptext; /* Offset of long help text string */
} mmv_disk_metric2_t;
typedef struct mmv_disk_value {
pmAtomValue value; /* Union of all possible value types */
__int64_t extra; /* INTEGRAL(starttime)/STRING(offset) */
__uint64_t metric; /* Offset into the metric section */
__uint64_t instance; /* Offset into the instance section */
} mmv_disk_value_t;
typedef struct mmv_disk_header {
char magic[4]; /* MMV\0 */
__int32_t version; /* version */
__uint64_t g1; /* Generation numbers */
__uint64_t g2;
__int32_t tocs; /* Number of toc entries */
mmv_stats_flags_t flags;
__int32_t process; /* client process identifier (flags) */
__int32_t cluster; /* preferred PMDA cluster identifier */
} mmv_disk_header_t;
#endif /* PCP_MMV_DEV_H */
|