Code cleanup
This commit is contained in:
19
src/ip.h
19
src/ip.h
@@ -10,16 +10,17 @@ struct ip_common {
|
|||||||
uint16_t size;
|
uint16_t size;
|
||||||
};
|
};
|
||||||
|
|
||||||
_pure_
|
_pure_ static inline uint8_t
|
||||||
static inline uint8_t ip_get_version (const uint8_t *data, size_t size)
|
ip_get_version(const uint8_t *data, size_t size)
|
||||||
{
|
{
|
||||||
if (size<20)
|
if (size < 20)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return data[0]>>4;
|
return data[0] >> 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int ip_get_common (struct ip_common *ic, const uint8_t *data, size_t size)
|
static inline int
|
||||||
|
ip_get_common(struct ip_common *ic, const uint8_t *data, size_t size)
|
||||||
{
|
{
|
||||||
ic->version = ip_get_version(data, size);
|
ic->version = ip_get_version(data, size);
|
||||||
|
|
||||||
@@ -27,14 +28,14 @@ static inline int ip_get_common (struct ip_common *ic, const uint8_t *data, size
|
|||||||
case 4:
|
case 4:
|
||||||
ic->tc = data[1];
|
ic->tc = data[1];
|
||||||
ic->proto = data[9];
|
ic->proto = data[9];
|
||||||
ic->hdr_size = (data[0]&0xF)<<2;
|
ic->hdr_size = (data[0] & 0xF) << 2;
|
||||||
ic->size = ((data[2]<<8)|data[3]);
|
ic->size = ((data[2] << 8) | data[3]);
|
||||||
return 0;
|
return 0;
|
||||||
case 6:
|
case 6:
|
||||||
ic->tc = ((data[0]&0xF)<<4)|(data[1]>>4);
|
ic->tc = ((data[0] & 0xF) << 4) | (data[1] >> 4);
|
||||||
ic->proto = data[6];
|
ic->proto = data[6];
|
||||||
ic->hdr_size = 40;
|
ic->hdr_size = 40;
|
||||||
ic->size = ((data[4]<<8)|data[5])+40;
|
ic->size = ((data[4] << 8) | data[5]) + 40;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -386,8 +386,8 @@ main(int argc, char **argv)
|
|||||||
size_t size = 0;
|
size_t size = 0;
|
||||||
|
|
||||||
while (sizeof(buf) - size >= gt.mtu) {
|
while (sizeof(buf) - size >= gt.mtu) {
|
||||||
const ssize_t r = tun_read(tun_fd, &buf[size],
|
const int r = tun_read(tun_fd, &buf[size],
|
||||||
sizeof(buf) - size);
|
sizeof(buf) - size);
|
||||||
|
|
||||||
if (r <= 0 || r > gt.mtu)
|
if (r <= 0 || r > gt.mtu)
|
||||||
break;
|
break;
|
||||||
|
|||||||
28
src/str.h
28
src/str.h
@@ -2,14 +2,15 @@
|
|||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
static inline size_t str_cpy (char *restrict dst, const char *restrict src, size_t len)
|
static inline size_t
|
||||||
|
str_cpy(char *restrict dst, const char *restrict src, size_t len)
|
||||||
{
|
{
|
||||||
if (!dst || !src)
|
if (!dst || !src)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
for (i=0; i<len && src[i]; i++)
|
for (i = 0; i < len && src[i]; i++)
|
||||||
dst[i] = src[i];
|
dst[i] = src[i];
|
||||||
|
|
||||||
dst[i] = 0;
|
dst[i] = 0;
|
||||||
@@ -17,29 +18,29 @@ static inline size_t str_cpy (char *restrict dst, const char *restrict src, size
|
|||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
||||||
_pure_
|
_pure_ static inline int
|
||||||
static inline int str_empty (const char *restrict str)
|
str_empty(const char *restrict str)
|
||||||
{
|
{
|
||||||
return !str || !str[0];
|
return !str || !str[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
_pure_
|
_pure_ static inline size_t
|
||||||
static inline size_t str_cmp (const char *restrict sa, const char *restrict sb)
|
str_cmp(const char *restrict sa, const char *restrict sb)
|
||||||
{
|
{
|
||||||
if (!sa || !sb)
|
if (!sa || !sb)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
|
|
||||||
while (sa[i]==sb[i])
|
while (sa[i] == sb[i])
|
||||||
if (!sa[i++])
|
if (!sa[i++])
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return i+1;
|
return i + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
_pure_
|
_pure_ static inline size_t
|
||||||
static inline size_t str_len (const char *restrict str)
|
str_len(const char *restrict str)
|
||||||
{
|
{
|
||||||
if (!str)
|
if (!str)
|
||||||
return 0;
|
return 0;
|
||||||
@@ -47,11 +48,12 @@ static inline size_t str_len (const char *restrict str)
|
|||||||
return strlen(str);
|
return strlen(str);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline char *str_cat (const char **strs, size_t count)
|
static inline char *
|
||||||
|
str_cat(const char **strs, size_t count)
|
||||||
{
|
{
|
||||||
size_t size = 1;
|
size_t size = 1;
|
||||||
|
|
||||||
for (size_t i=0; i<count; i++)
|
for (size_t i = 0; i < count; i++)
|
||||||
size += str_len(strs[i]);
|
size += str_len(strs[i]);
|
||||||
|
|
||||||
char *str = malloc(size);
|
char *str = malloc(size);
|
||||||
@@ -61,7 +63,7 @@ static inline char *str_cat (const char **strs, size_t count)
|
|||||||
|
|
||||||
char *p = str;
|
char *p = str;
|
||||||
|
|
||||||
for (size_t i=0; i<count; i++) {
|
for (size_t i = 0; i < count; i++) {
|
||||||
size_t len = str_len(strs[i]);
|
size_t len = str_len(strs[i]);
|
||||||
memcpy(p, strs[i], len);
|
memcpy(p, strs[i], len);
|
||||||
p += len;
|
p += len;
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ tun_create(char *dev_name, char **ret_name)
|
|||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t
|
int
|
||||||
tun_read(int fd, void *data, size_t size)
|
tun_read(int fd, void *data, size_t size)
|
||||||
{
|
{
|
||||||
if (!size)
|
if (!size)
|
||||||
@@ -192,7 +192,7 @@ tun_read(int fd, void *data, size_t size)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
ssize_t
|
int
|
||||||
tun_write(int fd, const void *data, size_t size)
|
tun_write(int fd, const void *data, size_t size)
|
||||||
{
|
{
|
||||||
if (!size)
|
if (!size)
|
||||||
|
|||||||
10
src/tun.h
10
src/tun.h
@@ -1,8 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <unistd.h>
|
int tun_create (char *, char **);
|
||||||
|
int tun_read (int, void *, size_t);
|
||||||
int tun_create (char *, char **);
|
int tun_write (int, const void *, size_t);
|
||||||
ssize_t tun_read (int, void *, size_t);
|
int tun_set_mtu (char *, int);
|
||||||
ssize_t tun_write (int, const void *, size_t);
|
|
||||||
int tun_set_mtu (char *, int);
|
|
||||||
|
|||||||
Reference in New Issue
Block a user