/*
    Generated by sbus code generator

    Copyright (C) 2017 Red Hat

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef _SBUS_IFP_CLIENT_PROPERTIES_H_
#define _SBUS_IFP_CLIENT_PROPERTIES_H_

#include <stdint.h>
#include <stdbool.h>

#include "responder/ifp/ifp_iface/ifp_iface_types.h"

struct sbus_all_ifp_components {
    struct {
        bool is_set;
        uint32_t value;
    } debug_level;
    struct {
        bool is_set;
        bool value;
    } enabled;
    struct {
        bool is_set;
        const char * value;
    } name;
    struct {
        bool is_set;
        const char ** value;
    } providers;
    struct {
        bool is_set;
        const char * value;
    } type;
};

struct sbus_all_ifp_domains {
    struct {
        bool is_set;
        const char ** value;
    } backup_servers;
    struct {
        bool is_set;
        bool value;
    } enumerable;
    struct {
        bool is_set;
        const char * value;
    } forest;
    struct {
        bool is_set;
        const char * value;
    } fully_qualified_name_format;
    struct {
        bool is_set;
        const char * value;
    } login_format;
    struct {
        bool is_set;
        uint32_t value;
    } max_id;
    struct {
        bool is_set;
        uint32_t value;
    } min_id;
    struct {
        bool is_set;
        const char * value;
    } name;
    struct {
        bool is_set;
        const char * value;
    } parent_domain;
    struct {
        bool is_set;
        const char ** value;
    } primary_servers;
    struct {
        bool is_set;
        const char * value;
    } provider;
    struct {
        bool is_set;
        const char * value;
    } realm;
    struct {
        bool is_set;
        bool value;
    } subdomain;
    struct {
        bool is_set;
        bool value;
    } use_fully_qualified_names;
};

struct sbus_all_ifp_group {
    struct {
        bool is_set;
        uint32_t value;
    } gidNumber;
    struct {
        bool is_set;
        const char ** value;
    } groups;
    struct {
        bool is_set;
        const char * value;
    } name;
    struct {
        bool is_set;
        const char * value;
    } uniqueID;
    struct {
        bool is_set;
        const char ** value;
    } users;
};

struct sbus_all_ifp_user {
    struct {
        bool is_set;
        const char * value;
    } domain;
    struct {
        bool is_set;
        const char * value;
    } domainname;
    struct {
        bool is_set;
        hash_table_t * value;
    } extraAttributes;
    struct {
        bool is_set;
        const char * value;
    } gecos;
    struct {
        bool is_set;
        uint32_t value;
    } gidNumber;
    struct {
        bool is_set;
        const char ** value;
    } groups;
    struct {
        bool is_set;
        const char * value;
    } homeDirectory;
    struct {
        bool is_set;
        const char * value;
    } loginShell;
    struct {
        bool is_set;
        const char * value;
    } name;
    struct {
        bool is_set;
        uint32_t value;
    } uidNumber;
    struct {
        bool is_set;
        const char * value;
    } uniqueID;
};

#endif /* _SBUS_IFP_CLIENT_PROPERTIES_H_ */
