ah.h

来自「linux 内核源代码」· C头文件 代码 · 共 49 行

H
49
字号
#ifndef _NET_AH_H#define _NET_AH_H#include <linux/crypto.h>#include <net/xfrm.h>/* This is the maximum truncated ICV length that we know of. */#define MAX_AH_AUTH_LEN	12struct ah_data{	u8			*work_icv;	int			icv_full_len;	int			icv_trunc_len;	struct crypto_hash	*tfm;};static inline int ah_mac_digest(struct ah_data *ahp, struct sk_buff *skb,				u8 *auth_data){	struct hash_desc desc;	int err;	desc.tfm = ahp->tfm;	desc.flags = 0;	memset(auth_data, 0, ahp->icv_trunc_len);	err = crypto_hash_init(&desc);	if (unlikely(err))		goto out;	err = skb_icv_walk(skb, &desc, 0, skb->len, crypto_hash_update);	if (unlikely(err))		goto out;	err = crypto_hash_final(&desc, ahp->work_icv);out:	return err;}struct ip_auth_hdr;static inline struct ip_auth_hdr *ip_auth_hdr(const struct sk_buff *skb){	return (struct ip_auth_hdr *)skb_transport_header(skb);}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?