|  | #ifndef _NET_ESP_H | 
|  | #define _NET_ESP_H | 
|  |  | 
|  | #include <linux/skbuff.h> | 
|  |  | 
|  | struct ip_esp_hdr; | 
|  |  | 
|  | static inline struct ip_esp_hdr *ip_esp_hdr(const struct sk_buff *skb) | 
|  | { | 
|  | return (struct ip_esp_hdr *)skb_transport_header(skb); | 
|  | } | 
|  |  | 
|  | struct esp_info { | 
|  | struct	ip_esp_hdr *esph; | 
|  | __be64	seqno; | 
|  | int	tfclen; | 
|  | int	tailen; | 
|  | int	plen; | 
|  | int	clen; | 
|  | int 	len; | 
|  | int 	nfrags; | 
|  | __u8	proto; | 
|  | bool	inplace; | 
|  | }; | 
|  |  | 
|  | int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); | 
|  | int esp_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); | 
|  | int esp_input_done2(struct sk_buff *skb, int err); | 
|  | int esp6_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); | 
|  | int esp6_output_tail(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *esp); | 
|  | int esp6_input_done2(struct sk_buff *skb, int err); | 
|  | #endif |