예제 #1
0
파일: zpios_main.c 프로젝트: Alyseo/zfs
int
main(int argc, char **argv)
{
	cmd_args_t *args;
	int rc = 0;

	/* Argument init and parsing */
	if ((args = args_init(argc, argv)) == NULL) {
		rc = -1;
		goto out;
	}

	/* Device specific init */
	if ((rc = dev_init()))
		goto out;

	/* Generic kernel version string */
	if (args->verbose)
		fprintf(stdout, "%s", zpios_version);

	print_stats_header(args);
	rc = run_thread_counts(args);
out:
	if (args != NULL)
		args_fini(args);

	dev_fini();
	return (rc);
}
예제 #2
0
파일: splat.c 프로젝트: ArnoKahle/spl
int
main(int argc, char **argv)
{
	cmd_args_t *args = NULL;
	int rc = 0;

	/* General init */
	if ((rc = init()))
		return rc;

	/* Device specific init */
	if ((rc = dev_init()))
		goto out;

	/* Argument init and parsing */
	if ((args = args_init(argc, argv)) == NULL) {
		rc = -1;
		goto out;
	}

	/* Generic kernel version string */
	if (args->args_verbose)
		fprintf(stdout, "%s", splat_version);

	/* Print the available test list and exit */
	if (args->args_do_list) {
		subsystem_list(subsystems, 0);
		goto out;
	}

	/* Add all available test to the list of tests to run */
	if (args->args_do_all) {
		if ((rc = test_add_all(args)))
			goto out;
	}

	/* Run all the requested tests */
	if ((rc = tests_run(args)))
		goto out;

out:
	if (args != NULL)
		args_fini(args);

	dev_fini();
	fini();
	return rc;
}
예제 #3
0
int main(int argc, char *argv[])
{
	int	optind;

	bzero(&glob, sizeof(glob));

	glob.demux_dev = DEFAULT_DEMUX_DEV;
	glob.timeout = DEFAULT_TIMEOUT;
	glob.input_buffer_size = 1024 * TS_SIZE;

	argp_parse(&argp, argc, argv, 0, &optind, 0);

	glob.evb = event_base_new();
	if (!glob.evb)
		critical_error("%s: error allocating memory\n", argv[0]);

	glob.timeout_ev = evtimer_new(glob.evb, timeout_cb, NULL);
	if (!glob.timeout_ev)
		critical_error("%s: error allocating memory\n", argv[0]);

	reset_timeout(&glob);

	dev_init(&glob, glob.demux_dev);
	sdt_pid_init(&glob);
	eit_pid_init(&glob);

	event_base_dispatch(glob.evb);

	output_xmltv(&glob);

	dev_fini(&glob);
	sdt_pid_fini(&glob);
	eit_pid_fini(&glob);

	evtimer_del(glob.timeout_ev);
	event_base_free(glob.evb);

	return EXIT_SUCCESS;
}