source: include/vapi/vsc.h @ 8aa1d8

Revision 8aa1d8, 2.8 KB checked in by Poul-Henning Kamp <phk@…>, 3 years ago (diff)

Eliminate nested <*.h> includes from include/*

Sort #includes according to rules which are for me to know and you
to guess.

  • Property mode set to 100644
Line 
1/*-
2 * Copyright (c) 2006 Verdens Gang AS
3 * Copyright (c) 2006-2011 Varnish Software AS
4 * All rights reserved.
5 *
6 * Author: Poul-Henning Kamp <phk@phk.freebsd.dk>
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 *    notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 *    notice, this list of conditions and the following disclaimer in the
15 *    documentation and/or other materials provided with the distribution.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 *
29 */
30
31#ifndef VAPI_VSC_H_INCLUDED
32#define VAPI_VSC_H_INCLUDED
33
34#include "vapi/vsc_int.h"
35
36struct VSM_data;
37
38/*---------------------------------------------------------------------
39 * VSC level access functions
40 */
41
42void VSC_Setup(struct VSM_data *vd);
43        /*
44         * Setup vd for use with VSC functions.
45         */
46
47#define VSC_ARGS        "f:n:"
48#define VSC_n_USAGE     VSM_n_USAGE
49#define VSC_USAGE       VSC_N_USAGE
50
51int VSC_Arg(struct VSM_data *vd, int arg, const char *opt);
52        /*
53         * Handle standard stat-presenter arguments
54         * Return:
55         *      -1 error
56         *       0 not handled
57         *       1 Handled.
58         */
59
60int VSC_Open(struct VSM_data *vd, int diag);
61        /*
62         * Open shared memory for VSC processing.
63         * args and returns as VSM_Open()
64         */
65
66struct VSC_C_main *VSC_Main(struct VSM_data *vd);
67        /*
68         * return Main stats structure
69         */
70
71struct VSC_point {
72        const char *class;              /* stat struct type             */
73        const char *ident;              /* stat struct ident            */
74        const char *name;               /* field name                   */
75        const char *fmt;                /* field format ("uint64_t")    */
76        int flag;                       /* 'a' = counter, 'i' = gauge   */
77        const char *desc;               /* description                  */
78        const volatile void *ptr;       /* field value                  */
79};
80
81typedef int VSC_iter_f(void *priv, const struct VSC_point *const pt);
82
83int VSC_Iter(struct VSM_data *vd, VSC_iter_f *func, void *priv);
84        /*
85         * Iterate over all statistics counters, calling "func" for
86         * each counter not suppressed by any "-f" arguments.
87         */
88
89#endif /* VAPI_VSC_H_INCLUDED */
Note: See TracBrowser for help on using the repository browser.