Eric Blake 7b4e5693c1 API: make declaration of _LAST enum values conditional
Although this is a public API break, it only affects users that
were compiling against *_LAST values, and can be trivially
worked around without impacting compilation against older
headers, by the user defining VIR_ENUM_SENTINELS before using
libvirt.h.  It is not an ABI break, since enum values do not
appear as .so entry points.  Meanwhile, it prevents users from
using non-stable enum values without explicitly acknowledging
the risk of doing so.

See this list discussion:
https://www.redhat.com/archives/libvir-list/2012-January/msg00804.html

* include/libvirt/libvirt.h.in: Hide all sentinels behind
LIBVIRT_ENUM_SENTINELS, and add missing sentinels.
* src/internal.h (VIR_DEPRECATED): Allow inclusion after
libvirt.h.
(LIBVIRT_ENUM_SENTINELS): Expose sentinels internally.
* daemon/libvirtd.h: Use the sentinels.
* src/remote/remote_protocol.x (includes): Don't expose sentinels.
* python/generator.py (enum): Likewise.
* tests/cputest.c (cpuTestCompResStr): Silence compiler warning.
* tools/virsh.c (vshDomainStateReasonToString)
(vshDomainControlStateToString): Likewise.
2012-01-20 16:05:51 -07:00
..
2011-12-05 13:02:54 +01:00
2010-05-12 08:41:10 +02:00
2011-07-11 19:38:51 +02:00
2011-12-01 13:49:20 -07:00
2011-04-29 10:21:20 -06:00
2011-11-18 10:32:49 -07:00
2011-06-30 18:04:02 +01:00
2009-10-07 12:18:13 +02:00
2009-10-07 12:18:13 +02:00
2011-06-24 08:01:10 -06:00
2011-12-01 13:49:20 -07:00
2011-12-01 13:49:20 -07:00
2011-04-29 10:21:20 -06:00
2010-05-12 08:41:10 +02:00
2011-12-01 13:49:20 -07:00
2010-05-12 08:41:10 +02:00
2011-07-11 09:21:37 -06:00
2011-10-24 15:42:52 -06:00
2009-07-16 15:06:42 +02:00
2010-05-12 08:41:10 +02:00
2010-05-12 08:41:10 +02:00
2011-12-01 14:12:59 -07:00
2011-12-01 14:12:59 -07:00
2010-05-12 08:41:10 +02:00
2012-01-12 15:16:40 -07:00
2011-12-01 13:49:20 -07:00
2011-07-11 19:38:51 +02:00
2011-07-11 19:38:51 +02:00
2011-12-01 13:49:20 -07:00