Changeset 105202 in vbox for trunk/src/VBox/Devices/Network/DrvNATlibslirp.h
- Timestamp:
- Jul 8, 2024 10:42:06 PM (8 months ago)
- svn:sync-xref-src-repo-rev:
- 163845
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/DrvNATlibslirp.h
r105070 r105202 53 53 #endif 54 54 55 /** @todo r=jack: do we need to externally define inet* functions on win */56 55 #ifdef RT_OS_WINDOWS 57 56 # include <iprt/win/winsock2.h> 58 # ifdef __cplusplus59 extern "C" {60 # endif61 int inet_pton(int,const char *,void *);62 # ifdef __cplusplus63 }64 # endif65 57 # define inet_aton(x, y) inet_pton(2, x, y) 66 58 # define AF_INET6 23 … … 256 248 typedef DRVNAT *PDRVNAT; 257 249 250 /** 251 * PDM Function Implementations 252 */ 258 253 static DECLCALLBACK(int) drvNATRecv(PPDMDRVINS, PPDMTHREAD); 259 254 static DECLCALLBACK(int) drvNATRecvWakeup(PPDMDRVINS, PPDMTHREAD); … … 261 256 static void drvNATFreeSgBuf(PDRVNAT, PPDMSCATTERGATHER); 262 257 static DECLCALLBACK(void) drvNATSendWorker(PDRVNAT, PPDMSCATTERGATHER); 258 static DECLCALLBACK(int) drvNATNetworkUp_BeginXmit(PPDMINETWORKUP, bool); 263 259 static DECLCALLBACK(int) drvNATNetworkUp_AllocBuf(PPDMINETWORKUP, size_t, 264 260 PCPDMNETWORKGSO, PPPDMSCATTERGATHER); 265 261 static DECLCALLBACK(int) drvNATNetworkUp_FreeBuf(PPDMINETWORKUP, PPDMSCATTERGATHER); 266 262 static DECLCALLBACK(int) drvNATNetworkUp_SendBuf(PPDMINETWORKUP, PPDMSCATTERGATHER, bool); 267 static DECLCALLBACK(void) drvNATNetworkUp_EndXmit(PPDMINETWORKUP 263 static DECLCALLBACK(void) drvNATNetworkUp_EndXmit(PPDMINETWORKUP); 268 264 static void drvNATNotifyNATThread(PDRVNAT pThis, const char *); 269 265 static DECLCALLBACK(void) drvNATNetworkUp_SetPromiscuousMode(PPDMINETWORKUP, bool); … … 274 270 static DECLCALLBACK(void *) drvNATQueryInterface(PPDMIBASE, const char *); 275 271 static DECLCALLBACK(void) drvNATInfo(PPDMDRVINS, PCDBGFINFOHLP, const char *); 276 277 static void slirpUpdateTimeout(uint32_t *, void *); 278 static void slirpCheckTimeout(void *); 279 280 static DECLCALLBACK(ssize_t) slirpSendPacketCb(const void *, size_t, void *); 281 static DECLCALLBACK(void) slirpGuestErrorCb(const char *, void *); 282 static DECLCALLBACK(int64_t) slirpClockGetNsCb(void *); 283 static DECLCALLBACK(void *) slirpTimerNewCb(SlirpTimerCb, void *, void *); 284 static DECLCALLBACK(void) slirpTimerFreeCb(void *, void *); 285 static DECLCALLBACK(void) slirpTimerModCb(void *, int64_t, void *); 286 272 static int drvNATConstructRedir(unsigned, PDRVNAT, PCFGMNODE, PRTNETADDRIPV4); 273 static DECLCALLBACK(void) drvNATNotifyApplyPortForwardCommand(PDRVNAT, bool, bool, const char *, 274 uint16_t, const char *, uint16_t); 275 static DECLCALLBACK(int) drvNATNetworkNatConfigRedirect(PPDMINETWORKNATCONFIG, bool, bool, 276 const char *, uint16_t, const char *, uint16_t); 277 278 /** 279 * Libslirp Utility Functions 280 */ 281 static void drvNAT_UpdateTimeout(uint32_t *, void *); 282 static void drvNAT_CheckTimeout(void *); 283 static int drvNAT_PollEventSlirpToHost(int); 284 static int drvNAT_PollEventHostToSlirp(int); 285 286 /** 287 * Libslirp Callback Functions 288 */ 289 static DECLCALLBACK(ssize_t) drvNAT_SendPacketCb(const void *, size_t, void *); 290 static DECLCALLBACK(void) drvNAT_GuestErrorCb(const char *, void *); 291 static DECLCALLBACK(int64_t) drvNAT_ClockGetNsCb(void *); 292 static DECLCALLBACK(void *) drvNAT_TimerNewCb(SlirpTimerCb, void *, void *); 293 static DECLCALLBACK(void) drvNAT_TimerFreeCb(void *, void *); 294 static DECLCALLBACK(void) drvNAT_TimerModCb(void *, int64_t, void *); 295 static DECLCALLBACK(void) drvNAT_NotifyCb(void *); 296 static DECLCALLBACK(void) drvNAT_RegisterPoll(int, void *); 297 static DECLCALLBACK(void) drvNAT_UnregisterPoll(int, void *); 298 299 static DECLCALLBACK(int) drvNAT_AddPollCb(int, int, void *); 300 static DECLCALLBACK(int) drvNAT_GetREventsCb(int, void *); 301 302 /** 303 * Contructor/Destructor 304 */ 287 305 static DECLCALLBACK(void) drvNATDestruct(PPDMDRVINS); 288 306 static DECLCALLBACK(int) drvNATConstruct(PPDMDRVINS, PCFGMNODE, uint32_t);
Note:
See TracChangeset
for help on using the changeset viewer.