/*1* Copyright (c) 2010 Wang Lei2* Author(s): Wang Lei ([email protected]). All Rights Reserved.3*4* Internal DNS Rsolver stuff5*6* This library is free software; you can redistribute it and/or modify7* it under the terms of the GNU Lesser General Public License as published8* by the Free Software Foundation; either version 2.1 of the License, or9* (at your option) any later version.10*11* This library is distributed in the hope that it will be useful,12* but WITHOUT ANY WARRANTY; without even the implied warranty of13* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See14* the GNU Lesser General Public License for more details.15*16* You should have received a copy of the GNU Lesser General Public License17* along with this library; if not, see <http://www.gnu.org/licenses/>.18*/1920#include <linux/compiler.h>21#include <linux/kernel.h>22#include <linux/sched.h>2324/*25* Layout of key payload words.26*/27enum {28dns_key_data,29dns_key_error,30};3132/*33* dns_key.c34*/35extern const struct cred *dns_resolver_cache;3637/*38* debug tracing39*/40extern unsigned int dns_resolver_debug;4142#define kdebug(FMT, ...) \43do { \44if (unlikely(dns_resolver_debug)) \45printk(KERN_DEBUG "[%-6.6s] "FMT"\n", \46current->comm, ##__VA_ARGS__); \47} while (0)4849#define kenter(FMT, ...) kdebug("==> %s("FMT")", __func__, ##__VA_ARGS__)50#define kleave(FMT, ...) kdebug("<== %s()"FMT"", __func__, ##__VA_ARGS__)515253