Il 18/04/2012 08:51, Orit Wasserman ha scritto: > On 04/17/2012 05:54 PM, Amos Kong wrote: >> Add five new qerror strings, they are about socket: >> QERR_SOCKET_CONNECT_IN_PROGRESS >> QERR_SOCKET_CONNECT_FAILED >> QERR_SOCKET_LISTEN_FAILED >> QERR_SOCKET_BIND_FAILED >> QERR_SOCKET_CREATE_FAILED >> >> Signed-off-by: Amos Kong <ak...@redhat.com> >> --- >> qerror.c | 20 ++++++++++++++++++++ >> qerror.h | 15 +++++++++++++++ >> 2 files changed, 35 insertions(+), 0 deletions(-) >> >> diff --git a/qerror.c b/qerror.c >> index 96fbe71..7afe1ac 100644 >> --- a/qerror.c >> +++ b/qerror.c >> @@ -304,6 +304,26 @@ static const QErrorStringTable qerror_table[] = { >> .error_fmt = QERR_VNC_SERVER_FAILED, >> .desc = "Could not start VNC server on %(target)", >> }, >> + { >> + .error_fmt = QERR_SOCKET_CONNECT_IN_PROGRESS, >> + .desc = "Connection cannot be completed immediately", >> + }, >> + { >> + .error_fmt = QERR_SOCKET_CONNECT_FAILED, >> + .desc = "Fail to connect socket", >> + }, >> + { >> + .error_fmt = QERR_SOCKET_LISTEN_FAILED, >> + .desc = "Fail to listen socket", >> + }, >> + { >> + .error_fmt = QERR_SOCKET_BIND_FAILED, >> + .desc = "Fail to bind socket", >> + }, >> + { >> + .error_fmt = QERR_SOCKET_CREATE_FAILED, >> + .desc = "Fail to create socket", >> + }, >> {} >> }; >> >> diff --git a/qerror.h b/qerror.h >> index 5c23c1f..4cbba48 100644 >> --- a/qerror.h >> +++ b/qerror.h >> @@ -248,4 +248,19 @@ QError *qobject_to_qerror(const QObject *obj); >> #define QERR_VNC_SERVER_FAILED \ >> "{ 'class': 'VNCServerFailed', 'data': { 'target': %s } }" >> >> +#define QERR_SOCKET_CONNECT_IN_PROGRESS \ >> + "{ 'class': 'SockConnectInprogress', 'data': {} }" >> + >> +#define QERR_SOCKET_CONNECT_FAILED \ >> + "{ 'class': 'SockConnectFailed', 'data': {} }" >> + >> +#define QERR_SOCKET_LISTEN_FAILED \ >> + "{ 'class': 'SockListenFailed', 'data': {} }" >> + >> +#define QERR_SOCKET_BIND_FAILED \ >> + "{ 'class': 'SockBindFailed', 'data': {} }" >> + >> +#define QERR_SOCKET_CREATE_FAILED \ >> + "{ 'class': 'SockCreateFailed', 'data': {} }" > > For the FAILED error we will probably need more data , how about adding a > string > that can contain the strerror string ?
This was nack-ed in the past, and the numeric errno values are not portable. However, as a follow up we could add a QAPI-specific enum (QEMU_ERRNO_EACCES, QEMU_ERRNO_ECONNREFUSED, etc.) and convert errno values to it.