ref: e475abcb1367ff05b438c580c3aa63e5befbe345
dir: /tools/tools.h/
/* moonfish is licensed under the AGPL (v3 or later) */
/* copyright 2023, 2024 zamfofex */
#ifndef MOONFISH_TOOLS
#define MOONFISH_TOOLS
#include <stdio.h>
struct moonfish_arg {
char *letter;
char *name;
char *format;
char *value;
char *description;
};
struct moonfish_chess;
struct moonfish_move;
void moonfish_spawn(char **argv, FILE **in, FILE **out, char *directory);
char *moonfish_next(FILE *file);
char *moonfish_wait(FILE *file, char *name);
char **moonfish_args(struct moonfish_arg *args, char *rest_format, int argc, char **argv);
void moonfish_usage(struct moonfish_arg *args, char *rest_format, char *argv0);
int moonfish_int(char *arg, int *result);
int moonfish_pgn(FILE *file, struct moonfish_chess *chess, struct moonfish_move *move, int allow_tag);
#endif