libvirt | API documentation | The virtualization API |
---|
Provides the interfaces of the libvirt library to handle errors raised while using the library.
Structure virError
struct _virError
Enum virErrorDomain
Enum virErrorLevel
Enum virErrorNumber
Typedef virError * virErrorPtr
int virConnCopyLastError (virConnectPtr conn,
virErrorPtr to)
virErrorPtr virConnGetLastError (virConnectPtr conn)
void virConnResetLastError (virConnectPtr conn)
void virConnSetErrorFunc (virConnectPtr conn,
void * userData,
virErrorFunc handler)
int virCopyLastError (virErrorPtr to)
void virDefaultErrorFunc (virErrorPtr err)
Function type: virErrorFunc void virErrorFunc (void * userData,
virErrorPtr error)
virErrorPtr virGetLastError (void)
void virResetError (virErrorPtr err)
void virResetLastError (void)
void virSetErrorFunc (void * userData,
virErrorFunc handler)
Structure virError
struct _virError { int code : The error code, a virErrorNumber int domain : What part of the library raised this er char * message : human-readable informative error messag virErrorLevel level : how consequent is the error virConnectPtr conn : the connection if available virDomainPtr dom : the domain if available char * str1 : extra string information char * str2 : extra string information char * str3 : extra string information int int1 : extra number information int int2 : extra number information }
Enum virErrorDomain { VIR_FROM_NONE = 0 VIR_FROM_XEN = 1 : Error at Xen hypervisor layer VIR_FROM_XEND = 2 : Error at connection with xend daemon VIR_FROM_XENSTORE = 3 : Error at connection with xen store VIR_FROM_SEXPR = 4 : Error in the S-Epression code VIR_FROM_XML = 5 : Error in the XML code VIR_FROM_DOM = 6 : Error when operating on a domain }
Enum virErrorLevel { VIR_ERR_NONE = 0 VIR_ERR_WARNING = 1 : A simple warning VIR_ERR_ERROR = 2 : An error }
Enum virErrorNumber { VIR_ERR_OK = 0 VIR_ERR_INTERNAL_ERROR = 1 : internal error VIR_ERR_NO_MEMORY = 2 : memory allocation failure VIR_ERR_NO_SUPPORT = 3 : no support for this connection VIR_ERR_UNKNOWN_HOST = 4 : could not resolve hostname VIR_ERR_NO_CONNECT = 5 : can't connect to hypervisor VIR_ERR_INVALID_CONN = 6 : invalid connection object VIR_ERR_INVALID_DOMAIN = 7 : invalid domain object VIR_ERR_INVALID_ARG = 8 : invalid function argument VIR_ERR_OPERATION_FAILED = 9 : a command to hypervisor failed VIR_ERR_GET_FAILED = 10 : a HTTP GET command to failed VIR_ERR_POST_FAILED = 11 : a HTTP POST command to failed VIR_ERR_HTTP_ERROR = 12 : unexpected HTTP error code VIR_ERR_SEXPR_SERIAL = 13 : failure to serialize an S-Expr VIR_ERR_NO_XEN = 14 : could not open Xen hypervisor control VIR_ERR_XEN_CALL = 15 : failure doing an hypervisor call VIR_ERR_OS_TYPE = 16 : unknown OS type VIR_ERR_NO_KERNEL = 17 : missing kernel information VIR_ERR_NO_ROOT = 18 : missing root device information VIR_ERR_NO_SOURCE = 19 : missing source device information VIR_ERR_NO_TARGET = 20 : missing target device information VIR_ERR_NO_NAME = 21 : missing domain name information VIR_ERR_NO_OS = 22 : missing domain OS information VIR_ERR_NO_DEVICE = 23 : missing domain devices information VIR_ERR_NO_XENSTORE = 24 : could not open Xen Store control VIR_ERR_DRIVER_FULL = 25 : too many drivers registered }
int virConnCopyLastError (virConnectPtr conn,
virErrorPtr to)
Copy the content of the last error caught on that connection One will need to free the result with virResetError()
conn: | pointer to the hypervisor connection |
to: | target to receive the copy |
Returns: | 0 if no error was found and the error code otherwise and -1 in case of parameter error. |
virErrorPtr virConnGetLastError (virConnectPtr conn)
Provide a pointer to the last error caught on that connection Simpler but may not be suitable for multithreaded accesses, in which case use virConnCopyLastError()
conn: | pointer to the hypervisor connection |
Returns: | a pointer to the last error or NULL if none occured. |
void virConnResetLastError (virConnectPtr conn)
Reset the last error caught on that connection
conn: | pointer to the hypervisor connection |
void virConnSetErrorFunc (virConnectPtr conn,
void * userData,
virErrorFunc handler)
Set a connection error handling function, if @handler is NULL it will reset to default which is to pass error back to the global library handler.
conn: | pointer to the hypervisor connection |
userData: | pointer to the user data provided in the handler callback |
handler: | the function to get called in case of error or NULL |
int virCopyLastError (virErrorPtr to)
Copy the content of the last error caught at the library level One will need to free the result with virResetError()
to: | target to receive the copy |
Returns: | 0 if no error was found and the error code otherwise and -1 in case of parameter error. |
void virDefaultErrorFunc (virErrorPtr err)
Default routine reporting an error to stderr.
err: | pointer to the error. |
Function type: virErrorFunc void virErrorFunc (void * userData,
virErrorPtr error)
Signature of a function to use when there is an error raised by the library.
userData: | user provided data for the error callback |
error: | the error being raised. |
virErrorPtr virGetLastError (void)
Provide a pointer to the last error caught at the library level Simpler but may not be suitable for multithreaded accesses, in which case use virCopyLastError()
Returns: | a pointer to the last error or NULL if none occured. |
void virResetError (virErrorPtr err)
Reset the error being pointed to
err: | pointer to the virError to clean up |
void virResetLastError (void)
Reset the last error caught at the library level.
void virSetErrorFunc (void * userData,
virErrorFunc handler)
Set a library global error handling function, if @handler is NULL, it will reset to default printing on stderr. The error raised there are those for which no handler at the connection level could caught.
userData: | pointer to the user data provided in the handler callback |
handler: | the function to get called in case of error or NULL |