Dave Allan <dallan@redhat.com>
Markus Armbruster <armbru@redhat.com>
Ryota Ozaki <ozaki.ryota@gmail.com>
+ James Morris <jmorris@namei.org>
+ Daniel J Walsh <dwalsh@redhat.com>
[....send patches to get your name here....]
+Tue Mar 3 09:10:13 GMT 2009 Daniel P. Berrange <berrange@redhat.com>
+
+ Public API for sVirt support (James Morris & Dan Walsh)
+ * include/libvirt/libvirt.h.in, src/libvirt_public.syms: added
+ virNodeGetSecurityModel() and virDomainGetSecurityLabel() APIs
+ * include/libvirt/libvirt.h: Regenerated
+
Tue Mar 3 08:55:13 GMT 2009 Daniel P. Berrange <berrange@redhat.com>
Don't try to detach & reset PCI devices while running test
VIR_DOMAIN_NONE = 0
} virDomainCreateFlags;
+/**
+ * VIR_SECURITY_LABEL_BUFLEN:
+ *
+ * Macro providing the maximum length of the virSecurityLabel label string.
+ * Note that this value is based on that used by Labeled NFS.
+ */
+#define VIR_SECURITY_LABEL_BUFLEN (4096 + 1)
+
+/**
+ * virSecurityLabel:
+ *
+ * a virSecurityLabel is a structure filled by virDomainGetSecurityLabel(),
+ * providing the security label and associated attributes for the specified
+ * domain.
+ *
+ */
+typedef struct _virSecurityLabel {
+ char label[VIR_SECURITY_LABEL_BUFLEN]; /* security label string */
+ int enforcing; /* 1 if security policy is being enforced for domain */
+} virSecurityLabel;
+
+/**
+ * virSecurityLabelPtr:
+ *
+ * a virSecurityLabelPtr is a pointer to a virSecurityLabel.
+ */
+typedef virSecurityLabel *virSecurityLabelPtr;
+
+/**
+ * VIR_SECURITY_MODEL_BUFLEN:
+ *
+ * Macro providing the maximum length of the virSecurityModel model string.
+ */
+#define VIR_SECURITY_MODEL_BUFLEN (256 + 1)
+
+/**
+ * VIR_SECURITY_DOI_BUFLEN:
+ *
+ * Macro providing the maximum length of the virSecurityModel doi string.
+ */
+#define VIR_SECURITY_DOI_BUFLEN (256 + 1)
+
+/**
+ * virSecurityModel:
+ *
+ * a virSecurityModel is a structure filled by virNodeGetSecurityModel(),
+ * providing the per-hypervisor security model and DOI attributes for the
+ * specified domain.
+ *
+ */
+typedef struct _virSecurityModel {
+ char model[VIR_SECURITY_MODEL_BUFLEN]; /* security model string */
+ char doi[VIR_SECURITY_DOI_BUFLEN]; /* domain of interpetation */
+} virSecurityModel;
+
+/**
+ * virSecurityModelPtr:
+ *
+ * a virSecurityModelPtr is a pointer to a virSecurityModel.
+ */
+typedef virSecurityModel *virSecurityModelPtr;
+
/**
* virNodeInfoPtr:
*
unsigned long long virNodeGetFreeMemory (virConnectPtr conn);
+int virNodeGetSecurityModel (virConnectPtr conn,
+ virSecurityModelPtr secmodel);
+
/*
* Gather list of running domains
*/
int virDomainSetMemory (virDomainPtr domain,
unsigned long memory);
int virDomainGetMaxVcpus (virDomainPtr domain);
+int virDomainGetSecurityLabel (virDomainPtr domain,
+ virSecurityLabelPtr seclabel);
/*
* XML domain description
VIR_DOMAIN_NONE = 0
} virDomainCreateFlags;
+/**
+ * VIR_SECURITY_LABEL_BUFLEN:
+ *
+ * Macro providing the maximum length of the virSecurityLabel label string.
+ * Note that this value is based on that used by Labeled NFS.
+ */
+#define VIR_SECURITY_LABEL_BUFLEN (4096 + 1)
+
+/**
+ * virSecurityLabel:
+ *
+ * a virSecurityLabel is a structure filled by virDomainGetSecurityLabel(),
+ * providing the security label and associated attributes for the specified
+ * domain.
+ *
+ */
+typedef struct _virSecurityLabel {
+ char label[VIR_SECURITY_LABEL_BUFLEN]; /* security label string */
+ int enforcing; /* 1 if security policy is being enforced for domain */
+} virSecurityLabel;
+
+/**
+ * virSecurityLabelPtr:
+ *
+ * a virSecurityLabelPtr is a pointer to a virSecurityLabel.
+ */
+typedef virSecurityLabel *virSecurityLabelPtr;
+
+/**
+ * VIR_SECURITY_MODEL_BUFLEN:
+ *
+ * Macro providing the maximum length of the virSecurityModel model string.
+ */
+#define VIR_SECURITY_MODEL_BUFLEN (256 + 1)
+
+/**
+ * VIR_SECURITY_DOI_BUFLEN:
+ *
+ * Macro providing the maximum length of the virSecurityModel doi string.
+ */
+#define VIR_SECURITY_DOI_BUFLEN (256 + 1)
+
+/**
+ * virSecurityModel:
+ *
+ * a virSecurityModel is a structure filled by virNodeGetSecurityModel(),
+ * providing the per-hypervisor security model and DOI attributes for the
+ * specified domain.
+ *
+ */
+typedef struct _virSecurityModel {
+ char model[VIR_SECURITY_MODEL_BUFLEN]; /* security model string */
+ char doi[VIR_SECURITY_DOI_BUFLEN]; /* domain of interpetation */
+} virSecurityModel;
+
+/**
+ * virSecurityModelPtr:
+ *
+ * a virSecurityModelPtr is a pointer to a virSecurityModel.
+ */
+typedef virSecurityModel *virSecurityModelPtr;
+
/**
* virNodeInfoPtr:
*
unsigned long long virNodeGetFreeMemory (virConnectPtr conn);
+int virNodeGetSecurityModel (virConnectPtr conn,
+ virSecurityModelPtr secmodel);
+
/*
* Gather list of running domains
*/
int virDomainSetMemory (virDomainPtr domain,
unsigned long memory);
int virDomainGetMaxVcpus (virDomainPtr domain);
+int virDomainGetSecurityLabel (virDomainPtr domain,
+ virSecurityLabelPtr seclabel);
/*
* XML domain description
virNodeDeviceDettach;
virNodeDeviceReAttach;
virNodeDeviceReset;
+ virDomainGetSecurityLabel;
+ virNodeGetSecurityModel;
} LIBVIRT_0.6.0;
# .... define new API here using predicted next version number ....