Use uint8_t not char for binary data to avoid -Wall -Werror issues on x86 builds

Change-Id: Ib61e67f15360c27c3ebf61f870a9482217c52357
diff --git a/translate.c b/translate.c
index 7585092..b357057 100644
--- a/translate.c
+++ b/translate.c
@@ -225,7 +225,7 @@
  * 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 @@
     // 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 @@
  * 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 @@
     // 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 @@
  * 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 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 @@
     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 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 @@
   }
 
   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 @@
  * 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 @@
  * 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 @@
 
   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 @@
  * 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;