17d5983e3SNicolas Saenz Julienne /* 27d5983e3SNicolas Saenz Julienne * QEMU event-loop backend 37d5983e3SNicolas Saenz Julienne * 47d5983e3SNicolas Saenz Julienne * Copyright (C) 2022 Red Hat Inc 57d5983e3SNicolas Saenz Julienne * 67d5983e3SNicolas Saenz Julienne * Authors: 77d5983e3SNicolas Saenz Julienne * Nicolas Saenz Julienne <nsaenzju@redhat.com> 87d5983e3SNicolas Saenz Julienne * 97d5983e3SNicolas Saenz Julienne * This work is licensed under the terms of the GNU GPL, version 2 or later. 107d5983e3SNicolas Saenz Julienne * See the COPYING file in the top-level directory. 117d5983e3SNicolas Saenz Julienne */ 127d5983e3SNicolas Saenz Julienne #ifndef QEMU_EVENT_LOOP_BASE_H 137d5983e3SNicolas Saenz Julienne #define QEMU_EVENT_LOOP_BASE_H 147d5983e3SNicolas Saenz Julienne 157d5983e3SNicolas Saenz Julienne #include "qom/object.h" 167d5983e3SNicolas Saenz Julienne #include "block/aio.h" 177d5983e3SNicolas Saenz Julienne 187d5983e3SNicolas Saenz Julienne #define TYPE_EVENT_LOOP_BASE "event-loop-base" 197d5983e3SNicolas Saenz Julienne OBJECT_DECLARE_TYPE(EventLoopBase, EventLoopBaseClass, 207d5983e3SNicolas Saenz Julienne EVENT_LOOP_BASE) 217d5983e3SNicolas Saenz Julienne 227d5983e3SNicolas Saenz Julienne struct EventLoopBaseClass { 237d5983e3SNicolas Saenz Julienne ObjectClass parent_class; 247d5983e3SNicolas Saenz Julienne 257d5983e3SNicolas Saenz Julienne void (*init)(EventLoopBase *base, Error **errp); 267d5983e3SNicolas Saenz Julienne void (*update_params)(EventLoopBase *base, Error **errp); 2770ac26b9SNicolas Saenz Julienne bool (*can_be_deleted)(EventLoopBase *base); 287d5983e3SNicolas Saenz Julienne }; 297d5983e3SNicolas Saenz Julienne 307d5983e3SNicolas Saenz Julienne struct EventLoopBase { 317d5983e3SNicolas Saenz Julienne Object parent; 327d5983e3SNicolas Saenz Julienne 337d5983e3SNicolas Saenz Julienne /* AioContext AIO engine parameters */ 347d5983e3SNicolas Saenz Julienne int64_t aio_max_batch; 35*71ad4713SNicolas Saenz Julienne 36*71ad4713SNicolas Saenz Julienne /* AioContext thread pool parameters */ 37*71ad4713SNicolas Saenz Julienne int64_t thread_pool_min; 38*71ad4713SNicolas Saenz Julienne int64_t thread_pool_max; 397d5983e3SNicolas Saenz Julienne }; 407d5983e3SNicolas Saenz Julienne #endif 41