Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 38 additions & 38 deletions pkg/oonf_api/0001-add-RIOT-support.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 012da8d41806ae98adab8cb4e88e52c2e675ab4f Mon Sep 17 00:00:00 2001
From b7ed6eeb4f970bf603da8ec90f4f7e8b862dcdb6 Mon Sep 17 00:00:00 2001
From: Benjamin Valentin <[email protected]>
Date: Wed, 5 Feb 2014 20:01:41 +0100
Subject: [PATCH 1/3] add RIOT support
Subject: [PATCH 01/10] add RIOT support

---
Makefile | 29 ++++++++++++++
Expand All @@ -24,7 +24,7 @@ Subject: [PATCH 1/3] add RIOT support

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..cf66baa
index 0000000..1f1cd9c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,29 @@
Expand Down Expand Up @@ -77,24 +77,24 @@ index 0000000..5e0046d
+
+include $(RIOTBASE)/Makefile.base
diff --git a/src-api/common/autobuf.c b/src-api/common/autobuf.c
index 77c519b..e09c0c9 100644
index 77c519b..37e77ac 100644
--- a/src-api/common/autobuf.c
+++ b/src-api/common/autobuf.c
@@ -51,6 +51,12 @@
#include <winsock2.h>
#endif

+#ifdef RIOT_VERSION
+int getpagesize(void) {
+ return 512;
+}
+#endif
+
#include "common/autobuf.h"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How did these additional white trailing spaces passed the CI?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some versions of git (my local e.g.) register patch files as binary files and thus ignore their content for patching, diff and whitespace checks.

/**
diff --git a/src-api/common/common_types.h b/src-api/common/common_types.h
index c90cf46..54ce281 100644
index c90cf46..b5f170a 100644
--- a/src-api/common/common_types.h
+++ b/src-api/common/common_types.h
@@ -77,6 +77,11 @@
Expand All @@ -110,20 +110,20 @@ index c90cf46..54ce281 100644
#define PRINTF_SIZE_T_SPECIFIER "zu"
#define PRINTF_SIZE_T_HEX_SPECIFIER "zx"
diff --git a/src-api/common/daemonize.c b/src-api/common/daemonize.c
index 103c88f..6ea603d 100644
index 103c88f..8a6cd2b 100644
--- a/src-api/common/daemonize.c
+++ b/src-api/common/daemonize.c
@@ -48,7 +48,7 @@
#include "common/common_types.h"
#include "common/daemonize.h"

-#ifndef WIN32
+#if (!defined(_WIN32)) && (!defined(RIOT_VERSION))
/**
* Prepare the start of a daemon. Fork into background,
* but keep stdin/out/err open and a pipe connected to
diff --git a/src-api/common/netaddr.c b/src-api/common/netaddr.c
index dedab2c..fdc3e82 100644
index dedab2c..1b602ec 100644
--- a/src-api/common/netaddr.c
+++ b/src-api/common/netaddr.c
@@ -43,7 +43,14 @@
Expand All @@ -133,12 +133,12 @@ index dedab2c..fdc3e82 100644
+#ifndef RIOT_VERSION
#include <net/if.h>
+#else
+#include "net_help.h"
+#include "net/af.h"
+#include "inet_ntop.h"
+#include "inet_pton.h"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't tested with oonf yet, but doesn't removing the both includes will harm using this package?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not test it either, but judging from the diff it looked like those were only included for the AF_ macros.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems to be broken in master.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reworked the patch file.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems to be broken in master.

No I'm just too stupid to use it ;-P

+#define DONT_HAVE_SIN6_SCOPE_ID
+#endif

#include "common/common_types.h"
#include "common/string.h"
@@ -175,12 +182,12 @@ netaddr_to_binary(void *dst, const struct netaddr *src, size_t len) {
Expand All @@ -165,14 +165,14 @@ index dedab2c..fdc3e82 100644
+ dst->_type = (uint8_t)src->std.sin6_family;
return 0;
}

@@ -204,12 +211,12 @@ netaddr_from_socket(struct netaddr *dst, const union netaddr_socket *src) {
int
netaddr_to_socket(union netaddr_socket *dst, const struct netaddr *src) {
/* copy address type */
- dst->std.sa_family = src->_type;
+ dst->std.sin6_family = src->_type;

switch (src->_type) {
case AF_INET:
/* ipv4 */
Expand All @@ -183,13 +183,13 @@ index dedab2c..fdc3e82 100644
/* ipv6 */
@@ -221,7 +228,7 @@ netaddr_to_socket(union netaddr_socket *dst, const struct netaddr *src) {
}

/* copy address type */
- dst->std.sa_family= src->_type;
+ dst->std.sin6_family= src->_type;
return 0;
}

@@ -319,14 +326,16 @@ netaddr_socket_init(union netaddr_socket *combined, const struct netaddr *addr,
switch (addr->_type) {
case AF_INET:
Expand All @@ -212,13 +212,13 @@ index dedab2c..fdc3e82 100644
/* unknown address type */
@@ -334,7 +343,7 @@ netaddr_socket_init(union netaddr_socket *combined, const struct netaddr *addr,
}

/* copy address type */
- combined->std.sa_family = addr->_type;
+ combined->std.sin6_family = addr->_type;
return 0;
}

@@ -344,11 +353,11 @@ netaddr_socket_init(union netaddr_socket *combined, const struct netaddr *addr,
*/
uint16_t
Expand All @@ -237,7 +237,7 @@ index dedab2c..fdc3e82 100644
@@ -555,28 +564,31 @@ const char *
netaddr_socket_to_string(struct netaddr_str *dst, const union netaddr_socket *src) {
struct netaddr_str buf;

- if (src->std.sa_family == AF_INET) {
+ if (src->std.sin6_family == AF_INET) {
snprintf(dst->buf, sizeof(*dst), "%s:%d",
Expand All @@ -251,7 +251,7 @@ index dedab2c..fdc3e82 100644
+#ifndef DONT_HAVE_SIN6_SCOPE_ID
if (src->v6.sin6_scope_id) {
char scope_buf[IF_NAMESIZE];

snprintf(dst->buf, sizeof(*dst), "[%s]:%d%%%s",
inet_ntop(AF_INET6, &src->v6.sin6_addr, buf.buf, sizeof(buf)),
- ntohs(src->v6.sin6_port),
Expand All @@ -272,18 +272,18 @@ index dedab2c..fdc3e82 100644
- snprintf(dst->buf, sizeof(*dst), "\"Unknown socket type: %d\"", src->std.sa_family);
+ snprintf(dst->buf, sizeof(*dst), "\"Unknown socket type: %d\"", src->std.sin6_family);
}

return dst->buf;
@@ -622,13 +634,13 @@ int
netaddr_cmp_to_socket(const struct netaddr *a1, const union netaddr_socket *a2) {
int result = 0;

- result = (int)a1->_type - (int)a2->std.sa_family;
+ result = (int)a1->_type - (int)a2->std.sin6_family;
if (result) {
return result;
}

if (a1->_type == AF_INET) {
- result = memcmp(a1->_addr, &a2->v4.sin_addr, 4);
+ result = memcmp(a1->_addr, &a2->v4.sin6_addr, 4);
Expand Down Expand Up @@ -317,7 +317,7 @@ index dedab2c..fdc3e82 100644
return dst;
}
@@ -795,7 +807,7 @@ inet_pton(int af, const char *src, void *dst)

sock = (union netaddr_socket *)res->ai_addr;
if (af == AF_INET) {
- memcpy(dst, &sock->v4.sin_addr, 4);
Expand All @@ -327,21 +327,21 @@ index dedab2c..fdc3e82 100644
memcpy(dst, &sock->v6.sin6_addr, 16);
@@ -928,7 +940,7 @@ _subnetmask_to_prefixlen(const char *src) {
}

/* transform into host byte order */
- v4 = ntohl(v4);
+ v4 = NTOHL(v4);

shift = 0xffffffff;
for (len = 31; len >= 0; len--) {
diff --git a/src-api/common/netaddr.h b/src-api/common/netaddr.h
index 78fd5b4..cfba7a9 100644
index 78fd5b4..e65bf94 100644
--- a/src-api/common/netaddr.h
+++ b/src-api/common/netaddr.h
@@ -43,18 +43,26 @@
#define NETADDR_H_


-#ifndef _WIN32
+#if (!defined(_WIN32)) && (!defined(RIOT_VERSION))
#include <arpa/inet.h>
Expand All @@ -354,10 +354,10 @@ index 78fd5b4..cfba7a9 100644
+#ifdef _WIN32
#include <winsock2.h>
#include <ws2tcpip.h>

#define IF_NAMESIZE 16
#endif

+#ifdef RIOT_VERSION
+#include "socket_base/socket.h"
+#define INET_ADDRSTRLEN (16)
Expand All @@ -366,7 +366,7 @@ index 78fd5b4..cfba7a9 100644
+
#include <assert.h>
#include <string.h>

@@ -97,10 +105,10 @@ struct netaddr {
* to all variants without casting and compiler warnings.
*/
Expand All @@ -380,7 +380,7 @@ index 78fd5b4..cfba7a9 100644
+ sockaddr6_t std;
+ sockaddr6_t storage;
};

/**
@@ -337,7 +345,7 @@ netaddr_set_prefix_length(struct netaddr *n, uint8_t prefix_len) {
*/
Expand All @@ -389,7 +389,7 @@ index 78fd5b4..cfba7a9 100644
- return s->std.sa_family;
+ return s->std.sin6_family;
}

#endif /* NETADDR_H_ */
diff --git a/src-api/rfc5444/Makefile b/src-api/rfc5444/Makefile
new file mode 100644
Expand Down Expand Up @@ -458,7 +458,7 @@ index 0000000..9bf6622
+
+#endif /* RFC5444_API_CONFIG_H_ */
diff --git a/src-api/rfc5444/rfc5444_print.c b/src-api/rfc5444/rfc5444_print.c
index 4b3e04d..6b52f72 100644
index 4b3e04d..7b9a308 100644
--- a/src-api/rfc5444/rfc5444_print.c
+++ b/src-api/rfc5444/rfc5444_print.c
@@ -41,8 +41,13 @@
Expand All @@ -472,9 +472,9 @@ index 4b3e04d..6b52f72 100644
#include <sys/socket.h>
#include <arpa/inet.h>
+#endif

#include "common/netaddr.h"
#include "rfc5444/rfc5444_reader.h"
--
1.8.3.2
--
1.9.1

49 changes: 49 additions & 0 deletions sys/include/net/af.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/*
* Copyright (C) 2015 Martine Lenders <[email protected]>
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/

/**
* @defgroup net_af UNIX address families
* @ingroup net
* @brief Global UNIX address family definitions
* @{
*
* @file
* @brief Global UNIX address family definitions
*
* @author Martine Lenders <[email protected]>
*/
#ifndef AF_H_
#define AF_H_



Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, really nitpicking: too much newlines

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True :D

#ifdef __cplusplus
extern "C" {
#endif

enum {
AF_UNSPEC = 0, /**< unspecified address family */
#define AF_UNSPEC AF_UNSPEC /**< unspecified address family (as macro) */
AF_UNIX, /**< local to host (pipes, portals) address family. */
#define AF_UNIX AF_UNIX /**< unspecified address family (as macro) */
AF_INET, /**< internetwork address family: UDP, TCP, etc. */
#define AF_INET AF_INET /**< internetwork address family: UDP, TCP, etc. (as macro) */
AF_INET6, /**< internetwork address family with IPv6: UDP, TCP, etc. */
#define AF_INET6 AF_INET6 /**< internetwork address family with IPv6: UDP, TCP, etc.
* (as macro) */
AF_NUMOF, /**< maximum number of address families on this system */
#define AF_NUMOF AF_NUMOF /**< maximum number of address families on this system (as macro) */
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The other removed AF_*/PF_* from sys/net/include/socket_base/socket.h would follow iff required?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before AF_NUMOF, but yes.

#define AF_MAX AF_NUMOF /**< alias for @ref AF_NUMOF */
};
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typedef ... af_t?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typedef ... af_t?

+1, @Kijewski knows how to translate Arbeitsbeschaffungsmaßnahme into english (:

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we ever gonna use this type? Usually AF_ constants are int throughout the code and in POSIX, so de-anonymising this type would require casting everywhere it is used. In terms of code-beautification I like to prevent that.


#ifdef __cplusplus
}
#endif

#endif /* AF_H_ */
/** @} */
2 changes: 1 addition & 1 deletion sys/net/gnrc/routing/rpl/gnrc_rpl_control_messages.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@
* @author Cenk Gündoğan <[email protected]>
*/

#include "net/af.h"
#include "net/icmpv6.h"
#include "net/ipv6/hdr.h"
#include "net/gnrc/icmpv6.h"
#include "net/gnrc/ipv6.h"
#include "net/gnrc.h"
#include "inet_ntop.h"
#include "net/eui64.h"

#include "net/gnrc/rpl.h"
Expand Down
2 changes: 1 addition & 1 deletion sys/net/gnrc/routing/rpl/gnrc_rpl_dodag.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*/

#include <stdbool.h>
#include "inet_pton.h"
#include "net/af.h"
#include "net/gnrc/ipv6.h"
#include "net/gnrc/ipv6/netif.h"
#include "net/gnrc/rpl/dodag.h"
Expand Down
13 changes: 1 addition & 12 deletions sys/net/include/inet_ntop.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,12 @@
#ifndef INET_NTOP_H_
#define INET_NTOP_H_
#include <stdlib.h>
#include "net/af.h"

#ifdef __cplusplus
extern "C" {
#endif

#ifndef AF_INET
#define AF_INET 2 ///< internetwork address family: UDP, TCP, etc.
#endif
#ifndef AF_INET6
/**
* IPv6 address family.
*
* @see AF_INET
*/
#define AF_INET6 28
#endif

#ifndef IN6ADDRSZ
#define IN6ADDRSZ 16
#endif
Expand Down
13 changes: 1 addition & 12 deletions sys/net/include/inet_pton.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,12 @@
#ifndef INET_PTON_H_
#define INET_PTON_H_
#include <stdlib.h>
#include "net/af.h"

#ifdef __cplusplus
extern "C" {
#endif

#ifndef AF_INET
#define AF_INET 2 ///< internetwork address family: UDP, TCP, etc.
#endif
#ifndef AF_INET6
/**
* IPv6 address family.
*
* @see AF_INET
*/
#define AF_INET6 28
#endif

#ifndef IN6ADDRSZ
#define IN6ADDRSZ 16
#endif
Expand Down
Loading