From 2772839ecb128f05b5a0c55f1d5a96c77bf0dfdb Mon Sep 17 00:00:00 2001 From: Asias He Date: Wed, 29 Jun 2011 16:47:22 +0800 Subject: [PATCH] kvm tools: Add helpers to test whether SYN or FIN bit is set. This patch adds too helpers uip_tcp_is_syn(), uip_tcp_is_fin() to check if SYN and FIN bit is set. Signed-off-by: Asias He Signed-off-by: Pekka Enberg --- tools/kvm/include/kvm/uip.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tools/kvm/include/kvm/uip.h b/tools/kvm/include/kvm/uip.h index a3fd1b071a87..558568062dcb 100644 --- a/tools/kvm/include/kvm/uip.h +++ b/tools/kvm/include/kvm/uip.h @@ -18,6 +18,13 @@ #define UIP_IP_TTL 0X40 #define UIP_IP_P_UDP 0X11 +#define UIP_TCP_FLAG_FIN 1 +#define UIP_TCP_FLAG_SYN 2 +#define UIP_TCP_FLAG_RST 4 +#define UIP_TCP_FLAG_PSH 8 +#define UIP_TCP_FLAG_ACK 16 +#define UIP_TCP_FLAG_URG 32 + /* * IP package maxium len == 64 KBytes * IP header == 20 Bytes @@ -227,6 +234,16 @@ static inline u8 *uip_tcp_payload(struct uip_tcp *tcp) return (u8 *)&tcp->sport + uip_tcp_hdrlen(tcp); } +static inline bool uip_tcp_is_syn(struct uip_tcp *tcp) +{ + return (tcp->flg & UIP_TCP_FLAG_SYN) != 0; +} + +static inline bool uip_tcp_is_fin(struct uip_tcp *tcp) +{ + return (tcp->flg & UIP_TCP_FLAG_FIN) != 0; +} + static inline u16 uip_eth_hdrlen(struct uip_eth *eth) { return sizeof(*eth); -- 2.39.5