+// SPDX-License-Identifier: AGPL-3.0-or-later
/*
-
- Copyright (C) 2018 Proxmox Server Solutions GmbH
-
- Copyright: qemumonitor is under GNU GPL, the GNU General Public License.
-
- 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; version 2 dated June, 1991.
-
- 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, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA.
+ Copyright (C) 2018 - 2021 Proxmox Server Solutions GmbH
Author: Dominik Csapak <d.csapak@proxmox.com>
+ Author: Stefan Reiter <s.reiter@proxmox.com>
*/
#include <sys/syscall.h>
+#include <time.h>
#ifndef __NR_pidfd_open
#define __NR_pidfd_open 434
#define __NR_pidfd_send_signal 424
#endif
-#define VERBOSE_PRINT(...) do { if (verbose) { printf(__VA_ARGS__); } } while (0)
+#define VERBOSE_PRINT(...) do { if (verbose) { printf(__VA_ARGS__); fflush(stdout); } } while (0)
static inline void log_neg(int errval, const char *msg)
{
int fd;
pid_t pid;
+ int pidfd;
+ time_t timeout;
ClientType type;
ClientState state;
} vzdump;
};
-struct CleanupData {
- pid_t pid;
- int pidfd;
-};
-
void handle_qmp_handshake(struct Client *client);
void handle_qmp_event(struct Client *client, struct json_object *obj);
void handle_qmp_return(struct Client *client, struct json_object *data, bool error);