[libvirt] libvirt boolean type

Claudio Bley cbley at av-test.de
Fri Jan 11 15:40:31 UTC 2013


Hi.

The following patch's intend is to get a discussion started first.

Rationale:

Many functions in libvirt return "1 for <TRUE>, 0 for <FALSE> and -1
on <ERROR>".

When calling a function you need to read the documentation, skipping
to the "Returns:" text in order to determine what return values to
expect from the function and how to interpret them.

This is cumbersome and takes an extra step which could be avoided.

Advantages:

+ enum is binary compatible with int, so no ABI changes

+ without reading the documentation, you see what return values to expect
  at a glance

+ code generators in higher level languages could use it to generate proper
  wrappings to "boolean" automatically

+ compilers can probably warn when returning a value not part of the enum

Claudio Bley (1):
  Implement a virBool type

 include/libvirt/libvirt.h.in |   25 +++++++++++++++++++++----
 python/generator.py          |   16 ++++++++++++++++
 src/libvirt.c                |    8 ++++----
 3 files changed, 41 insertions(+), 8 deletions(-)

-- 
1.7.9.5




More information about the libvir-list mailing list