# util/virccw.h
virCCWDeviceAddressAsString;
virCCWDeviceAddressEqual;
+virCCWDeviceAddressFromString;
virCCWDeviceAddressIncrement;
virCCWDeviceAddressIsValid;
virCCWDeviceAddressParseFromString;
#include <config.h>
#include "virccw.h"
+#include "virerror.h"
#include "virstring.h"
+#define VIR_FROM_THIS VIR_FROM_NONE
+
bool
virCCWDeviceAddressIsValid(virCCWDeviceAddress *addr)
return g_strdup_printf(VIR_CCW_DEVICE_ADDRESS_FMT, addr->cssid, addr->ssid, addr->devno);
}
+virCCWDeviceAddress *
+virCCWDeviceAddressFromString(const char *address)
+{
+ g_autofree virCCWDeviceAddress *ccw = NULL;
+
+ ccw = g_new0(virCCWDeviceAddress, 1);
+
+ if (virCCWDeviceAddressParseFromString(address,
+ &ccw->cssid,
+ &ccw->ssid,
+ &ccw->devno) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Failed to parse CCW address '%s'"),
+ address);
+ return NULL;
+ }
+
+ return g_steal_pointer(&ccw);
+}
+
int
virCCWDeviceAddressIncrement(virCCWDeviceAddress *addr)
{
char* virCCWDeviceAddressAsString(virCCWDeviceAddress *addr)
ATTRIBUTE_NONNULL(1);
+virCCWDeviceAddress *virCCWDeviceAddressFromString(const char *address)
+ ATTRIBUTE_NONNULL(1);
+
int virCCWDeviceAddressIncrement(virCCWDeviceAddress *addr);
int virCCWDeviceAddressParseFromString(const char *address,