141edb306SCy Schubert 241edb306SCy Schubert /* 341edb306SCy Schubert * Copyright (C) 2012 by Darren Reed. 441edb306SCy Schubert * 541edb306SCy Schubert * See the IPFILTER.LICENCE file for details on licencing. 641edb306SCy Schubert * 741edb306SCy Schubert * $Id$ 841edb306SCy Schubert */ 941edb306SCy Schubert 1041edb306SCy Schubert #include "ipf.h" 1141edb306SCy Schubert #include <ctype.h> 1241edb306SCy Schubert 13efeb8bffSCy Schubert int getproto(char *name); 14efeb8bffSCy Schubert 15efeb8bffSCy Schubert int getproto(char * name)16efeb8bffSCy Schubertgetproto(char *name) 1741edb306SCy Schubert { 1841edb306SCy Schubert struct protoent *p; 1941edb306SCy Schubert char *s; 2041edb306SCy Schubert 2141edb306SCy Schubert for (s = name; *s != '\0'; s++) 2241edb306SCy Schubert if (!ISDIGIT(*s)) 2341edb306SCy Schubert break; 2441edb306SCy Schubert if (*s == '\0') 25*2582ae57SCy Schubert return (atoi(name)); 2641edb306SCy Schubert 2741edb306SCy Schubert if (!strcasecmp(name, "ip")) 28*2582ae57SCy Schubert return (0); 2941edb306SCy Schubert 3041edb306SCy Schubert p = getprotobyname(name); 3141edb306SCy Schubert if (p != NULL) 32*2582ae57SCy Schubert return (p->p_proto); 33*2582ae57SCy Schubert return (-1); 3441edb306SCy Schubert } 35