summaryrefslogtreecommitdiffstats
path: root/translate.c
diff options
context:
space:
mode:
authorBrian Carlstrom <bdc@google.com>2014-02-24 20:03:01 -0800
committerBrian Carlstrom <bdc@google.com>2014-02-24 21:14:51 -0800
commitfcac410fa15613873a07143ccd46470b869346a3 (patch)
treea76ca896fc7cb5801acf16edfcfd7f3bb6962014 /translate.c
parentf3beefc96a5a4f295562f60d648bd6e795980a10 (diff)
downloadandroid_external_android-clat-fcac410fa15613873a07143ccd46470b869346a3.tar.gz
android_external_android-clat-fcac410fa15613873a07143ccd46470b869346a3.tar.bz2
android_external_android-clat-fcac410fa15613873a07143ccd46470b869346a3.zip
Use uint8_t not char for binary data to avoid -Wall -Werror issues on x86 builds
Change-Id: Ib61e67f15360c27c3ebf61f870a9482217c52357
Diffstat (limited to 'translate.c')
-rw-r--r--translate.c37
1 files changed, 20 insertions, 17 deletions
diff --git a/translate.c b/translate.c
index 7585092..b357057 100644
--- a/translate.c
+++ b/translate.c
@@ -225,7 +225,7 @@ uint8_t parse_frag_header(const struct ip6_frag *frag_hdr, struct iphdr *ip_targ
* returns: the highest position in the output clat_packet that's filled in
*/
int icmp_to_icmp6(clat_packet out, int pos, const struct icmphdr *icmp, uint32_t checksum,
- const char *payload, size_t payload_size) {
+ const uint8_t *payload, size_t payload_size) {
struct icmp6_hdr *icmp6_targ = out[pos].iov_base;
uint8_t icmp6_type;
int clat_packet_len;
@@ -256,7 +256,7 @@ int icmp_to_icmp6(clat_packet out, int pos, const struct icmphdr *icmp, uint32_t
// Ping packet.
icmp6_targ->icmp6_id = icmp->un.echo.id;
icmp6_targ->icmp6_seq = icmp->un.echo.sequence;
- out[CLAT_POS_PAYLOAD].iov_base = (char *) payload;
+ out[CLAT_POS_PAYLOAD].iov_base = (uint8_t *) payload;
out[CLAT_POS_PAYLOAD].iov_len = payload_size;
clat_packet_len = CLAT_POS_PAYLOAD + 1;
} else {
@@ -279,7 +279,7 @@ int icmp_to_icmp6(clat_packet out, int pos, const struct icmphdr *icmp, uint32_t
* returns: the highest position in the output clat_packet that's filled in
*/
int icmp6_to_icmp(clat_packet out, int pos, const struct icmp6_hdr *icmp6,
- const char *payload, size_t payload_size) {
+ const uint8_t *payload, size_t payload_size) {
struct icmphdr *icmp_targ = out[pos].iov_base;
uint8_t icmp_type;
int clat_packet_len;
@@ -302,7 +302,7 @@ int icmp6_to_icmp(clat_packet out, int pos, const struct icmp6_hdr *icmp6,
// Ping packet.
icmp_targ->un.echo.id = icmp6->icmp6_id;
icmp_targ->un.echo.sequence = icmp6->icmp6_seq;
- out[CLAT_POS_PAYLOAD].iov_base = (char *) payload;
+ out[CLAT_POS_PAYLOAD].iov_base = (uint8_t *) payload;
out[CLAT_POS_PAYLOAD].iov_len = payload_size;
clat_packet_len = CLAT_POS_PAYLOAD + 1;
} else {
@@ -324,9 +324,10 @@ int icmp6_to_icmp(clat_packet out, int pos, const struct icmp6_hdr *icmp6,
* len - size of ip payload
* returns: the highest position in the output clat_packet that's filled in
*/
-int generic_packet(clat_packet out, int pos, const char *payload, size_t len) {
+int generic_packet(clat_packet out, int pos,
+ const uint8_t *payload, size_t len) {
out[pos].iov_len = 0;
- out[CLAT_POS_PAYLOAD].iov_base = (char *) payload;
+ out[CLAT_POS_PAYLOAD].iov_base = (uint8_t *) payload;
out[CLAT_POS_PAYLOAD].iov_len = len;
return CLAT_POS_PAYLOAD + 1;
@@ -342,7 +343,7 @@ int generic_packet(clat_packet out, int pos, const char *payload, size_t len) {
*/
int udp_packet(clat_packet out, int pos, const struct udphdr *udp,
uint32_t old_sum, uint32_t new_sum, size_t len) {
- const char *payload;
+ const uint8_t *payload;
size_t payload_size;
if(len < sizeof(struct udphdr)) {
@@ -350,7 +351,7 @@ int udp_packet(clat_packet out, int pos, const struct udphdr *udp,
return 0;
}
- payload = (const char *) (udp + 1);
+ payload = (const uint8_t *) (udp + 1);
payload_size = len - sizeof(struct udphdr);
return udp_translate(out, pos, udp, old_sum, new_sum, payload, payload_size);
@@ -366,7 +367,7 @@ int udp_packet(clat_packet out, int pos, const struct udphdr *udp,
*/
int tcp_packet(clat_packet out, int pos, const struct tcphdr *tcp,
uint32_t old_sum, uint32_t new_sum, size_t len) {
- const char *payload;
+ const uint8_t *payload;
size_t payload_size, header_size;
if(len < sizeof(struct tcphdr)) {
@@ -385,7 +386,7 @@ int tcp_packet(clat_packet out, int pos, const struct tcphdr *tcp,
}
header_size = tcp->doff * 4;
- payload = ((const char *) tcp) + header_size;
+ payload = ((const uint8_t *) tcp) + header_size;
payload_size = len - header_size;
return tcp_translate(out, pos, tcp, header_size, old_sum, new_sum, payload, payload_size);
@@ -401,14 +402,15 @@ int tcp_packet(clat_packet out, int pos, const struct tcphdr *tcp,
* payload_size - size of payload
* returns: the highest position in the output clat_packet that's filled in
*/
-int udp_translate(clat_packet out, int pos, const struct udphdr *udp, uint32_t old_sum,
- uint32_t new_sum, const char *payload, size_t payload_size) {
+int udp_translate(clat_packet out, int pos, const struct udphdr *udp,
+ uint32_t old_sum, uint32_t new_sum,
+ const uint8_t *payload, size_t payload_size) {
struct udphdr *udp_targ = out[pos].iov_base;
memcpy(udp_targ, udp, sizeof(struct udphdr));
out[pos].iov_len = sizeof(struct udphdr);
- out[CLAT_POS_PAYLOAD].iov_base = (char *) payload;
+ out[CLAT_POS_PAYLOAD].iov_base = (uint8_t *) payload;
out[CLAT_POS_PAYLOAD].iov_len = payload_size;
if (udp_targ->check) {
@@ -442,7 +444,8 @@ int udp_translate(clat_packet out, int pos, const struct udphdr *udp, uint32_t o
* returns: the highest position in the output clat_packet that's filled in
*/
int tcp_translate(clat_packet out, int pos, const struct tcphdr *tcp, size_t header_size,
- uint32_t old_sum, uint32_t new_sum, const char *payload, size_t payload_size) {
+ uint32_t old_sum, uint32_t new_sum,
+ const uint8_t *payload, size_t payload_size) {
struct tcphdr *tcp_targ = out[pos].iov_base;
out[pos].iov_len = header_size;
@@ -456,7 +459,7 @@ int tcp_translate(clat_packet out, int pos, const struct tcphdr *tcp, size_t hea
memcpy(tcp_targ, tcp, header_size);
- out[CLAT_POS_PAYLOAD].iov_base = (char *)payload;
+ out[CLAT_POS_PAYLOAD].iov_base = (uint8_t *) payload;
out[CLAT_POS_PAYLOAD].iov_len = payload_size;
tcp_targ->check = ip_checksum_adjust(tcp->check, old_sum, new_sum);
@@ -471,8 +474,8 @@ int tcp_translate(clat_packet out, int pos, const struct tcphdr *tcp, size_t hea
* packet - packet
* packetsize - size of packet
*/
-void translate_packet(const struct tun_data *tunnel, struct tun_pi *tun_header, const char *packet,
- size_t packetsize) {
+void translate_packet(const struct tun_data *tunnel, struct tun_pi *tun_header,
+ const uint8_t *packet, size_t packetsize) {
int fd;
int iov_len = 0;