nbresolve.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 34 行

C
34
字号
#include "headers.h"#include <bio.h>#include <ndb.h>intnbnameresolve(NbName nbname, uchar *ipaddr){	/* for now, just use dns */	Ndbtuple *t;	NbName copy;	char name[NETPATHLEN];	ulong ttl;	if (nbremotenametablefind(nbname, ipaddr)) {//print("%B found in cache\n", nbname);		return 1;	}	if (nbnsfindname(nil, nbname, ipaddr, &ttl) == 0) {		nbremotenametableadd(nbname, ipaddr, ttl);		return 1;	}	nbnamecpy(copy, nbname);	copy[NbNameLen - 1] = 0;	nbmkstringfromname(name, sizeof(name), copy);	t = dnsquery("/net", name, "ip");	if (t == nil)		return 0;	if (parseip(ipaddr, t->line->val) == 0) {		ndbfree(t);		return 0;	}	ndbfree(t);	return 1;}

⌨️ 快捷键说明

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