Create a new libvirt-secret.h file to hold the public
API definitions for the virSecret type. This header
file is not self-contained, so applications will not directly
include it. They will contain to #include <libvirt/libvirt.h>
---
docs/apibuild.py | 1 +
include/libvirt/Makefile.am | 1 +
include/libvirt/libvirt-secret.h | 113 +++++++++++++++++++++++++++++++++++++++
include/libvirt/libvirt.h.in | 85 +----------------------------
4 files changed, 116 insertions(+), 84 deletions(-)
create mode 100644 include/libvirt/libvirt-secret.h
diff --git a/docs/apibuild.py b/docs/apibuild.py
index 32ac773..b8fd191 100755
--- a/docs/apibuild.py
+++ b/docs/apibuild.py
@@ -27,6 +27,7 @@ included_files = {
"libvirt-network.h": "header with general libvirt API
definitions",
"libvirt-nodedev.h": "header with general libvirt API
definitions",
"libvirt-nwfilter.h": "header with general libvirt API
definitions",
+ "libvirt-secret.h": "header with general libvirt API definitions",
"virterror.h": "header with error specific API definitions",
"libvirt.c": "Main interfaces for the libvirt library",
"libvirt-domain.c": "Domain interfaces for the libvirt library",
diff --git a/include/libvirt/Makefile.am b/include/libvirt/Makefile.am
index 75142d8..62332e1 100644
--- a/include/libvirt/Makefile.am
+++ b/include/libvirt/Makefile.am
@@ -24,6 +24,7 @@ virinc_HEADERS = libvirt.h \
libvirt-network.h \
libvirt-nodedev.h \
libvirt-nwfilter.h \
+ libvirt-secret.h \
libvirt-lxc.h \
libvirt-qemu.h \
virterror.h
diff --git a/include/libvirt/libvirt-secret.h b/include/libvirt/libvirt-secret.h
new file mode 100644
index 0000000..3e5cdf6
--- /dev/null
+++ b/include/libvirt/libvirt-secret.h
@@ -0,0 +1,113 @@
+/*
+ * libvirt-secret.h
+ * Summary: APIs for management of secrets
+ * Description: Provides APIs for the management of secrets
+ * Author: Daniel Veillard <veillard(a)redhat.com>
+ *
+ * Copyright (C) 2006-2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <
http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __VIR_LIBVIRT_SECRET_H__
+# define __VIR_LIBVIRT_SECRET_H__
+
+# ifndef __VIR_LIBVIRT_H_INCLUDES__
+# error "Don't include this file directly, only use libvirt/libvirt.h"
+# endif
+
+
+/**
+ * virSecret:
+ *
+ * A virSecret stores a secret value (e.g. a passphrase or encryption key)
+ * and associated metadata.
+ */
+typedef struct _virSecret virSecret;
+typedef virSecret *virSecretPtr;
+
+typedef enum {
+ VIR_SECRET_USAGE_TYPE_NONE = 0,
+ VIR_SECRET_USAGE_TYPE_VOLUME = 1,
+ VIR_SECRET_USAGE_TYPE_CEPH = 2,
+ VIR_SECRET_USAGE_TYPE_ISCSI = 3,
+
+# ifdef VIR_ENUM_SENTINELS
+ VIR_SECRET_USAGE_TYPE_LAST
+ /*
+ * NB: this enum value will increase over time as new events are
+ * added to the libvirt API. It reflects the last secret owner ID
+ * supported by this version of the libvirt API.
+ */
+# endif
+} virSecretUsageType;
+
+virConnectPtr virSecretGetConnect (virSecretPtr secret);
+int virConnectNumOfSecrets (virConnectPtr conn);
+int virConnectListSecrets (virConnectPtr conn,
+ char **uuids,
+ int maxuuids);
+
+/*
+ * virConnectListAllSecrets:
+ *
+ * Flags used to filter the returned secrets. Flags in each group
+ * are exclusive attributes of a secret.
+ */
+typedef enum {
+ VIR_CONNECT_LIST_SECRETS_EPHEMERAL = 1 << 0, /* kept in memory, never
+ stored persistently */
+ VIR_CONNECT_LIST_SECRETS_NO_EPHEMERAL = 1 << 1,
+
+ VIR_CONNECT_LIST_SECRETS_PRIVATE = 1 << 2, /* not revealed to any caller
+ of libvirt, nor to any other
+ node */
+ VIR_CONNECT_LIST_SECRETS_NO_PRIVATE = 1 << 3,
+} virConnectListAllSecretsFlags;
+
+int virConnectListAllSecrets(virConnectPtr conn,
+ virSecretPtr **secrets,
+ unsigned int flags);
+virSecretPtr virSecretLookupByUUID(virConnectPtr conn,
+ const unsigned char *uuid);
+virSecretPtr virSecretLookupByUUIDString(virConnectPtr conn,
+ const char *uuid);
+virSecretPtr virSecretLookupByUsage(virConnectPtr conn,
+ int usageType,
+ const char *usageID);
+virSecretPtr virSecretDefineXML (virConnectPtr conn,
+ const char *xml,
+ unsigned int flags);
+int virSecretGetUUID (virSecretPtr secret,
+ unsigned char *buf);
+int virSecretGetUUIDString (virSecretPtr secret,
+ char *buf);
+int virSecretGetUsageType (virSecretPtr secret);
+const char * virSecretGetUsageID (virSecretPtr secret);
+char * virSecretGetXMLDesc (virSecretPtr secret,
+ unsigned int flags);
+int virSecretSetValue (virSecretPtr secret,
+ const unsigned char *value,
+ size_t value_size,
+ unsigned int flags);
+unsigned char * virSecretGetValue (virSecretPtr secret,
+ size_t *value_size,
+ unsigned int flags);
+int virSecretUndefine (virSecretPtr secret);
+int virSecretRef (virSecretPtr secret);
+int virSecretFree (virSecretPtr secret);
+
+
+#endif /* __VIR_LIBVIRT_SECRET_H__ */
diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index 14cd205..39824ab 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -3673,90 +3673,6 @@ int virEventAddTimeout(int frequency,
void virEventUpdateTimeout(int timer, int frequency);
int virEventRemoveTimeout(int timer);
-/*
- * Secret manipulation API
- */
-
-/**
- * virSecret:
- *
- * A virSecret stores a secret value (e.g. a passphrase or encryption key)
- * and associated metadata.
- */
-typedef struct _virSecret virSecret;
-typedef virSecret *virSecretPtr;
-
-typedef enum {
- VIR_SECRET_USAGE_TYPE_NONE = 0,
- VIR_SECRET_USAGE_TYPE_VOLUME = 1,
- VIR_SECRET_USAGE_TYPE_CEPH = 2,
- VIR_SECRET_USAGE_TYPE_ISCSI = 3,
-
-#ifdef VIR_ENUM_SENTINELS
- VIR_SECRET_USAGE_TYPE_LAST
- /*
- * NB: this enum value will increase over time as new events are
- * added to the libvirt API. It reflects the last secret owner ID
- * supported by this version of the libvirt API.
- */
-#endif
-} virSecretUsageType;
-
-virConnectPtr virSecretGetConnect (virSecretPtr secret);
-int virConnectNumOfSecrets (virConnectPtr conn);
-int virConnectListSecrets (virConnectPtr conn,
- char **uuids,
- int maxuuids);
-
-/*
- * virConnectListAllSecrets:
- *
- * Flags used to filter the returned secrets. Flags in each group
- * are exclusive attributes of a secret.
- */
-typedef enum {
- VIR_CONNECT_LIST_SECRETS_EPHEMERAL = 1 << 0, /* kept in memory, never
- stored persistently */
- VIR_CONNECT_LIST_SECRETS_NO_EPHEMERAL = 1 << 1,
-
- VIR_CONNECT_LIST_SECRETS_PRIVATE = 1 << 2, /* not revealed to any caller
- of libvirt, nor to any other
- node */
- VIR_CONNECT_LIST_SECRETS_NO_PRIVATE = 1 << 3,
-} virConnectListAllSecretsFlags;
-
-int virConnectListAllSecrets(virConnectPtr conn,
- virSecretPtr **secrets,
- unsigned int flags);
-virSecretPtr virSecretLookupByUUID(virConnectPtr conn,
- const unsigned char *uuid);
-virSecretPtr virSecretLookupByUUIDString(virConnectPtr conn,
- const char *uuid);
-virSecretPtr virSecretLookupByUsage(virConnectPtr conn,
- int usageType,
- const char *usageID);
-virSecretPtr virSecretDefineXML (virConnectPtr conn,
- const char *xml,
- unsigned int flags);
-int virSecretGetUUID (virSecretPtr secret,
- unsigned char *buf);
-int virSecretGetUUIDString (virSecretPtr secret,
- char *buf);
-int virSecretGetUsageType (virSecretPtr secret);
-const char * virSecretGetUsageID (virSecretPtr secret);
-char * virSecretGetXMLDesc (virSecretPtr secret,
- unsigned int flags);
-int virSecretSetValue (virSecretPtr secret,
- const unsigned char *value,
- size_t value_size,
- unsigned int flags);
-unsigned char * virSecretGetValue (virSecretPtr secret,
- size_t *value_size,
- unsigned int flags);
-int virSecretUndefine (virSecretPtr secret);
-int virSecretRef (virSecretPtr secret);
-int virSecretFree (virSecretPtr secret);
-
typedef enum {
VIR_STREAM_NONBLOCK = (1 << 0),
} virStreamFlags;
@@ -5109,6 +5025,7 @@ typedef virMemoryParameter *virMemoryParameterPtr;
#include <libvirt/libvirt-network.h>
#include <libvirt/libvirt-nodedev.h>
#include <libvirt/libvirt-nwfilter.h>
+#include <libvirt/libvirt-secret.h>
#undef __VIR_LIBVIRT_H_INCLUDES__
#ifdef __cplusplus
--
2.1.0