]> rtime.felk.cvut.cz Git - socketcan-devel.git/blobdiff - test/gwtest.c
Remove unused variables detected by -Wunused-but-set-variable ...
[socketcan-devel.git] / test / gwtest.c
index b6f22bb78af90e0e1576bf4ba8dd382c0e47b6be..29afc13dc0d6ad9025b897db7d5aed13d1846cec 100644 (file)
@@ -44,12 +44,9 @@ int addattr_l(struct nlmsghdr *n, int maxlen, int type, const void *data,
        return 0;
 }
 
-#define USE_PACKED_STRUCT
-
 int main(int argc, char **argv)
 {
        int s;
-       int err = 0;
 
        struct {
                struct nlmsghdr n;
@@ -61,17 +58,10 @@ int main(int argc, char **argv)
        struct can_filter filter;
        struct sockaddr_nl nladdr;
 
-#ifdef USE_PACKED_STRUCT
-       struct modattr {
-               struct can_frame cf;
-               __u8 modtype;
-       } __attribute__((packed));
+       struct cgw_frame_mod modmsg;
 
-       struct modattr modmsg;
-#else
-       static struct can_frame modframe;
-       char modbuf[CGW_MODATTR_LEN];
-#endif
+       u_int32_t src = if_nametoindex("vcan2");
+       u_int32_t dst = if_nametoindex("vcan3");
 
        s = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
 
@@ -83,9 +73,11 @@ int main(int argc, char **argv)
        req.n.nlmsg_seq   = 0;
 
        req.r.can_family  = AF_CAN;
-       req.r.src_ifindex = if_nametoindex("vcan2");
-       req.r.dst_ifindex = if_nametoindex("vcan3");
-       req.r.can_txflags = CAN_GW_TXFLAGS_ECHO;
+       req.r.gwtype = CGW_TYPE_CAN_CAN;
+       req.r.flags = CGW_FLAGS_CAN_ECHO;
+
+       addattr_l(&req.n, sizeof(req), CGW_SRC_IF, &src, sizeof(src));
+       addattr_l(&req.n, sizeof(req), CGW_DST_IF, &dst, sizeof(dst));
 
        /* add new attributes here */
 
@@ -94,8 +86,6 @@ int main(int argc, char **argv)
 
        addattr_l(&req.n, sizeof(req), CGW_FILTER, &filter, sizeof(filter));
 
-#ifdef USE_PACKED_STRUCT
-
        if (sizeof(modmsg) != CGW_MODATTR_LEN) {
                printf("Problem with packed msg. Use linear copy instead.\n");
                return 1;
@@ -114,32 +104,13 @@ int main(int argc, char **argv)
        modmsg.modtype = CGW_MOD_DATA;
        addattr_l(&req.n, sizeof(req), CGW_MOD_XOR, &modmsg, CGW_MODATTR_LEN);
 
-#else
-
-       modframe.can_id  = 0x555;
-       modframe.can_dlc = 5;
-       *(unsigned long long *)modframe.data = 0x5555555555555555ULL;
-
-       memcpy(modbuf, &modframe, sizeof(struct can_frame));
-
-       modbuf[sizeof(struct can_frame)] = CGW_MOD_ID;
-       addattr_l(&req.n, sizeof(req), CGW_MOD_SET, modbuf, CGW_MODATTR_LEN);
-
-       modbuf[sizeof(struct can_frame)] = CGW_MOD_DLC;
-       addattr_l(&req.n, sizeof(req), CGW_MOD_AND, modbuf, CGW_MODATTR_LEN);
-
-       modbuf[sizeof(struct can_frame)] = CGW_MOD_DATA;
-       addattr_l(&req.n, sizeof(req), CGW_MOD_XOR, modbuf, CGW_MODATTR_LEN);
-
-#endif
-
        memset(&nladdr, 0, sizeof(nladdr));
        nladdr.nl_family = AF_NETLINK;
        nladdr.nl_pid    = 0;
        nladdr.nl_groups = 0;
 
-       err = sendto(s, &req, req.n.nlmsg_len, 0,
-                    (struct sockaddr*)&nladdr, sizeof(nladdr));
+       sendto(s, &req, req.n.nlmsg_len, 0,
+              (struct sockaddr*)&nladdr, sizeof(nladdr));
 
        perror("netlink says ");
        close(s);