/* $Id$ */
/** @file
* NAT Network - poll manager, definitions and declarations.
*/
/*
* Copyright (C) 2013-2014 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#ifndef _PROXY_POLLMGR_H_
#define _PROXY_POLLMGR_H_
#ifndef RT_OS_WINDOWS
# include <unistd.h> /* for ssize_t */
#endif
enum pollmgr_slot_t {
};
struct pollmgr_handler; /* forward */
struct pollmgr_handler {
void *data;
int slot;
};
struct pollmgr_refptr {
};
int pollmgr_init(void);
/* static named slots (aka "channels") */
/* dynamic slots */
void pollmgr_refptr_weak_ref(struct pollmgr_refptr *);
void pollmgr_refptr_unref(struct pollmgr_refptr *);
void pollmgr_update_events(int, int);
void pollmgr_del_slot(int);
void pollmgr_thread(void *);
/* buffer for callbacks to receive udp without worrying about truncation */
#endif /* _PROXY_POLLMGR_H_ */