Staging: hv: fix sparse static warnings
[deliverable/linux.git] / drivers / staging / hv / RndisFilter.c
index ee56e0a621b72774bb27122b89a1893feda6cc2a..c6b9dfd2f2e469355805dd6ea29edf41595bba29 100644 (file)
  *
  */
 
-#define KERNEL_2_6_27
-
 #include <linux/kernel.h>
+#include <linux/mm.h>
 #include "include/logging.h"
 
 #include "include/NetVscApi.h"
 #include "RndisFilter.h"
 
-//
-// Data types
-//
+
+/* Data types */
+
 
 typedef struct _RNDIS_FILTER_DRIVER_OBJECT {
-       // The original driver
+       /* The original driver */
        NETVSC_DRIVER_OBJECT            InnerDriver;
 
 } RNDIS_FILTER_DRIVER_OBJECT;
@@ -47,31 +46,31 @@ typedef enum {
 } RNDIS_DEVICE_STATE;
 
 typedef struct _RNDIS_DEVICE {
-       NETVSC_DEVICE                   *NetDevice;
+       struct NETVSC_DEVICE                    *NetDevice;
 
        RNDIS_DEVICE_STATE              State;
        u32                                     LinkStatus;
        u32                                     NewRequestId;
 
-       HANDLE                                  RequestLock;
+       spinlock_t request_lock;
        LIST_ENTRY                              RequestList;
 
-       UCHAR                                   HwMacAddr[HW_MACADDR_LEN];
+       unsigned char                                   HwMacAddr[HW_MACADDR_LEN];
 } RNDIS_DEVICE;
 
 
 typedef struct _RNDIS_REQUEST {
        LIST_ENTRY                                      ListEntry;
-       HANDLE                                          WaitEvent;
+       struct osd_waitevent *WaitEvent;
 
-       // FIXME: We assumed a fixed size response here. If we do ever need to handle a bigger response,
-       // we can either define a max response message or add a response buffer variable above this field
+       /* FIXME: We assumed a fixed size response here. If we do ever need to handle a bigger response, */
+       /* we can either define a max response message or add a response buffer variable above this field */
        RNDIS_MESSAGE                           ResponseMessage;
 
-       // Simplify allocation by having a netvsc packet inline
-       NETVSC_PACKET                           Packet;
+       /* Simplify allocation by having a netvsc packet inline */
+       struct hv_netvsc_packet Packet;
        PAGE_BUFFER                                     Buffer;
-       // FIXME: We assumed a fixed size request here.
+       /* FIXME: We assumed a fixed size request here. */
        RNDIS_MESSAGE                           RequestMessage;
 } RNDIS_REQUEST;
 
@@ -83,9 +82,9 @@ typedef struct _RNDIS_FILTER_PACKET {
        RNDIS_MESSAGE                           Message;
 } RNDIS_FILTER_PACKET;
 
-//
-// Internal routines
-//
+
+/* Internal routines */
+
 static int
 RndisFilterSendRequest(
        RNDIS_DEVICE    *Device,
@@ -108,13 +107,13 @@ static void
 RndisFilterReceiveData(
        RNDIS_DEVICE    *Device,
        RNDIS_MESSAGE   *Message,
-       NETVSC_PACKET   *Packet
+       struct hv_netvsc_packet *Packet
        );
 
 static int
 RndisFilterOnReceive(
-       DEVICE_OBJECT           *Device,
-       NETVSC_PACKET           *Packet
+       struct hv_device *Device,
+       struct hv_netvsc_packet *Packet
        );
 
 static int
@@ -158,34 +157,34 @@ RndisFilterCloseDevice(
 
 static int
 RndisFilterOnDeviceAdd(
-       DEVICE_OBJECT   *Device,
+       struct hv_device *Device,
        void                    *AdditionalInfo
        );
 
 static int
 RndisFilterOnDeviceRemove(
-       DEVICE_OBJECT *Device
+       struct hv_device *Device
        );
 
 static void
 RndisFilterOnCleanup(
-       DRIVER_OBJECT *Driver
+       struct hv_driver *Driver
        );
 
 static int
 RndisFilterOnOpen(
-       DEVICE_OBJECT           *Device
+       struct hv_device *Device
        );
 
 static int
 RndisFilterOnClose(
-       DEVICE_OBJECT           *Device
+       struct hv_device *Device
        );
 
 static int
 RndisFilterOnSend(
-       DEVICE_OBJECT           *Device,
-       NETVSC_PACKET           *Packet
+       struct hv_device *Device,
+       struct hv_netvsc_packet *Packet
        );
 
 static void
@@ -198,29 +197,24 @@ RndisFilterOnSendRequestCompletion(
    void *Context
        );
 
-//
-// Global var
-//
 
-// The one and only
-RNDIS_FILTER_DRIVER_OBJECT gRndisFilter;
+/* Global var */
+
+
+/* The one and only */
+static RNDIS_FILTER_DRIVER_OBJECT gRndisFilter;
 
 static inline RNDIS_DEVICE* GetRndisDevice(void)
 {
        RNDIS_DEVICE *device;
 
-       device = MemAllocZeroed(sizeof(RNDIS_DEVICE));
+       device = kzalloc(sizeof(RNDIS_DEVICE), GFP_KERNEL);
        if (!device)
        {
                return NULL;
        }
 
-       device->RequestLock = SpinlockCreate();
-       if (!device->RequestLock)
-       {
-               MemFree(device);
-               return NULL;
-       }
+       spin_lock_init(&device->request_lock);
 
        INITIALIZE_LIST_HEAD(&device->RequestList);
 
@@ -231,8 +225,7 @@ static inline RNDIS_DEVICE* GetRndisDevice(void)
 
 static inline void PutRndisDevice(RNDIS_DEVICE *Device)
 {
-       SpinlockClose(Device->RequestLock);
-       MemFree(Device);
+       kfree(Device);
 }
 
 static inline RNDIS_REQUEST* GetRndisRequest(RNDIS_DEVICE *Device, u32 MessageType, u32 MessageLength)
@@ -240,8 +233,9 @@ static inline RNDIS_REQUEST* GetRndisRequest(RNDIS_DEVICE *Device, u32 MessageTy
        RNDIS_REQUEST *request;
        RNDIS_MESSAGE *rndisMessage;
        RNDIS_SET_REQUEST *set;
+       unsigned long flags;
 
-       request = MemAllocZeroed(sizeof(RNDIS_REQUEST));
+       request = kzalloc(sizeof(RNDIS_REQUEST), GFP_KERNEL);
        if (!request)
        {
                return NULL;
@@ -250,7 +244,7 @@ static inline RNDIS_REQUEST* GetRndisRequest(RNDIS_DEVICE *Device, u32 MessageTy
        request->WaitEvent = WaitEventCreate();
        if (!request->WaitEvent)
        {
-               MemFree(request);
+               kfree(request);
                return NULL;
        }
 
@@ -258,27 +252,29 @@ static inline RNDIS_REQUEST* GetRndisRequest(RNDIS_DEVICE *Device, u32 MessageTy
        rndisMessage->NdisMessageType = MessageType;
        rndisMessage->MessageLength = MessageLength;
 
-       // Set the request id. This field is always after the rndis header for request/response packet types so
-       // we just used the SetRequest as a template
+       /* Set the request id. This field is always after the rndis header for request/response packet types so */
+       /* we just used the SetRequest as a template */
        set = &rndisMessage->Message.SetRequest;
        set->RequestId = InterlockedIncrement((int*)&Device->NewRequestId);
 
-       // Add to the request list
-       SpinlockAcquire(Device->RequestLock);
+       /* Add to the request list */
+       spin_lock_irqsave(&Device->request_lock, flags);
        INSERT_TAIL_LIST(&Device->RequestList, &request->ListEntry);
-       SpinlockRelease(Device->RequestLock);
+       spin_unlock_irqrestore(&Device->request_lock, flags);
 
        return request;
 }
 
 static inline void PutRndisRequest(RNDIS_DEVICE *Device, RNDIS_REQUEST *Request)
 {
-       SpinlockAcquire(Device->RequestLock);
+       unsigned long flags;
+
+       spin_lock_irqsave(&Device->request_lock, flags);
        REMOVE_ENTRY_LIST(&Request->ListEntry);
-       SpinlockRelease(Device->RequestLock);
+       spin_unlock_irqrestore(&Device->request_lock, flags);
 
        WaitEventClose(Request->WaitEvent);
-       MemFree(Request);
+       kfree(Request);
 }
 
 static inline void DumpRndisMessage(RNDIS_MESSAGE *RndisMessage)
@@ -349,24 +345,24 @@ RndisFilterSendRequest(
        )
 {
        int ret=0;
-       NETVSC_PACKET *packet;
+       struct hv_netvsc_packet *packet;
 
        DPRINT_ENTER(NETVSC);
 
-       // Setup the packet to send it
+       /* Setup the packet to send it */
        packet = &Request->Packet;
 
-       packet->IsDataPacket = FALSE;
+       packet->IsDataPacket = false;
        packet->TotalDataBufferLength = Request->RequestMessage.MessageLength;
        packet->PageBufferCount = 1;
 
        packet->PageBuffers[0].Pfn = GetPhysicalAddress(&Request->RequestMessage) >> PAGE_SHIFT;
        packet->PageBuffers[0].Length = Request->RequestMessage.MessageLength;
-       packet->PageBuffers[0].Offset = (ULONG_PTR)&Request->RequestMessage & (PAGE_SIZE -1);
+       packet->PageBuffers[0].Offset = (unsigned long)&Request->RequestMessage & (PAGE_SIZE -1);
 
-       packet->Completion.Send.SendCompletionContext = Request;//packet;
+       packet->Completion.Send.SendCompletionContext = Request;/* packet; */
        packet->Completion.Send.OnSendCompletion = RndisFilterOnSendRequestCompletion;
-       packet->Completion.Send.SendCompletionTid = (ULONG_PTR)Device;
+       packet->Completion.Send.SendCompletionTid = (unsigned long)Device;
 
        ret = gRndisFilter.InnerDriver.OnSend(Device->NetDevice->Device, packet);
        DPRINT_EXIT(NETVSC);
@@ -383,26 +379,27 @@ RndisFilterReceiveResponse(
        LIST_ENTRY *anchor;
        LIST_ENTRY *curr;
        RNDIS_REQUEST *request=NULL;
-       BOOL found=FALSE;
+       bool found = false;
+       unsigned long flags;
 
        DPRINT_ENTER(NETVSC);
 
-       SpinlockAcquire(Device->RequestLock);
+       spin_lock_irqsave(&Device->request_lock, flags);
        ITERATE_LIST_ENTRIES(anchor, curr, &Device->RequestList)
        {
                request = CONTAINING_RECORD(curr, RNDIS_REQUEST, ListEntry);
 
-               // All request/response message contains RequestId as the 1st field
+               /* All request/response message contains RequestId as the 1st field */
                if (request->RequestMessage.Message.InitializeRequest.RequestId == Response->Message.InitializeComplete.RequestId)
                {
                        DPRINT_DBG(NETVSC, "found rndis request for this response (id 0x%x req type 0x%x res type 0x%x)",
                                request->RequestMessage.Message.InitializeRequest.RequestId, request->RequestMessage.NdisMessageType, Response->NdisMessageType);
 
-                       found = TRUE;
+                       found = true;
                        break;
                }
        }
-       SpinlockRelease(Device->RequestLock);
+       spin_unlock_irqrestore(&Device->request_lock, flags);
 
        if (found)
        {
@@ -412,9 +409,9 @@ RndisFilterReceiveResponse(
                }
                else
                {
-                       DPRINT_ERR(NETVSC, "rndis response buffer overflow detected (size %u max %u)", Response->MessageLength, sizeof(RNDIS_FILTER_PACKET));
+                       DPRINT_ERR(NETVSC, "rndis response buffer overflow detected (size %u max %zu)", Response->MessageLength, sizeof(RNDIS_FILTER_PACKET));
 
-                       if (Response->NdisMessageType == REMOTE_NDIS_RESET_CMPLT) // does not have a request id field
+                       if (Response->NdisMessageType == REMOTE_NDIS_RESET_CMPLT) /* does not have a request id field */
                        {
                                request->ResponseMessage.Message.ResetComplete.Status = STATUS_BUFFER_OVERFLOW;
                        }
@@ -453,7 +450,7 @@ RndisFilterReceiveIndicateStatus(
        }
        else
        {
-               // TODO:
+               /* TODO: */
        }
 }
 
@@ -461,7 +458,7 @@ static void
 RndisFilterReceiveData(
        RNDIS_DEVICE    *Device,
        RNDIS_MESSAGE   *Message,
-       NETVSC_PACKET   *Packet
+       struct hv_netvsc_packet *Packet
        )
 {
        RNDIS_PACKET *rndisPacket;
@@ -469,22 +466,22 @@ RndisFilterReceiveData(
 
        DPRINT_ENTER(NETVSC);
 
-       // empty ethernet frame ??
+       /* empty ethernet frame ?? */
        ASSERT(Packet->PageBuffers[0].Length > RNDIS_MESSAGE_SIZE(RNDIS_PACKET));
 
        rndisPacket = &Message->Message.Packet;
 
-       // FIXME: Handle multiple rndis pkt msgs that maybe enclosed in this
-       // netvsc packet (ie TotalDataBufferLength != MessageLength)
+       /* FIXME: Handle multiple rndis pkt msgs that maybe enclosed in this */
+       /* netvsc packet (ie TotalDataBufferLength != MessageLength) */
 
-       // Remove the rndis header and pass it back up the stack
+       /* Remove the rndis header and pass it back up the stack */
        dataOffset = RNDIS_HEADER_SIZE + rndisPacket->DataOffset;
 
        Packet->TotalDataBufferLength -= dataOffset;
        Packet->PageBuffers[0].Offset += dataOffset;
        Packet->PageBuffers[0].Length -= dataOffset;
 
-       Packet->IsDataPacket = TRUE;
+       Packet->IsDataPacket = true;
 
        gRndisFilter.InnerDriver.OnReceiveCallback(Device->NetDevice->Device, Packet);
 
@@ -493,11 +490,11 @@ RndisFilterReceiveData(
 
 static int
 RndisFilterOnReceive(
-       DEVICE_OBJECT           *Device,
-       NETVSC_PACKET           *Packet
+       struct hv_device *Device,
+       struct hv_netvsc_packet *Packet
        )
 {
-       NETVSC_DEVICE *netDevice = (NETVSC_DEVICE*)Device->Extension;
+       struct NETVSC_DEVICE *netDevice = (struct NETVSC_DEVICE*)Device->Extension;
        RNDIS_DEVICE *rndisDevice;
        RNDIS_MESSAGE rndisMessage;
        RNDIS_MESSAGE *rndisHeader;
@@ -505,7 +502,7 @@ RndisFilterOnReceive(
        DPRINT_ENTER(NETVSC);
 
        ASSERT(netDevice);
-       //Make sure the rndis device state is initialized
+       /* Make sure the rndis device state is initialized */
        if (!netDevice->Extension)
        {
                DPRINT_ERR(NETVSC, "got rndis message but no rndis device...dropping this message!");
@@ -523,15 +520,15 @@ RndisFilterOnReceive(
 
        rndisHeader = (RNDIS_MESSAGE*)PageMapVirtualAddress(Packet->PageBuffers[0].Pfn);
 
-       rndisHeader = (void*)((ULONG_PTR)rndisHeader + Packet->PageBuffers[0].Offset);
+       rndisHeader = (void*)((unsigned long)rndisHeader + Packet->PageBuffers[0].Offset);
 
-       // Make sure we got a valid rndis message
-       // FIXME: There seems to be a bug in set completion msg where its MessageLength is 16 bytes but
-       // the ByteCount field in the xfer page range shows 52 bytes
+       /* Make sure we got a valid rndis message */
+       /* FIXME: There seems to be a bug in set completion msg where its MessageLength is 16 bytes but */
+       /* the ByteCount field in the xfer page range shows 52 bytes */
 #if 0
        if ( Packet->TotalDataBufferLength != rndisHeader->MessageLength )
        {
-               PageUnmapVirtualAddress((void*)(ULONG_PTR)rndisHeader - Packet->PageBuffers[0].Offset);
+               PageUnmapVirtualAddress((void*)(unsigned long)rndisHeader - Packet->PageBuffers[0].Offset);
 
                DPRINT_ERR(NETVSC, "invalid rndis message? (expected %u bytes got %u)...dropping this message!",
                        rndisHeader->MessageLength, Packet->TotalDataBufferLength);
@@ -542,33 +539,33 @@ RndisFilterOnReceive(
 
        if ((rndisHeader->NdisMessageType != REMOTE_NDIS_PACKET_MSG) && (rndisHeader->MessageLength > sizeof(RNDIS_MESSAGE)))
        {
-               DPRINT_ERR(NETVSC, "incoming rndis message buffer overflow detected (got %u, max %u)...marking it an error!",
+               DPRINT_ERR(NETVSC, "incoming rndis message buffer overflow detected (got %u, max %zu)...marking it an error!",
                        rndisHeader->MessageLength, sizeof(RNDIS_MESSAGE));
        }
 
        memcpy(&rndisMessage, rndisHeader, (rndisHeader->MessageLength > sizeof(RNDIS_MESSAGE))?sizeof(RNDIS_MESSAGE):rndisHeader->MessageLength);
 
-       PageUnmapVirtualAddress((void*)(ULONG_PTR)rndisHeader - Packet->PageBuffers[0].Offset);
+       PageUnmapVirtualAddress((void*)(unsigned long)rndisHeader - Packet->PageBuffers[0].Offset);
 
        DumpRndisMessage(&rndisMessage);
 
        switch (rndisMessage.NdisMessageType)
        {
-               // data msg
+               /* data msg */
        case REMOTE_NDIS_PACKET_MSG:
                RndisFilterReceiveData(rndisDevice, &rndisMessage, Packet);
                break;
 
-               // completion msgs
+               /* completion msgs */
        case REMOTE_NDIS_INITIALIZE_CMPLT:
        case REMOTE_NDIS_QUERY_CMPLT:
        case REMOTE_NDIS_SET_CMPLT:
-       //case REMOTE_NDIS_RESET_CMPLT:
-       //case REMOTE_NDIS_KEEPALIVE_CMPLT:
+       /* case REMOTE_NDIS_RESET_CMPLT: */
+       /* case REMOTE_NDIS_KEEPALIVE_CMPLT: */
                RndisFilterReceiveResponse(rndisDevice, &rndisMessage);
                break;
 
-               // notification msgs
+               /* notification msgs */
        case REMOTE_NDIS_INDICATE_STATUS_MSG:
                RndisFilterReceiveIndicateStatus(rndisDevice, &rndisMessage);
                break;
@@ -608,7 +605,7 @@ RndisFilterQueryDevice(
                goto Cleanup;
        }
 
-       // Setup the rndis query
+       /* Setup the rndis query */
        query = &request->RequestMessage.Message.QueryRequest;
        query->Oid = Oid;
        query->InformationBufferOffset = sizeof(RNDIS_QUERY_REQUEST);
@@ -623,7 +620,7 @@ RndisFilterQueryDevice(
 
        WaitEventWait(request->WaitEvent);
 
-       // Copy the response back
+       /* Copy the response back */
        queryComplete = &request->ResponseMessage.Message.QueryComplete;
 
        if (queryComplete->InformationBufferLength > inresultSize)
@@ -633,7 +630,7 @@ RndisFilterQueryDevice(
        }
 
        memcpy(Result,
-                       (void*)((ULONG_PTR)queryComplete + queryComplete->InformationBufferOffset),
+                       (void*)((unsigned long)queryComplete + queryComplete->InformationBufferOffset),
                        queryComplete->InformationBufferLength);
 
        *ResultSize = queryComplete->InformationBufferLength;
@@ -697,13 +694,13 @@ RndisFilterSetPacketFilter(
                goto Cleanup;
        }
 
-       // Setup the rndis set
+       /* Setup the rndis set */
        set = &request->RequestMessage.Message.SetRequest;
        set->Oid = RNDIS_OID_GEN_CURRENT_PACKET_FILTER;
        set->InformationBufferLength = sizeof(u32);
        set->InformationBufferOffset = sizeof(RNDIS_SET_REQUEST);
 
-       memcpy((void*)(ULONG_PTR)set + sizeof(RNDIS_SET_REQUEST), &NewFilter, sizeof(u32));
+       memcpy((void*)(unsigned long)set + sizeof(RNDIS_SET_REQUEST), &NewFilter, sizeof(u32));
 
        ret = RndisFilterSendRequest(Device, request);
        if (ret != 0)
@@ -716,7 +713,7 @@ RndisFilterSetPacketFilter(
        {
                ret = -1;
                DPRINT_ERR(NETVSC, "timeout before we got a set response...");
-               // We cant deallocate the request since we may still receive a send completion for it.
+               /* We cant deallocate the request since we may still receive a send completion for it. */
                goto Exit;
        }
        else
@@ -747,12 +744,12 @@ RndisFilterInit(
 {
        DPRINT_ENTER(NETVSC);
 
-       DPRINT_DBG(NETVSC, "sizeof(RNDIS_FILTER_PACKET) == %d", sizeof(RNDIS_FILTER_PACKET));
+       DPRINT_DBG(NETVSC, "sizeof(RNDIS_FILTER_PACKET) == %zd", sizeof(RNDIS_FILTER_PACKET));
 
        Driver->RequestExtSize = sizeof(RNDIS_FILTER_PACKET);
-       Driver->AdditionalRequestPageBufferCount = 1; // For rndis header
+       Driver->AdditionalRequestPageBufferCount = 1; /* For rndis header */
 
-       //Driver->Context = rndisDriver;
+       /* Driver->Context = rndisDriver; */
 
        memset(&gRndisFilter, 0, sizeof(RNDIS_FILTER_DRIVER_OBJECT));
 
@@ -761,7 +758,7 @@ RndisFilterInit(
        ASSERT(Driver->OnLinkStatusChanged);
        rndisDriver->OnLinkStatusChanged = Driver->OnLinkStatusChanged;*/
 
-       // Save the original dispatch handlers before we override it
+       /* Save the original dispatch handlers before we override it */
        gRndisFilter.InnerDriver.Base.OnDeviceAdd = Driver->Base.OnDeviceAdd;
        gRndisFilter.InnerDriver.Base.OnDeviceRemove = Driver->Base.OnDeviceRemove;
        gRndisFilter.InnerDriver.Base.OnCleanup = Driver->Base.OnCleanup;
@@ -772,14 +769,14 @@ RndisFilterInit(
        gRndisFilter.InnerDriver.OnReceiveCallback = Driver->OnReceiveCallback;
        gRndisFilter.InnerDriver.OnLinkStatusChanged = Driver->OnLinkStatusChanged;
 
-       // Override
+       /* Override */
        Driver->Base.OnDeviceAdd = RndisFilterOnDeviceAdd;
        Driver->Base.OnDeviceRemove = RndisFilterOnDeviceRemove;
        Driver->Base.OnCleanup = RndisFilterOnCleanup;
        Driver->OnSend = RndisFilterOnSend;
        Driver->OnOpen = RndisFilterOnOpen;
        Driver->OnClose = RndisFilterOnClose;
-       //Driver->QueryLinkStatus = RndisFilterQueryDeviceLinkStatus;
+       /* Driver->QueryLinkStatus = RndisFilterQueryDeviceLinkStatus; */
        Driver->OnReceiveCallback = RndisFilterOnReceive;
 
        DPRINT_EXIT(NETVSC);
@@ -807,11 +804,11 @@ RndisFilterInitDevice(
                goto Cleanup;
        }
 
-       // Setup the rndis set
+       /* Setup the rndis set */
        init = &request->RequestMessage.Message.InitializeRequest;
        init->MajorVersion = RNDIS_MAJOR_VERSION;
        init->MinorVersion = RNDIS_MINOR_VERSION;
-       init->MaxTransferSize = 2048; // FIXME: Use 1536 - rounded ethernet frame size
+       init->MaxTransferSize = 2048; /* FIXME: Use 1536 - rounded ethernet frame size */
 
        Device->State = RNDIS_DEV_INITIALIZING;
 
@@ -857,18 +854,18 @@ RndisFilterHaltDevice(
 
        DPRINT_ENTER(NETVSC);
 
-       // Attempt to do a rndis device halt
+       /* Attempt to do a rndis device halt */
        request = GetRndisRequest(Device, REMOTE_NDIS_HALT_MSG, RNDIS_MESSAGE_SIZE(RNDIS_HALT_REQUEST));
        if (!request)
        {
                goto Cleanup;
        }
 
-       // Setup the rndis set
+       /* Setup the rndis set */
        halt = &request->RequestMessage.Message.HaltRequest;
        halt->RequestId = InterlockedIncrement((int*)&Device->NewRequestId);
 
-       // Ignore return since this msg is optional.
+       /* Ignore return since this msg is optional. */
        RndisFilterSendRequest(Device, request);
 
        Device->State = RNDIS_DEV_UNINITIALIZED;
@@ -929,20 +926,19 @@ RndisFilterCloseDevice(
 }
 
 
-int
+static int
 RndisFilterOnDeviceAdd(
-       DEVICE_OBJECT   *Device,
+       struct hv_device *Device,
        void                    *AdditionalInfo
        )
 {
        int ret;
-       NETVSC_DEVICE *netDevice;
+       struct NETVSC_DEVICE *netDevice;
        RNDIS_DEVICE *rndisDevice;
        NETVSC_DEVICE_INFO *deviceInfo = (NETVSC_DEVICE_INFO*)AdditionalInfo;
 
        DPRINT_ENTER(NETVSC);
 
-       //rndisDevice = MemAlloc(sizeof(RNDIS_DEVICE));
        rndisDevice = GetRndisDevice();
        if (!rndisDevice)
        {
@@ -952,9 +948,9 @@ RndisFilterOnDeviceAdd(
 
        DPRINT_DBG(NETVSC, "rndis device object allocated - %p", rndisDevice);
 
-       // Let the inner driver handle this first to create the netvsc channel
-       // NOTE! Once the channel is created, we may get a receive callback
-       // (RndisFilterOnReceive()) before this call is completed
+       /* Let the inner driver handle this first to create the netvsc channel */
+       /* NOTE! Once the channel is created, we may get a receive callback */
+       /* (RndisFilterOnReceive()) before this call is completed */
        ret = gRndisFilter.InnerDriver.Base.OnDeviceAdd(Device, AdditionalInfo);
        if (ret != 0)
        {
@@ -963,28 +959,28 @@ RndisFilterOnDeviceAdd(
                return ret;
        }
 
-       //
-       // Initialize the rndis device
-       //
-       netDevice = (NETVSC_DEVICE*)Device->Extension;
+
+       /* Initialize the rndis device */
+
+       netDevice = (struct NETVSC_DEVICE*)Device->Extension;
        ASSERT(netDevice);
        ASSERT(netDevice->Device);
 
        netDevice->Extension = rndisDevice;
        rndisDevice->NetDevice = netDevice;
 
-       // Send the rndis initialization message
+       /* Send the rndis initialization message */
        ret = RndisFilterInitDevice(rndisDevice);
        if (ret != 0)
        {
-               // TODO: If rndis init failed, we will need to shut down the channel
+               /* TODO: If rndis init failed, we will need to shut down the channel */
        }
 
-       // Get the mac address
+       /* Get the mac address */
        ret = RndisFilterQueryDeviceMac(rndisDevice);
        if (ret != 0)
        {
-               // TODO: shutdown rndis device and the channel
+               /* TODO: shutdown rndis device and the channel */
        }
 
        DPRINT_INFO(NETVSC, "Device 0x%p mac addr %02x%02x%02x%02x%02x%02x",
@@ -1011,21 +1007,21 @@ RndisFilterOnDeviceAdd(
 
 static int
 RndisFilterOnDeviceRemove(
-       DEVICE_OBJECT *Device
+       struct hv_device *Device
        )
 {
-       NETVSC_DEVICE *netDevice = (NETVSC_DEVICE*)Device->Extension;
+       struct NETVSC_DEVICE *netDevice = (struct NETVSC_DEVICE*)Device->Extension;
        RNDIS_DEVICE *rndisDevice = (RNDIS_DEVICE*)netDevice->Extension;
 
        DPRINT_ENTER(NETVSC);
 
-       // Halt and release the rndis device
+       /* Halt and release the rndis device */
        RndisFilterHaltDevice(rndisDevice);
 
        PutRndisDevice(rndisDevice);
        netDevice->Extension = NULL;
 
-       // Pass control to inner driver to remove the device
+       /* Pass control to inner driver to remove the device */
        gRndisFilter.InnerDriver.Base.OnDeviceRemove(Device);
 
        DPRINT_EXIT(NETVSC);
@@ -1036,7 +1032,7 @@ RndisFilterOnDeviceRemove(
 
 static void
 RndisFilterOnCleanup(
-       DRIVER_OBJECT *Driver
+       struct hv_driver *Driver
        )
 {
        DPRINT_ENTER(NETVSC);
@@ -1046,11 +1042,11 @@ RndisFilterOnCleanup(
 
 static int
 RndisFilterOnOpen(
-       DEVICE_OBJECT           *Device
+       struct hv_device *Device
        )
 {
        int ret;
-       NETVSC_DEVICE *netDevice = (NETVSC_DEVICE*)Device->Extension;
+       struct NETVSC_DEVICE *netDevice = (struct NETVSC_DEVICE*)Device->Extension;
 
        DPRINT_ENTER(NETVSC);
 
@@ -1064,11 +1060,11 @@ RndisFilterOnOpen(
 
 static int
 RndisFilterOnClose(
-       DEVICE_OBJECT           *Device
+       struct hv_device *Device
        )
 {
        int ret;
-       NETVSC_DEVICE *netDevice = (NETVSC_DEVICE*)Device->Extension;
+       struct NETVSC_DEVICE *netDevice = (struct NETVSC_DEVICE*)Device->Extension;
 
        DPRINT_ENTER(NETVSC);
 
@@ -1083,8 +1079,8 @@ RndisFilterOnClose(
 
 static int
 RndisFilterOnSend(
-       DEVICE_OBJECT           *Device,
-       NETVSC_PACKET           *Packet
+       struct hv_device *Device,
+       struct hv_netvsc_packet *Packet
        )
 {
        int ret=0;
@@ -1095,7 +1091,7 @@ RndisFilterOnSend(
 
        DPRINT_ENTER(NETVSC);
 
-       // Add the rndis header
+       /* Add the rndis header */
        filterPacket = (RNDIS_FILTER_PACKET*)Packet->Extension;
        ASSERT(filterPacket);
 
@@ -1111,23 +1107,23 @@ RndisFilterOnSend(
        rndisPacket->DataOffset = sizeof(RNDIS_PACKET);
        rndisPacket->DataLength = Packet->TotalDataBufferLength;
 
-       Packet->IsDataPacket = TRUE;
+       Packet->IsDataPacket = true;
        Packet->PageBuffers[0].Pfn              = GetPhysicalAddress(rndisMessage) >> PAGE_SHIFT;
-       Packet->PageBuffers[0].Offset   = (ULONG_PTR)rndisMessage & (PAGE_SIZE-1);
+       Packet->PageBuffers[0].Offset   = (unsigned long)rndisMessage & (PAGE_SIZE-1);
        Packet->PageBuffers[0].Length   = rndisMessageSize;
 
-       // Save the packet send completion and context
+       /* Save the packet send completion and context */
        filterPacket->OnCompletion = Packet->Completion.Send.OnSendCompletion;
        filterPacket->CompletionContext = Packet->Completion.Send.SendCompletionContext;
 
-       // Use ours
+       /* Use ours */
        Packet->Completion.Send.OnSendCompletion = RndisFilterOnSendCompletion;
        Packet->Completion.Send.SendCompletionContext = filterPacket;
 
        ret = gRndisFilter.InnerDriver.OnSend(Device, Packet);
        if (ret != 0)
        {
-               // Reset the completion to originals to allow retries from above
+               /* Reset the completion to originals to allow retries from above */
                Packet->Completion.Send.OnSendCompletion = filterPacket->OnCompletion;
                Packet->Completion.Send.SendCompletionContext = filterPacket->CompletionContext;
        }
@@ -1145,7 +1141,7 @@ RndisFilterOnSendCompletion(
 
        DPRINT_ENTER(NETVSC);
 
-       // Pass it back to the original handler
+       /* Pass it back to the original handler */
        filterPacket->OnCompletion(filterPacket->CompletionContext);
 
        DPRINT_EXIT(NETVSC);
@@ -1159,6 +1155,6 @@ RndisFilterOnSendRequestCompletion(
 {
        DPRINT_ENTER(NETVSC);
 
-       // Noop
+       /* Noop */
        DPRINT_EXIT(NETVSC);
 }
This page took 0.036086 seconds and 5 git commands to generate.