From 3f4a47abaee939aa36160f5c75a68991bb5b843a Mon Sep 17 00:00:00 2001 From: Bart De Schuymer Date: Fri, 14 Jun 2002 21:56:35 +0000 Subject: Change get_table return type. --- userspace/ebtables2/communication.c | 9 ++++----- userspace/ebtables2/include/ebtables_u.h | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/userspace/ebtables2/communication.c b/userspace/ebtables2/communication.c index 54bdf01..a919e7b 100644 --- a/userspace/ebtables2/communication.c +++ b/userspace/ebtables2/communication.c @@ -368,7 +368,7 @@ ebt_translate_entry(struct ebt_entry *e, unsigned int *hook, int *n, int *cnt, } // talk with kernel to receive the kernel's table -void get_table(struct ebt_u_replace *u_repl) +int get_table(struct ebt_u_replace *u_repl) { int i, j, k, hook; socklen_t optlen; @@ -380,9 +380,7 @@ void get_table(struct ebt_u_replace *u_repl) optlen = sizeof(struct ebt_replace); strcpy(repl.name, u_repl->name); if (getsockopt(sockfd, IPPROTO_IP, EBT_SO_GET_INFO, &repl, &optlen)) - print_error("The %s table is not supported by the kernel," - " consider recompiling your kernel or try insmod ebt_%s", - repl.name, repl.name); + return -1; if ( !(repl.entries = (char *) malloc(repl.entries_size)) ) print_memory(); @@ -418,6 +416,7 @@ void get_table(struct ebt_u_replace *u_repl) &hook, &i, &j, &k, &u_e, u_repl, u_repl->valid_hooks); if (k != u_repl->nentries) print_bug("Wrong total nentries"); + return 0; } void get_dbinfo(struct brdb_dbinfo *nr) @@ -425,7 +424,7 @@ void get_dbinfo(struct brdb_dbinfo *nr) socklen_t optlen = sizeof(struct brdb_dbinfo); get_sockfd(); - + if (getsockopt(sockfd, IPPROTO_IP, BRDB_SO_GET_DBINFO, nr, &optlen)) print_error("Sorry, br_db code probably not in kernel, " "try insmod br_db"); diff --git a/userspace/ebtables2/include/ebtables_u.h b/userspace/ebtables2/include/ebtables_u.h index 18b12b0..6b23fa3 100644 --- a/userspace/ebtables2/include/ebtables_u.h +++ b/userspace/ebtables2/include/ebtables_u.h @@ -175,7 +175,7 @@ void register_table(struct ebt_u_table *); void register_match(struct ebt_u_match *); void register_watcher(struct ebt_u_watcher *); void register_target(struct ebt_u_target *t); -void get_table(struct ebt_u_replace *repl); +int get_table(struct ebt_u_replace *repl); struct ebt_u_target *find_target(const char *name); struct ebt_u_match *find_match(const char *name); struct ebt_u_watcher *find_watcher(const char *name); -- cgit v1.2.3