*/
int VmbusChannelOpen(struct vmbus_channel *NewChannel, u32 SendRingBufferSize,
u32 RecvRingBufferSize, void *UserData, u32 UserDataLen,
- PFN_CHANNEL_CALLBACK pfnOnChannelCallback, void *Context)
+ void (*OnChannelCallback)(void *context), void *Context)
{
struct vmbus_channel_open_channel *openMsg;
struct vmbus_channel_msginfo *openInfo;
ASSERT(!(SendRingBufferSize & (PAGE_SIZE - 1)));
ASSERT(!(RecvRingBufferSize & (PAGE_SIZE - 1)));
- NewChannel->OnChannelCallback = pfnOnChannelCallback;
+ NewChannel->OnChannelCallback = OnChannelCallback;
NewChannel->ChannelCallbackContext = Context;
/* Allocate the ring buffer */
u32 RecvRingBufferSize,
void *UserData,
u32 UserDataLen,
- PFN_CHANNEL_CALLBACK pfnOnChannelCallback,
+ void(*OnChannelCallback)(void *context),
void *Context);
extern void VmbusChannelClose(struct vmbus_channel *channel);
bool VersionSupported;
} __attribute__((packed));
-typedef void (*PFN_CHANNEL_CALLBACK)(void *context);
-
enum vmbus_channel_state {
CHANNEL_OFFER_STATE,
CHANNEL_OPENING_STATE,
/* Channel callback are invoked in this workqueue context */
/* HANDLE dataWorkQueue; */
- PFN_CHANNEL_CALLBACK OnChannelCallback;
+ void (*OnChannelCallback)(void *context);
void *ChannelCallbackContext;
};