nmsg 1.1.1
nmsg.h
1#ifndef NMSG_H
2#define NMSG_H
3
4/*
5 * Copyright (c) 2008-2015 by Farsight Security, Inc.
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 */
19
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31#include <netinet/in.h>
32#include <arpa/inet.h>
33#include <sys/socket.h>
34#include <sys/types.h>
35#include <stdarg.h>
36#include <stdbool.h>
37#include <stddef.h>
38#include <stdint.h>
39#include <time.h>
40
41#include <pcap.h>
42
43#include <nmsg/res.h>
44typedef enum nmsg_res nmsg_res;
45
46typedef struct nmsg_container * nmsg_container_t;
47typedef struct nmsg_fltmod * nmsg_fltmod_t;
48typedef struct nmsg_input * nmsg_input_t;
49typedef struct nmsg_io * nmsg_io_t;
50typedef struct nmsg_message * nmsg_message_t;
51typedef struct nmsg_msgmod * nmsg_msgmod_t;
52typedef struct nmsg_output * nmsg_output_t;
53typedef struct nmsg_pcap * nmsg_pcap_t;
54typedef struct nmsg_pres * nmsg_pres_t;
55typedef struct nmsg_rate * nmsg_rate_t;
56typedef struct nmsg_random * nmsg_random_t;
57typedef struct nmsg_strbuf * nmsg_strbuf_t;
58typedef struct nmsg_zbuf * nmsg_zbuf_t;
59
63struct nmsg_idname {
64 unsigned id; /*%< ID number */
65 const char *name; /*%< Human readable name */
66};
67
78typedef void (*nmsg_cb_message)(nmsg_message_t msg, void *user);
79
94typedef nmsg_res (*nmsg_cb_message_read)(nmsg_message_t *msg, void *user);
95
96#include <nmsg/alias.h>
97#include <nmsg/asprintf.h>
98#include <nmsg/chalias.h>
99#include <nmsg/compat.h>
100#include <nmsg/constants.h>
101#include <nmsg/container.h>
102#include <nmsg/filter.h>
103#include <nmsg/fltmod.h>
104#include <nmsg/input.h>
105#include <nmsg/io.h>
106#include <nmsg/ipdg.h>
107#include <nmsg/message.h>
108#include <nmsg/msgmod.h>
109#include <nmsg/output.h>
110#include <nmsg/pcap_input.h>
111#include <nmsg/random.h>
112#include <nmsg/rate.h>
113#include <nmsg/sock.h>
114#include <nmsg/strbuf.h>
115#include <nmsg/timespec.h>
116#include <nmsg/vendors.h>
117#include <nmsg/version.h>
118#include <nmsg/zbuf.h>
119
130#if __GNUC__ >= 4
131__attribute__ ((warn_unused_result))
132#endif
133nmsg_res nmsg_init(void);
134
144void nmsg_set_autoclose(bool autoclose);
145
151void nmsg_set_debug(int debug);
152
156int nmsg_get_debug(void);
157
161const char *nmsg_get_version(void);
162
168uint32_t nmsg_get_version_number(void);
169#ifdef __cplusplus
170}
171#endif
172
405#endif /* NMSG_H */