nmsg  0.15.1
container.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 by Farsight Security, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * 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 NMSG_CONTAINER_H
18 #define NMSG_CONTAINER_H
19 
39 nmsg_container_t
40 nmsg_container_init(size_t bufsz);
41 
47 void
48 nmsg_container_destroy(nmsg_container_t *c);
49 
57 void
58 nmsg_container_set_sequence(nmsg_container_t c, bool do_sequence);
59 
81 nmsg_container_add(nmsg_container_t c, nmsg_message_t msg);
82 
86 size_t
87 nmsg_container_get_num_payloads(nmsg_container_t c);
88 
120 nmsg_res
121 nmsg_container_serialize(nmsg_container_t c, uint8_t **pbuf, size_t *buf_len,
122  bool do_header, bool do_zlib,
123  uint32_t sequence, uint64_t sequence_id);
124 
143 nmsg_res
144 nmsg_container_deserialize(const uint8_t *buf, size_t buf_len,
145  nmsg_message_t **msgarray, size_t *n_msg);
146 
147 #endif /* NMSG_CONTAINER_H */
nmsg_res
nmsg result code
Definition: res.h:25
nmsg_res nmsg_container_serialize(nmsg_container_t c, uint8_t **pbuf, size_t *buf_len, bool do_header, bool do_zlib, uint32_t sequence, uint64_t sequence_id)
Serialize an NMSG container object, allocating memory as needed and returning a free()able buffer con...
void nmsg_container_set_sequence(nmsg_container_t c, bool do_sequence)
Enable or disable NMSG container sequence tracking.
nmsg_res nmsg_container_deserialize(const uint8_t *buf, size_t buf_len, nmsg_message_t **msgarray, size_t *n_msg)
Deserialize a collection of NMSG messages contained in a buffer containing a serialized NMSG containe...
nmsg_res nmsg_container_add(nmsg_container_t c, nmsg_message_t msg)
Add an NMSG message object to an NMSG container object.
void nmsg_container_destroy(nmsg_container_t *c)
Deallocate the resources associated with an nmsg_container_t object.
size_t nmsg_container_get_num_payloads(nmsg_container_t c)
Get the current number of payloads in the NMSG container object.
nmsg_container_t nmsg_container_init(size_t bufsz)
Initialize a new NMSG container object.