Mercurial > illumos > onarm
view usr/src/cmd/ipf/lib/common/getportproto.c @ 0:c9caec207d52 b86
Initial porting based on b86
author | Koji Uno <koji.uno@sun.com> |
---|---|
date | Tue, 02 Jun 2009 18:56:50 +0900 |
parents | |
children |
line wrap: on
line source
/* * Copyright (C) 1993-2005 by Darren Reed. * See the IPFILTER.LICENCE file for details on licencing. */ #include <ctype.h> #include "ipf.h" int getportproto(name, proto) char *name; int proto; { struct servent *s; struct protoent *p; if (ISDIGIT(*name)) { int number; char *s; for (s = name; *s != '\0'; s++) if (!ISDIGIT(*s)) return -1; number = atoi(name); if (number < 0 || number > 65535) return -1; return htons(number); } p = getprotobynumber(proto); s = getservbyname(name, p ? p->p_name : NULL); if (s != NULL) return s->s_port; return -1; }