Increase includes reusability and consistency

This commit is contained in:
Hamish Coleman 2022-04-16 11:43:19 +01:00
parent 7590ed51d5
commit 9728a36a56
2 changed files with 33 additions and 29 deletions

View File

@ -16,6 +16,9 @@
* *
*/ */
#ifndef _N2N_DEFINE_H_
#define _N2N_DEFINE_H_
/* N2N packet header indicators. */ /* N2N packet header indicators. */
#define MSG_TYPE_REGISTER 1 #define MSG_TYPE_REGISTER 1
#define MSG_TYPE_DEREGISTER 2 #define MSG_TYPE_DEREGISTER 2
@ -219,3 +222,5 @@ enum skip_add {SN_ADD = 0, SN_ADD_SKIP = 1, SN_ADD_ADDED = 2};
#ifndef min #ifndef min
#define min(a, b) (((a) >(b)) ? (b) : (a)) #define min(a, b) (((a) >(b)) ? (b) : (a))
#endif #endif
#endif

View File

@ -19,6 +19,10 @@
#ifndef _N2N_TYPEDEFS_H_ #ifndef _N2N_TYPEDEFS_H_
#define _N2N_TYPEDEFS_H_ #define _N2N_TYPEDEFS_H_
#include <stdint.h> // for uint8_t and friends
#include <arpa/inet.h> // for in_addr_t
#include <uthash.h>
#include <n2n_define.h>
typedef uint8_t n2n_community_t[N2N_COMMUNITY_SIZE]; typedef uint8_t n2n_community_t[N2N_COMMUNITY_SIZE];
typedef uint8_t n2n_private_public_key_t[N2N_PRIVATE_PUBLIC_KEY_SIZE]; typedef uint8_t n2n_private_public_key_t[N2N_PRIVATE_PUBLIC_KEY_SIZE];
@ -38,11 +42,6 @@ typedef unsigned int uint32_t;
typedef unsigned short uint16_t; typedef unsigned short uint16_t;
typedef unsigned char uint8_t; typedef unsigned char uint8_t;
/* sys/types.h typedefs (not present in Visual Studio) */
typedef unsigned int u_int32_t;
typedef unsigned short u_int16_t;
typedef unsigned char u_int8_t;
#ifndef __MINGW32__ #ifndef __MINGW32__
typedef int ssize_t; typedef int ssize_t;
#endif #endif
@ -139,45 +138,45 @@ typedef struct ether_hdr ether_hdr_t;
struct n2n_iphdr { struct n2n_iphdr {
#if defined(__LITTLE_ENDIAN__) #if defined(__LITTLE_ENDIAN__)
u_int8_t ihl:4, version:4; uint8_t ihl:4, version:4;
#elif defined(__BIG_ENDIAN__) #elif defined(__BIG_ENDIAN__)
u_int8_t version:4, ihl:4; uint8_t version:4, ihl:4;
#else #else
# error "Byte order must be defined" # error "Byte order must be defined"
#endif #endif
u_int8_t tos; uint8_t tos;
u_int16_t tot_len; uint16_t tot_len;
u_int16_t id; uint16_t id;
u_int16_t frag_off; uint16_t frag_off;
u_int8_t ttl; uint8_t ttl;
u_int8_t protocol; uint8_t protocol;
u_int16_t check; uint16_t check;
u_int32_t saddr; uint32_t saddr;
u_int32_t daddr; uint32_t daddr;
} PACK_STRUCT; } PACK_STRUCT;
struct n2n_tcphdr { struct n2n_tcphdr {
u_int16_t source; uint16_t source;
u_int16_t dest; uint16_t dest;
u_int32_t seq; uint32_t seq;
u_int32_t ack_seq; uint32_t ack_seq;
#if defined(__LITTLE_ENDIAN__) #if defined(__LITTLE_ENDIAN__)
u_int16_t res1:4, doff:4, fin:1, syn:1, rst:1, psh:1, ack:1, urg:1, ece:1, cwr:1; uint16_t res1:4, doff:4, fin:1, syn:1, rst:1, psh:1, ack:1, urg:1, ece:1, cwr:1;
#elif defined(__BIG_ENDIAN__) #elif defined(__BIG_ENDIAN__)
u_int16_t doff:4, res1:4, cwr:1, ece:1, urg:1, ack:1, psh:1, rst:1, syn:1, fin:1; uint16_t doff:4, res1:4, cwr:1, ece:1, urg:1, ack:1, psh:1, rst:1, syn:1, fin:1;
#else #else
# error "Byte order must be defined" # error "Byte order must be defined"
#endif #endif
u_int16_t window; uint16_t window;
u_int16_t check; uint16_t check;
u_int16_t urg_ptr; uint16_t urg_ptr;
} PACK_STRUCT; } PACK_STRUCT;
struct n2n_udphdr { struct n2n_udphdr {
u_int16_t source; uint16_t source;
u_int16_t dest; uint16_t dest;
u_int16_t len; uint16_t len;
u_int16_t check; uint16_t check;
} PACK_STRUCT; } PACK_STRUCT;
#if defined(_MSC_VER) || defined(__MINGW32__) #if defined(_MSC_VER) || defined(__MINGW32__)