xref: /csrg-svn/lib/libc/net/getservbyname.c (revision 8324)
1*8324Ssam /*	getservbyname.c	4.2	82/10/05	*/
27902Ssam 
37902Ssam #include <netdb.h>
47902Ssam 
57902Ssam struct servent *
6*8324Ssam getservbyname(name, proto)
77902Ssam 	char *name, *proto;
87902Ssam {
97902Ssam 	register struct servent *p;
107902Ssam 	register char **cp;
117902Ssam 
127902Ssam 	setservent(0);
137902Ssam 	while (p = getservent()) {
147902Ssam 		if (strcmp(name, p->s_name) == 0)
157902Ssam 			goto gotname;
167902Ssam 		for (cp = p->s_aliases; *cp; cp++)
177902Ssam 			if (strcmp(name, *cp) == 0)
187902Ssam 				goto gotname;
197902Ssam 		continue;
207902Ssam gotname:
217902Ssam 		if (proto == 0 || strcmp(p->s_proto, proto) == 0)
227902Ssam 			break;
237902Ssam 	}
247902Ssam 	endservent();
257902Ssam 	return (p);
267902Ssam }
27