core-lightning/lightningd/options.h
Rusty Russell 7f18ed7743 lightningd: allow --recover to take a 64-char hex string.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-Added: Config: `--recover` can take a 32-byte hex string, as well as codex32.
2023-10-26 12:59:55 +10:30

47 lines
1.5 KiB
C

#ifndef LIGHTNING_LIGHTNINGD_OPTIONS_H
#define LIGHTNING_LIGHTNINGD_OPTIONS_H
#include "config.h"
#include <ccan/ccan/opt/opt.h>
struct json_stream;
struct lightningd;
/* After this, early config file and cmdline options parsed. */
void handle_early_opts(struct lightningd *ld, int argc, char *argv[]);
/* After this we're in the .lightning dir, and we've parsed all options */
void handle_opts(struct lightningd *ld);
/* Derive default color and alias from the pubkey. */
void setup_color_and_alias(struct lightningd *ld);
/**
* hsm_secret_arg - parse an hsm_secret as hex or codex32
* @ctx: context to allocate @hsm_secret from
* @arg: string to parse
* @hsm_secret: set on success.
*
* Returns NULL on success (and sets hsm_secret) otherwise, error msg
*/
char *hsm_secret_arg(const tal_t *ctx,
const char *arg,
const u8 **hsm_secret);
enum opt_autobool {
OPT_AUTOBOOL_FALSE = 0,
OPT_AUTOBOOL_TRUE = 1,
OPT_AUTOBOOL_AUTO = 2,
};
char *opt_set_autobool_arg(const char *arg, enum opt_autobool *b);
bool opt_show_autobool(char *buf, size_t len, const enum opt_autobool *b);
/* opt_bool is quite loose; you should use this if wanting to add it to JSON */
bool opt_canon_bool(const char *val);
void add_config_deprecated(struct lightningd *ld,
struct json_stream *response,
const struct opt_table *opt,
const char *name, size_t len);
bool is_known_opt_cb_arg(char *(*cb_arg)(const char *, void *));
#endif /* LIGHTNING_LIGHTNINGD_OPTIONS_H */