2 * Copyright (C) 2013 Thadeu Lima de Souza Cascardo <cascardo@minaslivre.org>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #ifndef _RNET_MESSAGE_H
20 #define _RNET_MESSAGE_H
22 #include <sys/types.h>
31 struct rnet_message * rnet_message_new(void);
32 void rnet_message_del(struct rnet_message *message);
33 int rnet_message_expand(struct rnet_message **message, size_t len);
35 int rnet_message_add_u32(struct rnet_message **msg, char *key, uint32_t val);
36 int rnet_message_add_ascii(struct rnet_message **msg, char *key, char *val);
37 int rnet_message_add_u8(struct rnet_message **msg, char *key, uint8_t val);
38 int rnet_message_add_u16(struct rnet_message **msg, char *key, uint16_t val);
39 int rnet_message_add_u64(struct rnet_message **msg, char *key, uint64_t val);
40 int rnet_message_add_buffer(struct rnet_message **msg, char *key,
41 char *buffer, size_t len);
43 int rnet_message_parse(struct rnet_message *msg, char *skey,
44 char** value, int *vlen);