From 97e5c46c93ba1375821fa5ef926c870d618c5036 Mon Sep 17 00:00:00 2001 From: shefty Date: Fri, 18 Jul 2008 00:27:20 +0000 Subject: [PATCH] winmad: add NET* data types to indicate values stored in network-byte order Signed-off-by: Sean Hefty git-svn-id: svn://openib.tc.cornell.edu/gen1@1415 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- branches/winverbs/core/winmad/kernel/wm_driver.c | 2 +- branches/winverbs/core/winmad/kernel/wm_driver.h | 7 ++++--- branches/winverbs/core/winmad/kernel/wm_reg.h | 1 - branches/winverbs/core/winmad/wm_ioctl.h | 16 ++++++++++------ branches/winverbs/inc/user/iba/winmad.h | 15 +++++++++------ branches/winverbs/ulp/libibumad/src/umad.cpp | 2 +- 6 files changed, 25 insertions(+), 18 deletions(-) diff --git a/branches/winverbs/core/winmad/kernel/wm_driver.c b/branches/winverbs/core/winmad/kernel/wm_driver.c index 3511ae40..dc5ee20e 100644 --- a/branches/winverbs/core/winmad/kernel/wm_driver.c +++ b/branches/winverbs/core/winmad/kernel/wm_driver.c @@ -56,7 +56,7 @@ static EVT_WDF_DEVICE_FILE_CREATE WmFileCreate; static EVT_WDF_FILE_CLEANUP WmFileCleanup; static EVT_WDF_FILE_CLOSE WmFileClose; -WM_IB_DEVICE *WmIbDeviceGet(UINT64 Guid) +WM_IB_DEVICE *WmIbDeviceGet(NET64 Guid) { WM_IB_DEVICE *cur_dev, *dev = NULL; LIST_ENTRY *entry; diff --git a/branches/winverbs/core/winmad/kernel/wm_driver.h b/branches/winverbs/core/winmad/kernel/wm_driver.h index 96027e20..7f51bd32 100644 --- a/branches/winverbs/core/winmad/kernel/wm_driver.h +++ b/branches/winverbs/core/winmad/kernel/wm_driver.h @@ -38,12 +38,13 @@ #include #include +#include "wm_ioctl.h" extern WDFDEVICE ControlDevice; typedef struct _WM_IB_PORT { - UINT64 Guid; + NET64 Guid; } WM_IB_PORT; @@ -52,7 +53,7 @@ typedef struct _WM_IB_DEVICE LIST_ENTRY Entry; LONG Ref; KEVENT Event; - UINT64 Guid; // Network byte order + NET64 Guid; union { RDMA_INTERFACE_VERBS VerbsInterface; @@ -66,7 +67,7 @@ typedef struct _WM_IB_DEVICE } WM_IB_DEVICE; -WM_IB_DEVICE *WmIbDeviceGet(UINT64 Guid); +WM_IB_DEVICE *WmIbDeviceGet(NET64 Guid); void WmIbDevicePut(WM_IB_DEVICE *pDevice); #endif // _WM_DRIVER_H_ diff --git a/branches/winverbs/core/winmad/kernel/wm_reg.h b/branches/winverbs/core/winmad/kernel/wm_reg.h index f31b493e..4dd03ccb 100644 --- a/branches/winverbs/core/winmad/kernel/wm_reg.h +++ b/branches/winverbs/core/winmad/kernel/wm_reg.h @@ -48,7 +48,6 @@ typedef struct _WM_REGISTRATION ib_qp_handle_t hQp; ib_pool_key_t hMadPool; ib_mad_svc_handle_t hService; - //UINT8 Port; SIZE_T Id; LONG Ref; diff --git a/branches/winverbs/core/winmad/wm_ioctl.h b/branches/winverbs/core/winmad/wm_ioctl.h index 7819c6a7..628b5b62 100644 --- a/branches/winverbs/core/winmad/wm_ioctl.h +++ b/branches/winverbs/core/winmad/wm_ioctl.h @@ -32,6 +32,10 @@ #ifndef _WM_IOCTL_H_ #define _WM_IOCTL_H_ +typedef UINT16 NET16; +typedef UINT32 NET32; +typedef UINT64 NET64; + #define WM_IOCTL(f) CTL_CODE(FILE_DEVICE_INFINIBAND, f, METHOD_BUFFERED,\ FILE_READ_DATA | FILE_WRITE_DATA) @@ -64,8 +68,8 @@ enum { typedef struct _WM_IO_REGISTER { - UINT64 Guid; - UINT32 Qpn; // Network byte order + NET64 Guid; + NET32 Qpn; UINT8 Port; UINT8 Class; UINT8 Version; @@ -77,16 +81,16 @@ typedef struct _WM_IO_REGISTER typedef struct _WM_IO_MAD_AV { - UINT32 Qpn; // Network byte order - UINT32 Qkey; // Network byte order - UINT32 VersionClassFlow; + NET32 Qpn; + NET32 Qkey; + NET32 VersionClassFlow; UINT16 PkeyIndex; UINT8 HopLimit; UINT8 GidIndex; UINT8 Gid[16]; UINT16 Reserved; - UINT16 Lid; // Network byte order + NET16 Lid; UINT8 ServiceLevel; UINT8 PathBits; UINT8 StaticRate; diff --git a/branches/winverbs/inc/user/iba/winmad.h b/branches/winverbs/inc/user/iba/winmad.h index 6c59f4fa..779ef74e 100644 --- a/branches/winverbs/inc/user/iba/winmad.h +++ b/branches/winverbs/inc/user/iba/winmad.h @@ -36,11 +36,14 @@ #include +typedef UINT64 NET64; +typedef UINT32 NET32; +typedef UINT16 NET16; typedef struct _WM_REGISTER { - UINT64 Guid; - UINT32 Qpn; // Network byte order + NET64 Guid; + NET32 Qpn; UINT8 Port; UINT8 Class; UINT8 Version; @@ -52,16 +55,16 @@ typedef struct _WM_REGISTER typedef struct _WM_MAD_AV { - UINT32 Qpn; // Network byte order - UINT32 Qkey; // Network byte order - UINT32 VersionClassFlow; + NET32 Qpn; + NET32 Qkey; + NET32 VersionClassFlow; UINT16 PkeyIndex; UINT8 HopLimit; UINT8 GidIndex; UINT8 Gid[16]; UINT16 Reserved; - UINT16 Lid; // Network byte order + NET16 Lid; UINT8 ServiceLevel; UINT8 PathBits; UINT8 StaticRate; diff --git a/branches/winverbs/ulp/libibumad/src/umad.cpp b/branches/winverbs/ulp/libibumad/src/umad.cpp index fb57e1a3..989b8657 100644 --- a/branches/winverbs/ulp/libibumad/src/umad.cpp +++ b/branches/winverbs/ulp/libibumad/src/umad.cpp @@ -45,7 +45,7 @@ typedef struct um_port { IWMProvider *prov; - UINT64 dev_guid; + NET64 dev_guid; OVERLAPPED overlap; BOOL pending; UINT8 port_num; -- 2.41.0