|  | /* | 
|  | *   Copyright (c) 2010 Wang Lei | 
|  | *   Author(s): Wang Lei ([email protected]). All Rights Reserved. | 
|  | * | 
|  | *   Internal DNS Rsolver stuff | 
|  | * | 
|  | *   This library is free software; you can redistribute it and/or modify | 
|  | *   it under the terms of the GNU Lesser General Public License as published | 
|  | *   by the Free Software Foundation; either version 2.1 of the License, or | 
|  | *   (at your option) any later version. | 
|  | * | 
|  | *   This library is distributed in the hope that it will be useful, | 
|  | *   but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See | 
|  | *   the GNU Lesser General Public License for more details. | 
|  | * | 
|  | *   You should have received a copy of the GNU Lesser General Public License | 
|  | *   along with this library; if not, write to the Free Software | 
|  | *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 
|  | */ | 
|  |  | 
|  | #include <linux/compiler.h> | 
|  | #include <linux/kernel.h> | 
|  | #include <linux/sched.h> | 
|  |  | 
|  | /* | 
|  | * 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__) |