#define True (_Bool)1
typedef _Bool bool_t;
+union iaddr {
+ struct sockaddr sa;
+ struct sockaddr_in sin;
+#ifdef CONFIG_IPV6
+ struct sockaddr_in6 sin6;
+#endif
+};
+
#define ASSERT(x) do { if (!(x)) { fatal("assertion failed line %d file " \
__FILE__,__LINE__); } } while(0)
/* List-manipulation functions */
extern list_t *list_new(void);
-extern int32_t list_length(list_t *a);
+extern int32_t list_length(const list_t *a);
extern list_t *list_append(list_t *a, item_t *i);
extern list_t *list_append_list(list_t *a, list_t *b);
/* Returns an item from the list (index starts at 0), or NULL */
must start by memsetting it with FILLZERO, or some
equivalent. */
struct comm_if *comm;
- struct sockaddr_in sin;
+ union iaddr ia;
};
/* Return True if the packet was processed, and shouldn't be passed to