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 + -
显示快捷键?