From 4059fe10c18e7ea7309198741f18cf71c6afc911 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 25 Jun 2014 10:00:25 +0200 Subject: [PATCH] mdns: remove dependencies on asm/byteorder.h, fix constant endian swap initialization Signed-off-by: Felix Fietkau --- cache.c | 1 - dns.c | 29 +++++++++++++---------------- interface.c | 7 +++---- main.c | 1 - 4 files changed, 16 insertions(+), 22 deletions(-) diff --git a/cache.c b/cache.c index 927b9cf..adfc815 100644 --- a/cache.c +++ b/cache.c @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include diff --git a/dns.c b/dns.c index fc93f4a..ebef9ce 100644 --- a/dns.c +++ b/dns.c @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -69,12 +68,8 @@ dns_type_string(uint16_t type) void dns_send_question(struct interface *iface, const char *question, int type) { - static struct dns_header h = { - .questions = cpu_to_be16(1), - }; - static struct dns_question q = { - .class = cpu_to_be16(1), - }; + static struct dns_header h; + static struct dns_question q; static struct iovec iov[] = { { .iov_base = &h, @@ -90,7 +85,9 @@ dns_send_question(struct interface *iface, const char *question, int type) }; int len; - q.type = __cpu_to_be16(type); + h.questions = cpu_to_be16(1); + q.class = cpu_to_be16(1); + q.type = cpu_to_be16(type); len = dn_comp(question, (void *) name_buffer, sizeof(name_buffer), NULL, NULL); if (len < 1) @@ -152,8 +149,8 @@ dns_send_answer(struct interface *iface, const char *answer) if (!dns_answer_cnt) return; - h.answers = __cpu_to_be16(dns_answer_cnt); - h.flags = __cpu_to_be16(0x8400); + h.answers = cpu_to_be16(dns_answer_cnt); + h.flags = cpu_to_be16(0x8400); iov = alloca(sizeof(struct iovec) * ((dns_answer_cnt * 2) + 1)); @@ -216,7 +213,7 @@ dns_consume_header(uint8_t **data, int *len) return NULL; while (endianess--) { - *swap = __be16_to_cpu(*swap); + *swap = be16_to_cpu(*swap); swap++; } @@ -237,7 +234,7 @@ dns_consume_question(uint8_t **data, int *len) return NULL; while (endianess--) { - *swap = __be16_to_cpu(*swap); + *swap = be16_to_cpu(*swap); swap++; } @@ -255,10 +252,10 @@ dns_consume_answer(uint8_t **data, int *len) if (*len < sizeof(struct dns_answer)) return NULL; - a->type = __be16_to_cpu(a->type); - a->class = __be16_to_cpu(a->class); - a->ttl = __be32_to_cpu(a->ttl); - a->rdlength = __be16_to_cpu(a->rdlength); + a->type = be16_to_cpu(a->type); + a->class = be16_to_cpu(a->class); + a->ttl = be32_to_cpu(a->ttl); + a->rdlength = be16_to_cpu(a->rdlength); *len -= sizeof(struct dns_answer); *data += sizeof(struct dns_answer); diff --git a/interface.c b/interface.c index bcd6f13..712d3c5 100644 --- a/interface.c +++ b/interface.c @@ -40,10 +40,7 @@ int interface_send_packet(struct interface *iface, struct iovec *iov, int iov_len) { static size_t cmsg_data[( CMSG_SPACE(sizeof(struct in_pktinfo)) / sizeof(size_t)) + 1]; - static struct sockaddr_in a = { - .sin_family = AF_INET, - .sin_port = htons(MCAST_PORT), - }; + static struct sockaddr_in a; static struct msghdr m = { .msg_name = (struct sockaddr *) &a, .msg_namelen = sizeof(a), @@ -54,6 +51,8 @@ interface_send_packet(struct interface *iface, struct iovec *iov, int iov_len) struct cmsghdr *cmsg; int fd = iface->fd.fd; + a.sin_family = AF_INET; + a.sin_port = htons(MCAST_PORT); m.msg_iov = iov; m.msg_iovlen = iov_len; diff --git a/main.c b/main.c index 11eb42d..383eb9c 100644 --- a/main.c +++ b/main.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #include -- 2.11.0