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