diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-04-22 16:52:29 +0200 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-04-22 16:52:29 +0200 |
commit | 8e0608d31d988333ff04f3faaa6e851c0ecdbc6e (patch) | |
tree | b042fc732d7c784d298ed42496f88a2f164f413c /include/libipset/utils.h | |
parent | 1e6e8bd9a62aa7cd72e13db9355badc96df18ee8 (diff) |
Fourth stage to ipset-5
Add new userspace files: include/, lib/ and plus new files in src/.
Diffstat (limited to 'include/libipset/utils.h')
-rw-r--r-- | include/libipset/utils.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/include/libipset/utils.h b/include/libipset/utils.h new file mode 100644 index 0000000..2d12e91 --- /dev/null +++ b/include/libipset/utils.h @@ -0,0 +1,45 @@ +/* Copyright 2007-2010 Jozsef Kadlecsik (kadlec@blackhole.kfki.hu) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef LIBIPSET_UTILS_H +#define LIBIPSET_UTILS_H + +#include <stdbool.h> /* bool */ +#include <string.h> /* strcmp */ +#include <netinet/in.h> /* struct in[6]_addr */ + +/* String equality tests */ +#define STREQ(a,b) (strcmp(a,b) == 0) +#define STRNEQ(a,b,n) (strncmp(a,b,n) == 0) + +/* Stringify tokens */ +#define _STR(c) #c +#define STR(c) _STR(c) + +/* Min/max */ +#define MIN(a, b) (a < b ? a : b) +#define MAX(a, b) (a > b ? a : b) + +#define UNUSED __attribute__ ((unused)) + +static inline void +in4cpy(struct in_addr *dest, const struct in_addr *src) +{ + dest->s_addr = src->s_addr; +} + +static inline void +in6cpy(struct in6_addr *dest, const struct in6_addr *src) +{ + memcpy(dest, src, sizeof(struct in6_addr)); +} + +extern char * ipset_strchr(const char *str, const char *sep); +extern bool ipset_name_match(const char *arg, const char * const name[]); +extern void ipset_shift_argv(int *argc, char *argv[], int from); +extern void ipset_strncpy(char *dst, const char *src, size_t len); + +#endif /* LIBIPSET_UTILS_H */ |