Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

/*	$NetBSD: fing.c,v 1.3 2017/05/09 23:26:49 kamil Exp $	*/

#include <err.h>
#include <stdio.h>

int 
main(argc, argv)
	int     argc;
	char  **argv;
{
	FILE   *fp;
	char   *fingerpath = "portal/tcp/localhost/finger";
	char   *name = "";
#define FING_BUFSIZE	16384
	char    buff[FING_BUFSIZE];
	int     n;

	if (argc > 2)
		errx(1, "Error:  usage:  %s [name]", argv[0]);
	fp = fopen(fingerpath, "r+");
	if (!fp)
		err(1, "open of %s", fingerpath);
	if (argv[1])
		name = argv[1];
	fprintf(fp, "%s\n", name);
	n = fread(buff, (size_t) 1, FING_BUFSIZE, fp);
	fwrite(buff, (size_t) 1, n, stdout);
	return 0;
}