1/* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements.  See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License.  You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef HEARTBEAT_H
18#define HEARTBEAT_H
19
20/**
21 * @file  heartbeat.h
22 * @brief commun structures for mod_heartmonitor.c  and mod_lbmethod_heartbeat.c
23 *
24 * @defgroup HEARTBEAT mem
25 * @ingroup  APACHE_MODS
26 * @{
27 */
28
29#include "apr.h"
30#include "apr_time.h"
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36/*
37 * Worse Case: IPv4-Mapped IPv6 Address
38 * 0000:0000:0000:0000:0000:FFFF:255.255.255.255
39 */
40#define MAXIPSIZE  46
41typedef struct hm_slot_server_t
42{
43    char ip[MAXIPSIZE];
44    int busy;
45    int ready;
46    apr_time_t seen;
47    int id;
48} hm_slot_server_t;
49
50/* default name of heartbeat data file, created in the configured
51 * runtime directory when mod_slotmem_shm is not available
52 */
53#define DEFAULT_HEARTBEAT_STORAGE "hb.dat"
54
55#ifdef __cplusplus
56}
57#endif
58
59#endif
60/** @} */
61