Blame libmultipath/nvme/plugin.h

Packit Service 0af388
#ifndef PLUGIN_H
Packit Service 0af388
#define PLUGIN_H
Packit Service 0af388
Packit Service 0af388
#include <stdbool.h>
Packit Service 0af388
Packit Service 0af388
struct program {
Packit Service 0af388
	const char *name;
Packit Service 0af388
	const char *version;
Packit Service 0af388
	const char *usage;
Packit Service 0af388
	const char *desc;
Packit Service 0af388
	const char *more;
Packit Service 0af388
	struct command **commands;
Packit Service 0af388
	struct plugin *extensions;
Packit Service 0af388
};
Packit Service 0af388
Packit Service 0af388
struct plugin {
Packit Service 0af388
	const char *name;
Packit Service 0af388
	const char *desc;
Packit Service 0af388
	struct command **commands;
Packit Service 0af388
	struct program *parent;
Packit Service 0af388
	struct plugin *next;
Packit Service 0af388
	struct plugin *tail;
Packit Service 0af388
};
Packit Service 0af388
Packit Service 0af388
struct command {
Packit Service 0af388
	char *name;
Packit Service 0af388
	char *help;
Packit Service 0af388
	int (*fn)(int argc, char **argv, struct command *command, struct plugin *plugin);
Packit Service 0af388
	char *alias;
Packit Service 0af388
};
Packit Service 0af388
Packit Service 0af388
void usage(struct plugin *plugin);
Packit Service 0af388
void general_help(struct plugin *plugin);
Packit Service 0af388
int handle_plugin(int argc, char **argv, struct plugin *plugin);
Packit Service 0af388
Packit Service 0af388
#endif