* David Goulet ([email protected]) wrote: > Also add four new possible code being EEXIST, EINVAL, ENOSYS and EPERM.
merged with minor style changes, Thanks, Mathieu > > Signed-off-by: David Goulet <[email protected]> > --- > include/lttng/ust-error.h | 6 +++++- > liblttng-ust-comm/lttng-ust-comm.c | 4 ++++ > liblttng-ust/lttng-ust-comm.c | 26 +++++++++++++++++++++++--- > 3 files changed, 32 insertions(+), 4 deletions(-) > > diff --git a/include/lttng/ust-error.h b/include/lttng/ust-error.h > index 49890a9..0d829f8 100644 > --- a/include/lttng/ust-error.h > +++ b/include/lttng/ust-error.h > @@ -36,7 +36,11 @@ > enum lttng_ust_error_code { > LTTNG_UST_OK = 0, /* Ok */ > LTTNG_UST_ERR = 1024, /* Unknown Error */ > - LTTNG_UST_ERR_NOENT, /* No entry */ > + LTTNG_UST_ERR_NOENT = 1025, /* No entry */ > + LTTNG_UST_ERR_EXIST = 1026, /* Object exists */ > + LTTNG_UST_ERR_INVAL = 1027, /* Invalid argument */ > + LTTNG_UST_ERR_PERM = 1028, /* Permission denied */ > + LTTNG_UST_ERR_NOSYS = 1029, /* Not implemented */ > > /* MUST be last element */ > LTTNG_UST_ERR_NR, /* Last element */ > diff --git a/liblttng-ust-comm/lttng-ust-comm.c > b/liblttng-ust-comm/lttng-ust-comm.c > index 8765ea6..9a67ea1 100644 > --- a/liblttng-ust-comm/lttng-ust-comm.c > +++ b/liblttng-ust-comm/lttng-ust-comm.c > @@ -44,6 +44,10 @@ static const char *ustcomm_readable_code[] = { > [ USTCOMM_CODE_OFFSET(LTTNG_UST_OK) ] = "Success", > [ USTCOMM_CODE_OFFSET(LTTNG_UST_ERR) ] = "Unknown error", > [ USTCOMM_CODE_OFFSET(LTTNG_UST_ERR_NOENT) ] = "No entry", > + [ USTCOMM_CODE_OFFSET(LTTNG_UST_ERR_EXIST) ] = "Object already exists", > + [ USTCOMM_CODE_OFFSET(LTTNG_UST_ERR_INVAL) ] = "Invalid argument", > + [ USTCOMM_CODE_OFFSET(LTTNG_UST_ERR_PERM) ] = "Permission denied", > + [ USTCOMM_CODE_OFFSET(LTTNG_UST_ERR_NOSYS) ] = "Not implemented", > }; > > /* > diff --git a/liblttng-ust/lttng-ust-comm.c b/liblttng-ust/lttng-ust-comm.c > index f11b7d0..6eec73c 100644 > --- a/liblttng-ust/lttng-ust-comm.c > +++ b/liblttng-ust/lttng-ust-comm.c > @@ -376,9 +376,29 @@ end: > * we already have a more precise error message to > * report. > */ > - if (ret > -LTTNG_UST_ERR) > - lur.ret_code = -LTTNG_UST_ERR; > - else > + if (ret > -LTTNG_UST_ERR) { > + /* Translate code to UST error. */ > + switch (ret) { > + case -EEXIST: > + lur.ret_code = -LTTNG_UST_ERR_EXIST; > + break; > + case -EINVAL: > + lur.ret_code = -LTTNG_UST_ERR_INVAL; > + break; > + case -ENOENT: > + lur.ret_code = -LTTNG_UST_ERR_NOENT; > + break; > + case -EPERM: > + lur.ret_code = -LTTNG_UST_ERR_PERM; > + break; > + case -ENOSYS: > + lur.ret_code = -LTTNG_UST_ERR_NOSYS; > + break; > + default: > + lur.ret_code = -LTTNG_UST_ERR; > + break; > + } > + } else > lur.ret_code = ret; > } > if (ret >= 0) { > -- > 1.7.10.4 > > > _______________________________________________ > lttng-dev mailing list > [email protected] > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev -- Mathieu Desnoyers Operating System Efficiency R&D Consultant EfficiOS Inc. http://www.efficios.com _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
