Add freeze/thaw, shutdown/halt/reboot, password setting and guest-network-get-interfaces command support for FreeBSD.
v4: 6,7: Return bool instead int in guest_get_hw_addr(). v3: 1: Add a comment about echo suppressing. 5: Replace code moving by splitting the code into a few blocks under architecture conditions. 5,6: Move actions with dumb qmp_guest_set_user_password() to the appropriate patch. 6: Fix error/obtained return. v2: 1: Reject the idea to move all the Linux-specific code to a separate file. First commit now adds initial support of FreeBSD. Fixed device paths and fixed virtio device initialization (disable echo). Add comment why we should disable the code under HAVE_GETIFADDRS in FreeBSD. 2: Replace the second commit (which now is the first) by moving Linux-specific freeze/thaw code to a separate file commands-linux.c. 3: Add error raising if stat() returns error. Replaced strcmp() calls by g_str_equal(). Add a comment explaining why UFSRESUME isn't necessary. 4: Replace #elifdef by #elif defined(). 5: Now the code doesn't move from one file to aanother but still is moving inside file so the patch doesn't become easier to review. =( Fixed typos. 6,7: New patches. Add guest-network-get-interfaces command support. Alexander Ivanov (7): qga: Add initial FreeBSD support qga: Move Linux-specific FS freeze/thaw code to a separate file qga: Add UFS freeze/thaw support for FreeBSD qga: Add shutdown/halt/reboot support for FreeBSD qga: Add support for user password setting in FreeBSD qga: Move HW address getting to a separate function qga: Add HW address getting for FreeBSD meson.build | 2 +- qga/channel-posix.c | 19 ++ qga/commands-bsd.c | 200 +++++++++++++ qga/commands-common.h | 52 ++++ qga/commands-linux.c | 286 +++++++++++++++++++ qga/commands-posix.c | 641 ++++++++++++++---------------------------- qga/main.c | 13 +- qga/meson.build | 6 + 8 files changed, 780 insertions(+), 439 deletions(-) create mode 100644 qga/commands-bsd.c create mode 100644 qga/commands-linux.c -- 2.34.1