1*7902Ssam /* getservbyname.c 4.1 82/08/25 */ 2*7902Ssam 3*7902Ssam #include <netdb.h> 4*7902Ssam 5*7902Ssam struct servent * 6*7902Ssam getservname(name, proto) 7*7902Ssam char *name, *proto; 8*7902Ssam { 9*7902Ssam register struct servent *p; 10*7902Ssam register char **cp; 11*7902Ssam 12*7902Ssam setservent(0); 13*7902Ssam while (p = getservent()) { 14*7902Ssam if (strcmp(name, p->s_name) == 0) 15*7902Ssam goto gotname; 16*7902Ssam for (cp = p->s_aliases; *cp; cp++) 17*7902Ssam if (strcmp(name, *cp) == 0) 18*7902Ssam goto gotname; 19*7902Ssam continue; 20*7902Ssam gotname: 21*7902Ssam if (proto == 0 || strcmp(p->s_proto, proto) == 0) 22*7902Ssam break; 23*7902Ssam } 24*7902Ssam endservent(); 25*7902Ssam return (p); 26*7902Ssam } 27