|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH 2/7] Use macros for Frontend data accessors
From: Owen Smith <owen.smith@xxxxxxxxxx>
Signed-off-by: Owen Smith <owen.smith@xxxxxxxxxx>
---
src/xenvbd/frontend.c | 152 ++++++++++++++++++++------------------------------
src/xenvbd/frontend.h | 73 ++++++++----------------
2 files changed, 83 insertions(+), 142 deletions(-)
diff --git a/src/xenvbd/frontend.c b/src/xenvbd/frontend.c
index 0b23b70..fca360a 100644
--- a/src/xenvbd/frontend.c
+++ b/src/xenvbd/frontend.c
@@ -56,7 +56,7 @@ struct _XENVBD_FRONTEND {
CHAR FrontendPath[sizeof("device/vbd/XXXXXXXX")];
PCHAR BackendPath;
CHAR TargetPath[sizeof("data/scsi/target/XXXX")];
- USHORT BackendId;
+ USHORT BackendDomain;
XENVBD_STATE State;
KSPIN_LOCK StateLock;
@@ -123,40 +123,6 @@ __FrontendFree(
__FreePoolWithTag(Buffer, FRONTEND_POOL_TAG);
}
-//=============================================================================
-// Accessors
-ULONG
-FrontendGetDeviceId(
- IN PXENVBD_FRONTEND Frontend
- )
-{
- return Frontend->DeviceId;
-}
-
-ULONG
-FrontendGetBackendDomain(
- IN PXENVBD_FRONTEND Frontend
- )
-{
- return Frontend->BackendId;
-}
-
-PCHAR
-FrontendGetBackendPath(
- IN PXENVBD_FRONTEND Frontend
- )
-{
- return Frontend->BackendPath;
-}
-
-PCHAR
-FrontendGetFrontendPath(
- IN PXENVBD_FRONTEND Frontend
- )
-{
- return Frontend->FrontendPath;
-}
-
VOID
FrontendRemoveFeature(
IN PXENVBD_FRONTEND Frontend,
@@ -184,34 +150,7 @@ FrontendRemoveFeature(
break;
}
}
-PXENVBD_CAPS
-FrontendGetCaps(
- __in PXENVBD_FRONTEND Frontend
- )
-{
- return &Frontend->Caps;
-}
-PXENVBD_FEATURES
-FrontendGetFeatures(
- __in PXENVBD_FRONTEND Frontend
- )
-{
- return &Frontend->Features;
-}
-PXENVBD_DISKINFO
-FrontendGetDiskInfo(
- __in PXENVBD_FRONTEND Frontend
- )
-{
- return &Frontend->DiskInfo;
-}
-ULONG
-FrontendGetTargetId(
- __in PXENVBD_FRONTEND Frontend
- )
-{
- return Frontend->TargetId;
-}
+
PVOID
FrontendGetInquiry(
__in PXENVBD_FRONTEND Frontend
@@ -219,27 +158,6 @@ FrontendGetInquiry(
{
return Frontend->Inquiry;
}
-PXENVBD_TARGET
-FrontendGetTarget(
- __in PXENVBD_FRONTEND Frontend
- )
-{
- return Frontend->Target;
-}
-PXENVBD_RING
-FrontendGetRing(
- __in PXENVBD_FRONTEND Frontend
- )
-{
- return Frontend->Ring;
-}
-PXENVBD_GRANTER
-FrontendGetGranter(
- __in PXENVBD_FRONTEND Frontend
- )
-{
- return Frontend->Granter;
-}
NTSTATUS
FrontendStoreWriteFrontend(
@@ -373,12 +291,12 @@ __UpdateBackendPath(
"backend-id",
&Value);
if (NT_SUCCESS(Status)) {
- Frontend->BackendId = (USHORT)strtoul(Value, NULL, 10);
+ Frontend->BackendDomain = (USHORT)strtoul(Value, NULL, 10);
XENBUS_STORE(Free,
&Frontend->StoreInterface,
Value);
} else {
- Frontend->BackendId = 0;
+ Frontend->BackendDomain = 0;
}
Status = XENBUS_STORE(Read,
@@ -997,7 +915,7 @@ FrontendClose(
Frontend->BackendWatch);
Frontend->BackendWatch = NULL;
- Frontend->BackendId = DOMID_INVALID;
+ Frontend->BackendDomain = DOMID_INVALID;
// get/update backend path
Status = __UpdateBackendPath(Frontend);
@@ -1119,7 +1037,7 @@ FrontendPrepare(
// read features and caps (removable, ring-order, ...)
Verbose("Target[%d] : BackendId %d (%s)\n",
Frontend->TargetId,
- Frontend->BackendId,
+ Frontend->BackendDomain,
Frontend->BackendPath);
FrontendReadFeatures(Frontend);
@@ -1158,7 +1076,7 @@ FrontendConnect(
XenbusState BackendState;
// Alloc Ring, Create Evtchn, Gnttab map
- Status = GranterConnect(Frontend->Granter, Frontend->BackendId);
+ Status = GranterConnect(Frontend->Granter, Frontend->BackendDomain);
if (!NT_SUCCESS(Status))
goto fail1;
@@ -1680,7 +1598,7 @@ FrontendCreate(
Frontend->DeviceId = strtoul(DeviceId, NULL, 10);
Frontend->State = XENVBD_INITIALIZED;
Frontend->DiskInfo.SectorSize = 512; // default sector size
- Frontend->BackendId = DOMID_INVALID;
+ Frontend->BackendDomain = DOMID_INVALID;
status = RtlStringCbPrintfA(Frontend->FrontendPath,
sizeof(Frontend->FrontendPath),
@@ -1776,10 +1694,10 @@ FrontendDebugCallback(
)
{
XENBUS_DEBUG(Printf, Debug,
- "FRONTEND: TargetId=%d DeviceId=%d BackendId=%d\n",
+ "FRONTEND: TargetId=%d DeviceId=%d BackendDomain=%d\n",
Frontend->TargetId,
Frontend->DeviceId,
- Frontend->BackendId);
+ Frontend->BackendDomain);
XENBUS_DEBUG(Printf, Debug,
"FRONTEND: FrontendPath %s\n",
Frontend->FrontendPath);
@@ -1833,3 +1751,53 @@ FrontendDebugCallback(
GranterDebugCallback(Frontend->Granter, Debug);
}
+#define FRONTEND_GET_PROPERTY(_name, _type) \
+static FORCEINLINE _type \
+__FrontendGet ## _name ## ( \
+ IN PXENVBD_FRONTEND Frontend \
+ ) \
+{ \
+ return Frontend-> ## _name ## ; \
+} \
+_type \
+FrontendGet ## _name ## ( \
+ IN PXENVBD_FRONTEND Frontend \
+ ) \
+{ \
+ return __FrontendGet ## _name ## (Frontend);\
+}
+
+FRONTEND_GET_PROPERTY(Target, PXENVBD_TARGET)
+FRONTEND_GET_PROPERTY(Ring, PXENVBD_RING)
+FRONTEND_GET_PROPERTY(Granter, PXENVBD_GRANTER)
+FRONTEND_GET_PROPERTY(TargetId, ULONG)
+FRONTEND_GET_PROPERTY(DeviceId, ULONG)
+FRONTEND_GET_PROPERTY(BackendDomain, ULONG)
+FRONTEND_GET_PROPERTY(BackendPath, PCHAR)
+FRONTEND_GET_PROPERTY(FrontendPath, PCHAR)
+//FRONTEND_GET_PROPERTY(Caps, PXENVBD_CAPS)
+PXENVBD_CAPS
+FrontendGetCaps(
+ IN PXENVBD_FRONTEND Frontend
+ )
+{
+ return &Frontend->Caps;
+}
+//FRONTEND_GET_PROPERTY(Features, PXENVBD_FEATURES)
+PXENVBD_FEATURES
+FrontendGetFeatures(
+ IN PXENVBD_FRONTEND Frontend
+ )
+{
+ return &Frontend->Features;
+}
+//FRONTEND_GET_PROPERTY(DiskInfo, PXENVBD_DISKINFO)
+PXENVBD_DISKINFO
+FrontendGetDiskInfo(
+ IN PXENVBD_FRONTEND Frontend
+ )
+{
+ return &Frontend->DiskInfo;
+}
+
+#undef FRONTEND_GET_PROPERTY
diff --git a/src/xenvbd/frontend.h b/src/xenvbd/frontend.h
index 513ace4..49c121c 100644
--- a/src/xenvbd/frontend.h
+++ b/src/xenvbd/frontend.h
@@ -74,65 +74,16 @@ typedef struct _XENVBD_DISKINFO {
typedef struct _XENVBD_FRONTEND XENVBD_FRONTEND, *PXENVBD_FRONTEND;
-extern ULONG
-FrontendGetDeviceId(
- IN PXENVBD_FRONTEND Frontend
- );
-
-extern ULONG
-FrontendGetBackendDomain(
- IN PXENVBD_FRONTEND Frontend
- );
-
-extern PCHAR
-FrontendGetBackendPath(
- IN PXENVBD_FRONTEND Frontend
- );
-
-extern PCHAR
-FrontendGetFrontendPath(
- IN PXENVBD_FRONTEND Frontend
- );
-
extern VOID
FrontendRemoveFeature(
IN PXENVBD_FRONTEND Frontend,
IN UCHAR BlkifOperation
);
-extern PXENVBD_CAPS
-FrontendGetCaps(
- __in PXENVBD_FRONTEND Frontend
- );
-extern PXENVBD_FEATURES
-FrontendGetFeatures(
- __in PXENVBD_FRONTEND Frontend
- );
-extern PXENVBD_DISKINFO
-FrontendGetDiskInfo(
- __in PXENVBD_FRONTEND Frontend
- );
-extern ULONG
-FrontendGetTargetId(
- __in PXENVBD_FRONTEND Frontend
- );
+
extern PVOID
FrontendGetInquiry(
__in PXENVBD_FRONTEND Frontend
);
-extern PXENVBD_TARGET
-FrontendGetTarget(
- __in PXENVBD_FRONTEND Frontend
- );
-#include "ring.h"
-extern PXENVBD_RING
-FrontendGetRing(
- __in PXENVBD_FRONTEND Frontend
- );
-#include "granter.h"
-extern PXENVBD_GRANTER
-FrontendGetGranter(
- __in PXENVBD_FRONTEND Frontend
- );
extern NTSTATUS
FrontendStoreWriteFrontend(
@@ -205,4 +156,26 @@ FrontendDebugCallback(
__in PXENBUS_DEBUG_INTERFACE Debug
);
+#define FRONTEND_GET_PROPERTY(_name, _type) \
+extern _type \
+FrontendGet ## _name ## ( \
+ IN PXENVBD_FRONTEND Frontend \
+ );
+
+FRONTEND_GET_PROPERTY(Target, PXENVBD_TARGET)
+#include "ring.h"
+FRONTEND_GET_PROPERTY(Ring, PXENVBD_RING)
+#include "granter.h"
+FRONTEND_GET_PROPERTY(Granter, PXENVBD_GRANTER)
+FRONTEND_GET_PROPERTY(TargetId, ULONG)
+FRONTEND_GET_PROPERTY(DeviceId, ULONG)
+FRONTEND_GET_PROPERTY(BackendDomain, ULONG)
+FRONTEND_GET_PROPERTY(BackendPath, PCHAR)
+FRONTEND_GET_PROPERTY(FrontendPath, PCHAR)
+FRONTEND_GET_PROPERTY(Caps, PXENVBD_CAPS)
+FRONTEND_GET_PROPERTY(Features, PXENVBD_FEATURES)
+FRONTEND_GET_PROPERTY(DiskInfo, PXENVBD_DISKINFO)
+
+#undef FRONTEND_GET_PROPERTY
+
#endif // _XENVBD_FRONTEND_H
--
2.8.3
_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |