OSDN Git Service

Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
[uclinux-h8/linux.git] / net / tipc / core.h
index 3dc68c7..0fcf133 100644 (file)
 #include <net/netns/generic.h>
 #include <linux/rhashtable.h>
 
-#include "node.h"
-#include "bearer.h"
-#include "bcast.h"
-#include "netlink.h"
-#include "link.h"
-#include "node.h"
-#include "msg.h"
+struct tipc_node;
+struct tipc_bearer;
+struct tipc_bcbearer;
+struct tipc_bclink;
+struct tipc_link;
+struct tipc_name_table;
+struct tipc_server;
 
 #define TIPC_MOD_VER "2.0.0"
 
+#define NODE_HTABLE_SIZE   512
+#define MAX_BEARERS       3
+
 extern int tipc_net_id __read_mostly;
 extern int sysctl_tipc_rmem[3] __read_mostly;
 extern int sysctl_tipc_named_timeout __read_mostly;
@@ -106,6 +109,26 @@ struct tipc_net {
        atomic_t subscription_count;
 };
 
+static inline u16 mod(u16 x)
+{
+       return x & 0xffffu;
+}
+
+static inline int less_eq(u16 left, u16 right)
+{
+       return mod(right - left) < 32768u;
+}
+
+static inline int more(u16 left, u16 right)
+{
+       return !less_eq(left, right);
+}
+
+static inline int less(u16 left, u16 right)
+{
+       return less_eq(left, right) && (mod(right) != mod(left));
+}
+
 #ifdef CONFIG_SYSCTL
 int tipc_register_sysctl(void);
 void tipc_unregister_sysctl(void);