--- /dev/null
+/*-
+ * Copyright (c) 2008 Verdens Gang AS
+ * Copyright (c) 2008 Linpro AS
+ * All rights reserved.
+ *
+ * Author: Poul-Henning Kamp <phk@phk.freebsd.dk>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: steps.h 2415 2008-01-31 11:57:51Z des $
+ */
+
+ACCT(sess)
+ACCT(req)
+ACCT(pipe)
+ACCT(pass)
+ACCT(fetch)
+ACCT(hdrbytes)
+ACCT(bodybytes)
ses_sum_acct(struct acct *sum, const struct acct *inc)
{
- sum->sess += inc->sess;
- sum->req += inc->req;
- sum->pipe += inc->pipe;
- sum->pass += inc->pass;
- sum->fetch += inc->fetch;
- sum->hdrbytes += inc->hdrbytes;
- sum->bodybytes += inc->bodybytes;
+#define ACCT(foo) sum->foo += inc->foo;
+#include "acct_fields.h"
+#undef ACCT
}
void
b.fetch, b.hdrbytes, b.bodybytes);
}
LOCK(&stat_mtx);
- VSL_stats->s_sess += a->sess;
- VSL_stats->s_req += a->req;
- VSL_stats->s_pipe += a->pipe;
- VSL_stats->s_pass += a->pass;
- VSL_stats->s_fetch += a->fetch;
- VSL_stats->s_hdrbytes += a->hdrbytes;
- VSL_stats->s_bodybytes += a->bodybytes;
+#define ACCT(foo) VSL_stats->s_##foo += a->foo;
+#include "acct_fields.h"
+#undef ACCT
UNLOCK(&stat_mtx);
memset(a, 0, sizeof *a);
}