Kill off some unused code that was wasting several k, as noticed by
authorEric Andersen <andersen@codepoet.org>
Fri, 3 Mar 2006 18:37:39 +0000 (18:37 -0000)
committerEric Andersen <andersen@codepoet.org>
Fri, 3 Mar 2006 18:37:39 +0000 (18:37 -0000)
Denis Vlasenko when building with  -ffunction-sections -fdata-sections

networking/libiproute/libnetlink.c
networking/libiproute/libnetlink.h
networking/libiproute/rt_names.c
networking/libiproute/rt_names.h

index efbb6f104d1df4247aec3091e29af0798c0236ff..ad5bcd70f4c91a6ef76406cb79ab341c54c61886 100644 (file)
@@ -319,134 +319,6 @@ int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer,
        }
 }
 
-int rtnl_listen(struct rtnl_handle *rtnl,
-             int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
-             void *jarg)
-{
-       int status;
-       struct nlmsghdr *h;
-       struct sockaddr_nl nladdr;
-       struct iovec iov;
-       char   buf[8192];
-       struct msghdr msg = {
-               (void*)&nladdr, sizeof(nladdr),
-               &iov,   1,
-               NULL,   0,
-               0
-       };
-
-       memset(&nladdr, 0, sizeof(nladdr));
-       nladdr.nl_family = AF_NETLINK;
-       nladdr.nl_pid = 0;
-       nladdr.nl_groups = 0;
-
-
-       iov.iov_base = buf;
-
-       while (1) {
-               iov.iov_len = sizeof(buf);
-               status = recvmsg(rtnl->fd, &msg, 0);
-
-               if (status < 0) {
-                       if (errno == EINTR)
-                               continue;
-                       bb_perror_msg("OVERRUN");
-                       continue;
-               }
-               if (status == 0) {
-                       bb_error_msg("EOF on netlink");
-                       return -1;
-               }
-               if (msg.msg_namelen != sizeof(nladdr)) {
-                       bb_error_msg_and_die("Sender address length == %d", msg.msg_namelen);
-               }
-               for (h = (struct nlmsghdr*)buf; status >= sizeof(*h); ) {
-                       int err;
-                       int len = h->nlmsg_len;
-                       int l = len - sizeof(*h);
-
-                       if (l<0 || len>status) {
-                               if (msg.msg_flags & MSG_TRUNC) {
-                                       bb_error_msg("Truncated message");
-                                       return -1;
-                               }
-                               bb_error_msg_and_die("!!!malformed message: len=%d", len);
-                       }
-
-                       err = handler(&nladdr, h, jarg);
-                       if (err < 0) {
-                               return err;
-                       }
-
-                       status -= NLMSG_ALIGN(len);
-                       h = (struct nlmsghdr*)((char*)h + NLMSG_ALIGN(len));
-               }
-               if (msg.msg_flags & MSG_TRUNC) {
-                       bb_error_msg("Message truncated");
-                       continue;
-               }
-               if (status) {
-                       bb_error_msg_and_die("!!!Remnant of size %d", status);
-               }
-       }
-}
-
-int rtnl_from_file(FILE *rtnl,
-             int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
-             void *jarg)
-{
-       int status;
-       struct sockaddr_nl nladdr;
-       char   buf[8192];
-       struct nlmsghdr *h = (void*)buf;
-
-       memset(&nladdr, 0, sizeof(nladdr));
-       nladdr.nl_family = AF_NETLINK;
-       nladdr.nl_pid = 0;
-       nladdr.nl_groups = 0;
-
-       while (1) {
-               int err, len, type;
-               int l;
-
-               status = fread(&buf, 1, sizeof(*h), rtnl);
-
-               if (status < 0) {
-                       if (errno == EINTR)
-                               continue;
-                       bb_perror_msg("rtnl_from_file: fread");
-                       return -1;
-               }
-               if (status == 0)
-                       return 0;
-
-               len = h->nlmsg_len;
-               type= h->nlmsg_type;
-               l = len - sizeof(*h);
-
-               if (l<0 || len>sizeof(buf)) {
-                       bb_error_msg("!!!malformed message: len=%d @%lu",
-                               len, ftell(rtnl));
-                       return -1;
-               }
-
-               status = fread(NLMSG_DATA(h), 1, NLMSG_ALIGN(l), rtnl);
-
-               if (status < 0) {
-                       bb_perror_msg("rtnl_from_file: fread");
-                       return -1;
-               }
-               if (status < l) {
-                       bb_error_msg("rtnl-from_file: truncated message");
-                       return -1;
-               }
-
-               err = handler(&nladdr, h, jarg);
-               if (err < 0)
-                       return err;
-       }
-}
-
 int addattr32(struct nlmsghdr *n, int maxlen, int type, __u32 data)
 {
        int len = RTA_LENGTH(4);
index 45d3ad2bca3acba6e91753ff1ee7e7238be73746..c8a8b783c4c02d1bd5e9a9d23d51d91c84ce37c6 100644 (file)
@@ -37,10 +37,6 @@ extern int rta_addattr_l(struct rtattr *rta, int maxlen, int type, void *data, i
 
 extern int parse_rtattr(struct rtattr *tb[], int max, struct rtattr *rta, int len);
 
-extern int rtnl_listen(struct rtnl_handle *, int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
-                      void *jarg);
-extern int rtnl_from_file(FILE *, int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
-                      void *jarg);
 
 #endif /* __LIBNETLINK_H__ */
 
index 5206c4b40906ec574bdf15382297be6b6ff08971..9d47491bcac6869ea33411359843d1862b0dbc02 100644 (file)
@@ -207,23 +207,6 @@ static void rtnl_rtrealm_initialize(void)
                            rtnl_rtrealm_tab, 256);
 }
 
-const char * rtnl_rtrealm_n2a(int id, char *buf, int len)
-{
-       if (id<0 || id>=256) {
-               snprintf(buf, len, "%d", id);
-               return buf;
-       }
-       if (!rtnl_rtrealm_tab[id]) {
-               if (!rtnl_rtrealm_init)
-                       rtnl_rtrealm_initialize();
-       }
-       if (rtnl_rtrealm_tab[id])
-               return rtnl_rtrealm_tab[id];
-       snprintf(buf, len, "%d", id);
-       return buf;
-}
-
-
 int rtnl_rtrealm_a2n(uint32_t *id, char *arg)
 {
        static char *cache = NULL;
@@ -258,70 +241,6 @@ int rtnl_rtrealm_a2n(uint32_t *id, char *arg)
 
 
 
-static char * rtnl_rttable_tab[256] = {
-       "unspec",
-};
-
-static int rtnl_rttable_init;
-
-static void rtnl_rttable_initialize(void)
-{
-       rtnl_rttable_init = 1;
-       rtnl_rttable_tab[255] = "local";
-       rtnl_rttable_tab[254] = "main";
-       rtnl_tab_initialize("/etc/iproute2/rt_tables",
-                           rtnl_rttable_tab, 256);
-}
-
-const char * rtnl_rttable_n2a(int id, char *buf, int len)
-{
-       if (id<0 || id>=256) {
-               snprintf(buf, len, "%d", id);
-               return buf;
-       }
-       if (!rtnl_rttable_tab[id]) {
-               if (!rtnl_rttable_init)
-                       rtnl_rttable_initialize();
-       }
-       if (rtnl_rttable_tab[id])
-               return rtnl_rttable_tab[id];
-       snprintf(buf, len, "%d", id);
-       return buf;
-}
-
-int rtnl_rttable_a2n(uint32_t *id, char *arg)
-{
-       static char *cache = NULL;
-       static unsigned long res;
-       char *end;
-       int i;
-
-       if (cache && strcmp(cache, arg) == 0) {
-               *id = res;
-               return 0;
-       }
-
-       if (!rtnl_rttable_init)
-               rtnl_rttable_initialize();
-
-       for (i=0; i<256; i++) {
-               if (rtnl_rttable_tab[i] &&
-                   strcmp(rtnl_rttable_tab[i], arg) == 0) {
-                       cache = rtnl_rttable_tab[i];
-                       res = i;
-                       *id = res;
-                       return 0;
-               }
-       }
-
-       i = strtoul(arg, &end, 0);
-       if (!end || end == arg || *end || i > 255)
-               return -1;
-       *id = i;
-       return 0;
-}
-
-
 static char * rtnl_rtdsfield_tab[256] = {
        "0",
 };
index ed090a13b8b19bf8306dea0451c07ad42662c772..deb5aa6f43fc5843ec59c89d26f6c42875086060 100644 (file)
@@ -5,12 +5,9 @@
 
 extern const char* rtnl_rtprot_n2a(int id, char *buf, int len);
 extern const char* rtnl_rtscope_n2a(int id, char *buf, int len);
-extern const char* rtnl_rttable_n2a(int id, char *buf, int len);
-extern const char* rtnl_rtrealm_n2a(int id, char *buf, int len);
 extern const char* rtnl_dsfield_n2a(int id, char *buf, int len);
 extern int rtnl_rtprot_a2n(uint32_t *id, char *arg);
 extern int rtnl_rtscope_a2n(uint32_t *id, char *arg);
-extern int rtnl_rttable_a2n(uint32_t *id, char *arg);
 extern int rtnl_rtrealm_a2n(uint32_t *id, char *arg);
 extern int rtnl_dsfield_a2n(uint32_t *id, char *arg);