1 #ifndef _NET_ESP_H 2 #define _NET_ESP_H 3 4 #include <linux/skbuff.h> 5 6 struct ip_esp_hdr; 7 8 static inline struct ip_esp_hdr *ip_esp_hdr(const struct sk_buff *skb) 9 { 10 return (struct ip_esp_hdr *)skb_transport_header(skb); 11 } 12 13 struct esp_info { 14 struct ip_esp_hdr *esph; 15 __be64 seqno; 16 int tfclen; 17 int tailen; 18 int plen; 19 int clen; 20 int len; 21 int nfrags; 22 __u8 proto; 23 bool inplace; 24 }; 25 26 int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); 27 int esp_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); 28 int esp_input_done2(struct sk_buff *skb, int err); 29 int esp6_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); 30 int esp6_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); 31 int esp6_input_done2(struct sk_buff *skb, int err); 32 #endif 33