PDMNetShaper.cpp revision 8980aa28561182fb74d04933f92587f7e28e9ca8
bf8267aa453e5d2a735ed732a043b77a0b355b20Mark Andrews * PDM Network Shaper - Limit network traffic according to bandwidth
bf8267aa453e5d2a735ed732a043b77a0b355b20Mark Andrews * group settings.
bf8267aa453e5d2a735ed732a043b77a0b355b20Mark Andrews * Copyright (C) 2011-2012 Oracle Corporation
bf8267aa453e5d2a735ed732a043b77a0b355b20Mark Andrews * This file is part of VirtualBox Open Source Edition (OSE), as
bf8267aa453e5d2a735ed732a043b77a0b355b20Mark Andrews * available from http://www.virtualbox.org. This file is free software;
bf8267aa453e5d2a735ed732a043b77a0b355b20Mark Andrews * you can redistribute it and/or modify it under the terms of the GNU
bf8267aa453e5d2a735ed732a043b77a0b355b20Mark Andrews * General Public License (GPL) as published by the Free Software
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 * Foundation, in version 2 as it comes in the "COPYING" file of the
d7201de09b85929a86b157f4b2d91667c68c6b52Automatic Updater * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉/*******************************************************************************
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉* Header Files *
307d2084502eddc7ce921e5ce439aec3531d90e0Tatuya JINMEI 神明達哉*******************************************************************************/
#ifdef VBOX_WITH_REM
typedef struct PDMNETSHAPER
} PDMNETSHAPER;
while ( pBwGroup
return pBwGroup;
while ( pPrev
static int pdmNsBwGroupCreate(PPDMNETSHAPER pShaper, const char *pcszBwGroup, uint64_t cbTransferPerSecMax)
int rc;
if (!pBwGroup)
return VINF_SUCCESS;
return rc;
while (pFilter)
while ( pPrev
if (pcszBwGroup)
if (pBwGroupNew)
if (pBwGroupOld)
return rc;
if (pBwGroup)
return rc;
VMMR3DECL(int) PDMR3NsBwGroupSetLimit(PVM pVM, const char *pcszBwGroup, uint64_t cbTransferPerSecMax)
if (pBwGroup)
return rc;
while (pBwGroup)
return VINF_SUCCESS;
return VINF_SUCCESS;
while (pBwGroup)
return VINF_SUCCESS;
sizeof(PDMNETSHAPER),
(void **)&pNetShaper);
if (pCfgBwGrp)
if (!pszBwGrpId)
static unsigned iThread;
return VINF_SUCCESS;
return rc;