net/wireless/tests/util.h

Source file repositories/reference/linux-study-clean/net/wireless/tests/util.h

File Facts

System
Linux kernel
Corpus path
net/wireless/tests/util.h
Extension
.h
Size
1817 bytes
Lines
67
Domain
Networking Core
Bucket
Sockets, Protocols, Packet Path, And Network Policy
Inferred role
Networking Core: implementation source
Status
source implementation candidate

Why This File Exists

Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.

Dependency Surface

Detected Declarations

Annotated Snippet

struct t_wiphy_priv {
	struct kunit *test;
	struct cfg80211_ops *ops;

	void *ctx;

	struct ieee80211_supported_band band_2ghz;
	struct ieee80211_channel channels_2ghz[ARRAY_SIZE(channels_2ghz)];
};

#define T_WIPHY(test, ctx) ({						\
		struct wiphy *__wiphy =					\
			kunit_alloc_resource(test, t_wiphy_init,	\
					     t_wiphy_exit,		\
					     GFP_KERNEL, &(ctx));	\
									\
		KUNIT_ASSERT_NOT_NULL(test, __wiphy);			\
		__wiphy;						\
	})
#define t_wiphy_ctx(wiphy) (((struct t_wiphy_priv *)wiphy_priv(wiphy))->ctx)

int t_wiphy_init(struct kunit_resource *resource, void *data);
void t_wiphy_exit(struct kunit_resource *resource);

#define t_skb_remove_member(skb, type, member)	do {				\
		memmove((skb)->data + (skb)->len - sizeof(type) +		\
			offsetof(type, member),					\
			(skb)->data + (skb)->len - sizeof(type) +		\
			offsetofend(type, member),				\
			offsetofend(type, member));				\
		skb_trim(skb, (skb)->len - sizeof_field(type, member));		\
	} while (0)

#endif /* __CFG80211_UTILS_H */

Annotation

Implementation Notes