nmsg  0.13.2
nmsg.h
Go to the documentation of this file.
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
28 extern "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>
44 typedef enum nmsg_res nmsg_res;
45 
46 typedef struct nmsg_container * nmsg_container_t;
47 typedef struct nmsg_fltmod * nmsg_fltmod_t;
48 typedef struct nmsg_input * nmsg_input_t;
49 typedef struct nmsg_io * nmsg_io_t;
50 typedef struct nmsg_message * nmsg_message_t;
51 typedef struct nmsg_msgmod * nmsg_msgmod_t;
52 typedef struct nmsg_output * nmsg_output_t;
53 typedef struct nmsg_pcap * nmsg_pcap_t;
54 typedef struct nmsg_pres * nmsg_pres_t;
55 typedef struct nmsg_rate * nmsg_rate_t;
56 typedef struct nmsg_random * nmsg_random_t;
57 typedef struct nmsg_strbuf * nmsg_strbuf_t;
58 typedef struct nmsg_zbuf * nmsg_zbuf_t;
59 
63 struct nmsg_idname {
64  unsigned id; /*%< ID number */
65  const char *name; /*%< Human readable name */
66 };
67 
78 typedef void (*nmsg_cb_message)(nmsg_message_t msg, void *user);
79 
94 typedef 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/zbuf.h>
118 
129 #if __GNUC__ >= 4
130 __attribute__ ((warn_unused_result))
131 #endif
132 nmsg_res nmsg_init(void);
133 
143 void nmsg_set_autoclose(bool autoclose);
144 
150 void nmsg_set_debug(int debug);
151 
155 int nmsg_get_debug(void);
156 
157 #ifdef __cplusplus
158 }
159 #endif
160 
393 #endif /* NMSG_H */