1 #include <netdb.h> 2 #include <string.h> 3 getnetbyaddr(uint32_t net,int addrtype)4struct netent *getnetbyaddr(uint32_t net, int addrtype) 5 { 6 struct netent *ne = NULL; 7 setnetent(1); 8 while (1) { 9 ne = getnetent(); 10 if (!ne) 11 break; 12 if (ne->n_net == net && ne->n_addrtype == addrtype) { 13 setnetent(0); 14 endnetent(); 15 return ne; 16 } 17 } 18 setnetent(0); 19 endnetent(); 20 return NULL; 21 } 22 getnetbyname(const char * netname)23struct netent *getnetbyname(const char *netname) 24 { 25 struct netent *ne = NULL; 26 setnetent(1); 27 while (1) { 28 ne = getnetent(); 29 if (!ne) 30 break; 31 if (strcmp(ne->n_name, netname) == 0) { 32 setnetent(0); 33 endnetent(); 34 return ne; 35 } 36 } 37 setnetent(0); 38 endnetent(); 39 return NULL; 40 } 41 42