]> xenbits.xensource.com Git - pvdrivers/win/xenvbd.git/commitdiff
Use macros for Frontend data accessors
authorOwen Smith <owen.smith@citrix.com>
Fri, 22 Sep 2017 11:22:44 +0000 (12:22 +0100)
committerPaul Durrant <paul.durrant@citrix.com>
Fri, 22 Sep 2017 12:28:58 +0000 (13:28 +0100)
Signed-off-by: Owen Smith <owen.smith@citrix.com>
src/xenvbd/frontend.c
src/xenvbd/frontend.h

index 0b23b70537561daa07d49051527bf243826a6294..fca360a7c7dd023f3ac622d7dae7fbb89383de42 100644 (file)
@@ -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
index 513ace4f1e38bf5223c766185d0e2762ce55c8e0..49c121c6b458fdfcc22c85f5b3b1cf1673c7c9ae 100644 (file)
@@ -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