On Thu, Dec 18, 2014 at 09:48:15PM +0100, Claudio Bley wrote:
At Wed, 17 Dec 2014 09:55:58 +0100,
Michal Privoznik wrote:
>
> On 16.12.2014 23:09, Claudio Bley wrote:
> > Hi.
> >
> > Looking at the API docs, the virSecurityLabel is one of the
> > undisclosed structs, making its members not publicly available.
>
> I don't think it is. It's defined in include/libvirt/libvirt-host.h:
>
> typedef struct _virSecurityLabel {
> char label[VIR_SECURITY_LABEL_BUFLEN];
> int enforcing;
> } virSecurityLabel;
>
> typedef virSecurityLabel *virSecurityLabelPtr;
>
> In fact, the commit that added virDomainGetSecurityLabel() API
> (0b7860ecdd855251f1) exposed the virSecurityLabel struct too.
Good, but it doesn't show up in the API docs. See
http://libvirt.org/html/libvirt-libvirt-host.html#virSecurityLabel
and
http://libvirt.org/html/libvirt-libvirt-host.html#virSecurityModel
After some digging around I found out what the problem is. The
apibuild.py script doesn't like the typedef with the in-line struct
definition.
Yeah I've hit that and not been able to figure out how to fix the
API parser, so generally just change the struct definition instead.
Other structs with no field elements in libvirt-api.xml are
virConnect
virDomain
virDomainSnapshot
virInterface
virNetwork
virNodeDevice
virNWFilter
virSecret
virStoragePool
virStorageVol
virStream
I think these are truly non-public structs, so that should be OK.
None of their fields are shown in the public header files anyway.
Regards,
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|