diff options
author | Phil Oester <kernel@linuxace.com> | 2006-07-20 17:00:19 +0000 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2006-07-20 17:00:19 +0000 |
commit | 58179b1d0d1722ea16028aa2ea9d74afc86dd5dc (patch) | |
tree | c7345c2720ad5cf6ffb5ebe4bf5bc985b609ec51 /ip6tables.c | |
parent | 7f5be628f66ec7b8b22e87ace39ee61213c6313b (diff) |
reduce service_to_port duplication (Phil Oester <kernel@linuxace.com>)
The service_to_port function is used in a number of places, and could
benefit from some centralization instead of being duplicated everywhere.
Diffstat (limited to 'ip6tables.c')
-rw-r--r-- | ip6tables.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/ip6tables.c b/ip6tables.c index 82e95950..6dc7aa2d 100644 --- a/ip6tables.c +++ b/ip6tables.c @@ -245,6 +245,17 @@ proto_to_name(u_int8_t proto, int nolookup) return NULL; } +int +service_to_port(const char *name, const char *proto) +{ + struct servent *service; + + if ((service = getservbyname(name, proto)) != NULL) + return ntohs((unsigned short) service->s_port); + + return -1; +} + static void in6addrcpy(struct in6_addr *dst, struct in6_addr *src) { |