net/dns_resolver/internal.h

Source file repositories/reference/linux-study-clean/net/dns_resolver/internal.h

File Facts

System
Linux kernel
Corpus path
net/dns_resolver/internal.h
Extension
.h
Size
814 bytes
Lines
40
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

#include <linux/compiler.h>
#include <linux/kernel.h>
#include <linux/sched.h>

/*
 * Layout of key payload words.
 */
enum {
	dns_key_data,
	dns_key_error,
};

/*
 * dns_key.c
 */
extern const struct cred *dns_resolver_cache;

/*
 * debug tracing
 */
extern unsigned int dns_resolver_debug;

#define	kdebug(FMT, ...)				\
do {							\
	if (unlikely(dns_resolver_debug))		\
		printk(KERN_DEBUG "[%-6.6s] "FMT"\n",	\
		       current->comm, ##__VA_ARGS__);	\
} while (0)

#define kenter(FMT, ...) kdebug("==> %s("FMT")", __func__, ##__VA_ARGS__)
#define kleave(FMT, ...) kdebug("<== %s()"FMT"", __func__, ##__VA_ARGS__)

Annotation

Implementation Notes