/*
    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_ARGUMENTS_H_
#define _SBUS_IFP_ARGUMENTS_H_

#include <errno.h>
#include <stdint.h>
#include <talloc.h>
#include <stdbool.h>
#include <dbus/dbus.h>

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

struct _sbus_ifp_invoker_args_ao {
    const char ** arg0;
};

errno_t
_sbus_ifp_invoker_read_ao
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_ao *args);

errno_t
_sbus_ifp_invoker_write_ao
   (DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_ao *args);

struct _sbus_ifp_invoker_args_as {
    const char ** arg0;
};

errno_t
_sbus_ifp_invoker_read_as
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_as *args);

errno_t
_sbus_ifp_invoker_write_as
   (DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_as *args);

struct _sbus_ifp_invoker_args_b {
    bool arg0;
};

errno_t
_sbus_ifp_invoker_read_b
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_b *args);

errno_t
_sbus_ifp_invoker_write_b
   (DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_b *args);

struct _sbus_ifp_invoker_args_ifp_extra {
    hash_table_t * arg0;
};

errno_t
_sbus_ifp_invoker_read_ifp_extra
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_ifp_extra *args);

errno_t
_sbus_ifp_invoker_write_ifp_extra
   (DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_ifp_extra *args);

struct _sbus_ifp_invoker_args_o {
    const char * arg0;
};

errno_t
_sbus_ifp_invoker_read_o
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_o *args);

errno_t
_sbus_ifp_invoker_write_o
   (DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_o *args);

struct _sbus_ifp_invoker_args_s {
    const char * arg0;
};

errno_t
_sbus_ifp_invoker_read_s
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_s *args);

errno_t
_sbus_ifp_invoker_write_s
   (DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_s *args);

struct _sbus_ifp_invoker_args_sas {
    const char * arg0;
    const char ** arg1;
};

errno_t
_sbus_ifp_invoker_read_sas
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_sas *args);

errno_t
_sbus_ifp_invoker_write_sas
   (DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_sas *args);

struct _sbus_ifp_invoker_args_ss {
    const char * arg0;
    const char * arg1;
};

errno_t
_sbus_ifp_invoker_read_ss
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_ss *args);

errno_t
_sbus_ifp_invoker_write_ss
   (DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_ss *args);

struct _sbus_ifp_invoker_args_ssu {
    const char * arg0;
    const char * arg1;
    uint32_t arg2;
};

errno_t
_sbus_ifp_invoker_read_ssu
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_ssu *args);

errno_t
_sbus_ifp_invoker_write_ssu
   (DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_ssu *args);

struct _sbus_ifp_invoker_args_su {
    const char * arg0;
    uint32_t arg1;
};

errno_t
_sbus_ifp_invoker_read_su
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_su *args);

errno_t
_sbus_ifp_invoker_write_su
   (DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_su *args);

struct _sbus_ifp_invoker_args_u {
    uint32_t arg0;
};

errno_t
_sbus_ifp_invoker_read_u
   (TALLOC_CTX *mem_ctx,
    DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_u *args);

errno_t
_sbus_ifp_invoker_write_u
   (DBusMessageIter *iter,
    struct _sbus_ifp_invoker_args_u *args);

#endif /* _SBUS_IFP_ARGUMENTS_H_ */
