Welcome to little lamb

Code » limb » release » tree

[release] / src / include / loadopt.h

/* This file is part of limb                           https://lila.oss/limb
 * Copyright (C) 2023 Olivier Brunel                          jjk@jjacky.com */
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef LIMB_LIMB_LOADOPT_H
#define LIMB_LIMB_LOADOPT_H

#include <limb/gccattributes.h>
#include <limb/loadopt.h>

enum state {
    STATE_NONE = 0,
    STATE_INIT,
    STATE_CMDLINE,
    STATE_CONFDIR,
    STATE_CONFIG,
    STATE_OPTIONS,
    STATE_ARGS,
    STATE_DONE
};

enum {
    LOADOPT_REFILL      = 1 << 0,
    LOADOPT_IN_COMMENTS = 1 << 1,
    LOADOPT_REFILLED    = 1 << 2,
    LOADOPT_EOF         = 1 << 3,
};

void add_optflags(u8 *optflags, int idx, u8 val) gccattr_hidden;
u8 get_optflags(const u8 *optflags, int idx) gccattr_hidden;

#endif /* LIMB_LIMB_LOADOPT_H */