1 /* $FreeBSD$ */ 2 3 /* 4 * Copyright (C) 2012 by Darren Reed. 5 * 6 * See the IPFILTER.LICENCE file for details on licencing. 7 * 8 * $Id$ 9 */ 10 11 #include "ipf.h" 12 #include <ctype.h> 13 14 int getproto(char *name); 15 16 int 17 getproto(char *name) 18 { 19 struct protoent *p; 20 char *s; 21 22 for (s = name; *s != '\0'; s++) 23 if (!ISDIGIT(*s)) 24 break; 25 if (*s == '\0') 26 return (atoi(name)); 27 28 if (!strcasecmp(name, "ip")) 29 return (0); 30 31 p = getprotobyname(name); 32 if (p != NULL) 33 return (p->p_proto); 34 return (-1); 35 } 36