28 lines
558 B
C
28 lines
558 B
C
#include <stdio.h>
|
|
#include <netdb.h>
|
|
|
|
|
|
main(int argc, char **argv)
|
|
{
|
|
struct servent *s;
|
|
int i;
|
|
|
|
for (argc--, argv++; argc > 0; argc -= 2, argv += 2) {
|
|
if (argc >= 2) {
|
|
s = getservbyname(argv[0], argv[1]);
|
|
} else {
|
|
s = getservbyname(argv[0], "udp");
|
|
}
|
|
if (! s) {
|
|
fprintf(stderr, "getservbyname failed for [%s]\n",
|
|
argv[0]);
|
|
} else {
|
|
printf("name = %s, port = %d, protocol = %s\n",
|
|
s->s_name, s->s_port, s->s_proto);
|
|
for (i = 0; s->s_aliases[i]; i++) {
|
|
printf("\talias[%d]: %s\n", i, s->s_aliases[i]);
|
|
}
|
|
}
|
|
}
|
|
}
|