#include <netdb.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>

int main(int argc, char *argv[])
{
	int ret;
	char rpcdata[1024];
	struct rpcent rpcbuf, *ent;

	while ((ret = getrpcent_r(&rpcbuf, rpcdata, sizeof(rpcdata), &ent)) == 0) {
		printf("%s: %i", ent->r_name, ent->r_number);
		while (ent->r_aliases[0])
			printf(" %s", *ent->r_aliases++);
		printf("\n");
	}

	if (ret != ENOENT)
		printf("Test failed: %s\n", strerror(ret));

	endrpcent();

	return 0;
}