1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-07 17:28:15 +00:00

Add flags for virDomainOpenConsole

This patch adds a set of flags to be used with the virDomainOpenConsole
API call to specify if the user wishes to interrupt an existing console
session or just to try open a new one.

VIR_DOMAIN_CONSOLE_SAFE - specifies that the console connection should
                          be opened only if the hypervisor supports
                          mutually exclusive access to console devices

VIR_DOMAIN_CONSOLE_FORCE - specifies that the caller wishes to interrupt
                           existing session and force a creation of a
                           new one.
This commit is contained in:
Peter Krempa 2011-10-12 13:19:48 +02:00
parent 3e0623ebc8
commit a1801023f4
2 changed files with 28 additions and 2 deletions

View File

@ -3749,7 +3749,19 @@ int virNWFilterGetUUIDString (virNWFilterPtr nwfilter,
char *buf);
char * virNWFilterGetXMLDesc (virNWFilterPtr nwfilter,
unsigned int flags);
/**
* virDomainConsoleFlags
*
* Since 0.9.10
*/
typedef enum {
VIR_DOMAIN_CONSOLE_FORCE = (1 << 0), /* abort a (possibly) active console
connection to force a new
connection */
VIR_DOMAIN_CONSOLE_SAFE = (1 << 1), /* check if the console driver supports
safe console operations */
} virDomainConsoleFlags;
int virDomainOpenConsole(virDomainPtr dom,
const char *devname,

View File

@ -17771,7 +17771,7 @@ virDomainSnapshotFree(virDomainSnapshotPtr snapshot)
* @dom: a domain object
* @dev_name: the console, serial or parallel port device alias, or NULL
* @st: a stream to associate with the console
* @flags: extra flags; not used yet, so callers should always pass 0
* @flags: bitwise-OR of virDomainConsoleFlags
*
* This opens the backend associated with a console, serial or
* parallel port device on a guest, if the backend is supported.
@ -17780,7 +17780,21 @@ virDomainSnapshotFree(virDomainSnapshotPtr snapshot)
* in @st stream, which should have been opened in non-blocking
* mode for bi-directional I/O.
*
* returns 0 if the console was opened, -1 on error
* By default, when @flags is 0, the open will fail if libvirt
* detects that the console is already in use by another client;
* passing VIR_DOMAIN_CONSOLE_FORCE will cause libvirt to forcefully
* remove the other client prior to opening this console.
*
* If flag VIR_DOMAIN_CONSOLE_SAFE the console is opened only in the
* case where the hypervisor driver supports safe (mutually exclusive)
* console handling.
*
* Older servers did not support either flag, and also did not forbid
* simultaneous clients on a console, with potentially confusing results.
* When passing @flags of 0 in order to support a wider range of server
* versions, it is up to the client to ensure mutual exclusion.
*
* Returns 0 if the console was opened, -1 on error
*/
int virDomainOpenConsole(virDomainPtr dom,
const char *dev_name,