The next patch will use it in virsh-completer.c for returning the name list of pool events. Signed-off-by: Lin Ma <lma@xxxxxxxx> --- tools/virsh-pool.c | 18 ++++++------------ tools/virsh-pool.h | 8 ++++++++ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c index 36bf8d9faa..f0544d2e2d 100644 --- a/tools/virsh-pool.c +++ b/tools/virsh-pool.c @@ -1999,18 +1999,12 @@ virshPoolEventToString(int event) return str ? _(str) : _("unknown"); } -struct vshEventCallback { - const char *name; - virConnectStoragePoolEventGenericCallback cb; -}; -typedef struct vshEventCallback vshEventCallback; - struct virshPoolEventData { vshControl *ctl; bool loop; bool timestamp; int count; - vshEventCallback *cb; + vshPoolEventCallback *cb; }; typedef struct virshPoolEventData virshPoolEventData; @@ -2079,12 +2073,12 @@ vshEventGenericPrint(virConnectPtr conn ATTRIBUTE_UNUSED, vshEventDone(data->ctl); } -static vshEventCallback vshEventCallbacks[] = { +vshPoolEventCallback vshPoolEventCallbacks[] = { { "lifecycle", VIR_STORAGE_POOL_EVENT_CALLBACK(vshEventLifecyclePrint), }, { "refresh", vshEventGenericPrint, } }; -verify(VIR_STORAGE_POOL_EVENT_ID_LAST == ARRAY_CARDINALITY(vshEventCallbacks)); +verify(VIR_STORAGE_POOL_EVENT_ID_LAST == ARRAY_CARDINALITY(vshPoolEventCallbacks)); static const vshCmdInfo info_pool_event[] = { @@ -2141,7 +2135,7 @@ cmdPoolEvent(vshControl *ctl, const vshCmd *cmd) size_t i; for (i = 0; i < VIR_STORAGE_POOL_EVENT_ID_LAST; i++) - vshPrint(ctl, "%s\n", vshEventCallbacks[i].name); + vshPrint(ctl, "%s\n", vshPoolEventCallbacks[i].name); return true; } @@ -2153,7 +2147,7 @@ cmdPoolEvent(vshControl *ctl, const vshCmd *cmd) } for (event = 0; event < VIR_STORAGE_POOL_EVENT_ID_LAST; event++) - if (STREQ(eventName, vshEventCallbacks[event].name)) + if (STREQ(eventName, vshPoolEventCallbacks[event].name)) break; if (event == VIR_STORAGE_POOL_EVENT_ID_LAST) { vshError(ctl, _("unknown event type %s"), eventName); @@ -2164,7 +2158,7 @@ cmdPoolEvent(vshControl *ctl, const vshCmd *cmd) data.loop = vshCommandOptBool(cmd, "loop"); data.timestamp = vshCommandOptBool(cmd, "timestamp"); data.count = 0; - data.cb = &vshEventCallbacks[event]; + data.cb = &vshPoolEventCallbacks[event]; if (vshCommandOptTimeoutToMs(ctl, cmd, &timeout) < 0) return false; diff --git a/tools/virsh-pool.h b/tools/virsh-pool.h index 5f2671ae63..1148d7cebb 100644 --- a/tools/virsh-pool.h +++ b/tools/virsh-pool.h @@ -37,6 +37,14 @@ virshCommandOptPoolBy(vshControl *ctl, const vshCmd *cmd, const char *optname, virshCommandOptPoolBy(_ctl, _cmd, _optname, _name, \ VIRSH_BYUUID | VIRSH_BYNAME) +struct vshPoolEventCallback { + const char *name; + virConnectStoragePoolEventGenericCallback cb; +}; +typedef struct vshPoolEventCallback vshPoolEventCallback; + +extern vshPoolEventCallback vshPoolEventCallbacks[]; + extern const vshCmdDef storagePoolCmds[]; #endif /* VIRSH_POOL_H */ -- 2.16.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list