summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@medozas.de>2009-01-27 20:56:23 +0100
committerJan Engelhardt <jengelh@medozas.de>2009-01-30 03:27:42 +0100
commitdacafa55379fd98212031d8c559096c91d7ce93b (patch)
tree9a2e6dd3eda76dbcc22d6c74377889bca7223c41 /include
parent5f2922cfc0bbfbeb878f5c12e9fb3eb602ae5507 (diff)
libxtables: prefix/order - program_name
Split XTABLES_VERSION into xtables and iptables, and encode the xtables soversion into the extensions instead. This makes it possible to upgrade iptables without having to recompile 3rd-party extensions (if the libxtables version matches, of course). Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Diffstat (limited to 'include')
-rw-r--r--include/xtables.h.in13
-rw-r--r--include/xtables/internal.h.in (renamed from include/xtables/internal.h)7
2 files changed, 15 insertions, 5 deletions
diff --git a/include/xtables.h.in b/include/xtables.h.in
index f372d334..e1f9c926 100644
--- a/include/xtables.h.in
+++ b/include/xtables.h.in
@@ -1,6 +1,11 @@
#ifndef _XTABLES_H
#define _XTABLES_H
+/*
+ * Changing any structs/functions may incur a needed change
+ * in libxtables_vcurrent/vage too.
+ */
+
#include <sys/socket.h> /* PF_* */
#include <sys/types.h>
#include <stdbool.h>
@@ -20,10 +25,8 @@
#define IPPROTO_UDPLITE 136
#endif
-#define XTABLES_VERSION "@PACKAGE_VERSION@"
-#define XTABLES_VERSION_CODE (0x10000 * @XTABLES_VERSION_MAJOR@ + 0x100 * @XTABLES_VERSION_MINOR@ + @XTABLES_VERSION_PATCH@)
-
-#define XTABLES_API_VERSION(x,y,z) (0x10000*(x) + 0x100*(y) + z)
+#define XTABLES_VERSION "libxtables.so.@libxtables_vmajor@"
+#define XTABLES_VERSION_CODE @libxtables_vmajor@
struct in_addr;
@@ -155,6 +158,7 @@ enum xtables_tryload {
XTF_LOAD_MUST_SUCCEED,
};
+extern const char *xtables_program_name;
extern const char *xtables_modprobe_program;
extern struct xtables_match *xtables_matches;
extern struct xtables_target *xtables_targets;
@@ -202,7 +206,6 @@ int check_inverse(const char option[], int *invert, int *my_optind, int argc);
void exit_error(enum exittype, const char *, ...)__attribute__((noreturn,
format(printf,2,3)));
extern void param_act(unsigned int, const char *, ...);
-extern const char *program_name, *program_version;
extern const char *ipaddr_to_numeric(const struct in_addr *);
extern const char *ipaddr_to_anyname(const struct in_addr *);
diff --git a/include/xtables/internal.h b/include/xtables/internal.h.in
index 21c4401f..21438290 100644
--- a/include/xtables/internal.h
+++ b/include/xtables/internal.h.in
@@ -1,6 +1,8 @@
#ifndef _XTABLES_INTERNAL_H
#define _XTABLES_INTERNAL_H 1
+#define IPTABLES_VERSION "@PACKAGE_VERSION@"
+
#ifndef XT_LIB_DIR
# define XT_LIB_DIR "/usr/local/lib/iptables"
#endif
@@ -29,6 +31,11 @@ struct afinfo {
/* This is decleared in ip[6]tables.c */
extern struct afinfo afinfo;
+/**
+ * Program's own name and version.
+ */
+extern const char *program_name, *program_version;
+
extern void _init(void);
#endif /* _XTABLES_INTERNAL_H */