xref: /netbsd-src/sbin/mount_portal/examples/fing.c (revision 33078560c6c0154f0fc6bc3bf7ff4ac8dab6bcd2)
1*33078560Skamil /*	$NetBSD: fing.c,v 1.3 2017/05/09 23:26:49 kamil Exp $	*/
2*33078560Skamil 
3854e99c5Sbgrayson #include <err.h>
4854e99c5Sbgrayson #include <stdio.h>
5854e99c5Sbgrayson 
6854e99c5Sbgrayson int
main(argc,argv)7854e99c5Sbgrayson main(argc, argv)
8854e99c5Sbgrayson 	int     argc;
9854e99c5Sbgrayson 	char  **argv;
10854e99c5Sbgrayson {
11854e99c5Sbgrayson 	FILE   *fp;
12854e99c5Sbgrayson 	char   *fingerpath = "portal/tcp/localhost/finger";
13854e99c5Sbgrayson 	char   *name = "";
14854e99c5Sbgrayson #define FING_BUFSIZE	16384
15854e99c5Sbgrayson 	char    buff[FING_BUFSIZE];
16854e99c5Sbgrayson 	int     n;
17854e99c5Sbgrayson 
18854e99c5Sbgrayson 	if (argc > 2)
196742cb18Sgrant 		errx(1, "Error:  usage:  %s [name]", argv[0]);
20854e99c5Sbgrayson 	fp = fopen(fingerpath, "r+");
21854e99c5Sbgrayson 	if (!fp)
22854e99c5Sbgrayson 		err(1, "open of %s", fingerpath);
23854e99c5Sbgrayson 	if (argv[1])
24854e99c5Sbgrayson 		name = argv[1];
25854e99c5Sbgrayson 	fprintf(fp, "%s\n", name);
26854e99c5Sbgrayson 	n = fread(buff, (size_t) 1, FING_BUFSIZE, fp);
27854e99c5Sbgrayson 	fwrite(buff, (size_t) 1, n, stdout);
28854e99c5Sbgrayson 	return 0;
29854e99c5Sbgrayson }
30