root / drivers / tapdisk-syslog.h @ master
History | View | Annotate | Download (2.7 kB)
1 | abdb293f | Chrysostomos Nanakos | /*
|
---|---|---|---|
2 | abdb293f | Chrysostomos Nanakos | * Copyright (c) 2009, XenSource Inc.
|
3 | abdb293f | Chrysostomos Nanakos | * All rights reserved.
|
4 | abdb293f | Chrysostomos Nanakos | *
|
5 | abdb293f | Chrysostomos Nanakos | * Redistribution and use in source and binary forms, with or without
|
6 | abdb293f | Chrysostomos Nanakos | * modification, are permitted provided that the following conditions are met:
|
7 | abdb293f | Chrysostomos Nanakos | * * Redistributions of source code must retain the above copyright
|
8 | abdb293f | Chrysostomos Nanakos | * notice, this list of conditions and the following disclaimer.
|
9 | abdb293f | Chrysostomos Nanakos | * * Redistributions in binary form must reproduce the above copyright
|
10 | abdb293f | Chrysostomos Nanakos | * notice, this list of conditions and the following disclaimer in the
|
11 | abdb293f | Chrysostomos Nanakos | * documentation and/or other materials provided with the distribution.
|
12 | abdb293f | Chrysostomos Nanakos | * * Neither the name of XenSource Inc. nor the names of its contributors
|
13 | abdb293f | Chrysostomos Nanakos | * may be used to endorse or promote products derived from this software
|
14 | abdb293f | Chrysostomos Nanakos | * without specific prior written permission.
|
15 | abdb293f | Chrysostomos Nanakos | *
|
16 | abdb293f | Chrysostomos Nanakos | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17 | abdb293f | Chrysostomos Nanakos | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18 | abdb293f | Chrysostomos Nanakos | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19 | abdb293f | Chrysostomos Nanakos | * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
|
20 | abdb293f | Chrysostomos Nanakos | * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
21 | abdb293f | Chrysostomos Nanakos | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
22 | abdb293f | Chrysostomos Nanakos | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
23 | abdb293f | Chrysostomos Nanakos | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
24 | abdb293f | Chrysostomos Nanakos | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
25 | abdb293f | Chrysostomos Nanakos | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
26 | abdb293f | Chrysostomos Nanakos | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27 | abdb293f | Chrysostomos Nanakos | */
|
28 | abdb293f | Chrysostomos Nanakos | |
29 | abdb293f | Chrysostomos Nanakos | #ifndef __TAPDISK_SYSLOG_H__
|
30 | abdb293f | Chrysostomos Nanakos | #define __TAPDISK_SYSLOG_H__
|
31 | abdb293f | Chrysostomos Nanakos | |
32 | abdb293f | Chrysostomos Nanakos | #include <syslog.h> |
33 | abdb293f | Chrysostomos Nanakos | #include <stdarg.h> |
34 | abdb293f | Chrysostomos Nanakos | #include "scheduler.h" |
35 | abdb293f | Chrysostomos Nanakos | |
36 | abdb293f | Chrysostomos Nanakos | typedef struct _td_syslog td_syslog_t; |
37 | abdb293f | Chrysostomos Nanakos | |
38 | abdb293f | Chrysostomos Nanakos | #define TD_SYSLOG_PACKET_MAX 1024 |
39 | abdb293f | Chrysostomos Nanakos | |
40 | abdb293f | Chrysostomos Nanakos | struct _td_syslog_stats {
|
41 | abdb293f | Chrysostomos Nanakos | unsigned long long count; |
42 | abdb293f | Chrysostomos Nanakos | unsigned long long bytes; |
43 | abdb293f | Chrysostomos Nanakos | unsigned long long xmits; |
44 | abdb293f | Chrysostomos Nanakos | unsigned long long fails; |
45 | abdb293f | Chrysostomos Nanakos | unsigned long long drops; |
46 | abdb293f | Chrysostomos Nanakos | }; |
47 | abdb293f | Chrysostomos Nanakos | |
48 | abdb293f | Chrysostomos Nanakos | struct _td_syslog {
|
49 | abdb293f | Chrysostomos Nanakos | char *ident;
|
50 | abdb293f | Chrysostomos Nanakos | int facility;
|
51 | abdb293f | Chrysostomos Nanakos | |
52 | abdb293f | Chrysostomos Nanakos | int sock;
|
53 | abdb293f | Chrysostomos Nanakos | event_id_t event_id; |
54 | abdb293f | Chrysostomos Nanakos | |
55 | abdb293f | Chrysostomos Nanakos | void *buf;
|
56 | abdb293f | Chrysostomos Nanakos | size_t bufsz; |
57 | abdb293f | Chrysostomos Nanakos | |
58 | abdb293f | Chrysostomos Nanakos | char *msg;
|
59 | abdb293f | Chrysostomos Nanakos | |
60 | abdb293f | Chrysostomos Nanakos | char *ring;
|
61 | abdb293f | Chrysostomos Nanakos | size_t ringsz; |
62 | abdb293f | Chrysostomos Nanakos | |
63 | abdb293f | Chrysostomos Nanakos | size_t prod; |
64 | abdb293f | Chrysostomos Nanakos | size_t cons; |
65 | abdb293f | Chrysostomos Nanakos | |
66 | abdb293f | Chrysostomos Nanakos | int oom;
|
67 | abdb293f | Chrysostomos Nanakos | struct timeval oom_tv;
|
68 | abdb293f | Chrysostomos Nanakos | |
69 | abdb293f | Chrysostomos Nanakos | struct _td_syslog_stats stats;
|
70 | abdb293f | Chrysostomos Nanakos | }; |
71 | abdb293f | Chrysostomos Nanakos | |
72 | abdb293f | Chrysostomos Nanakos | int tapdisk_syslog_open(td_syslog_t *,
|
73 | abdb293f | Chrysostomos Nanakos | const char *ident, int facility, size_t bufsz); |
74 | abdb293f | Chrysostomos Nanakos | void tapdisk_syslog_close(td_syslog_t *);
|
75 | abdb293f | Chrysostomos Nanakos | void tapdisk_syslog_flush(td_syslog_t *);
|
76 | abdb293f | Chrysostomos Nanakos | void tapdisk_syslog_stats(td_syslog_t *, int prio); |
77 | abdb293f | Chrysostomos Nanakos | |
78 | abdb293f | Chrysostomos Nanakos | int tapdisk_vsyslog(td_syslog_t *, int prio, const char *fmt, va_list ap); |
79 | abdb293f | Chrysostomos Nanakos | int tapdisk_syslog(td_syslog_t *, int prio, const char *fmt, ...); |
80 | abdb293f | Chrysostomos Nanakos | |
81 | abdb293f | Chrysostomos Nanakos | #endif /* __TAPDISK_SYSLOG_H__ */ |