Changeset 35824 in vbox for trunk/src/VBox/HostDrivers/VBoxNetAdp
- Timestamp:
- Feb 2, 2011 1:32:03 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 69816
- Location:
- trunk/src/VBox/HostDrivers/VBoxNetAdp
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/VBoxNetAdp/VBoxNetAdp.c
r35815 r35824 588 588 589 589 590 int vboxNetAdpCreate 590 int vboxNetAdpCreate(PINTNETTRUNKFACTORY pIfFactory, PVBOXNETADP *ppNew) 591 591 { 592 592 int rc; … … 618 618 } 619 619 620 int vboxNetAdpDestroy 620 int vboxNetAdpDestroy(PVBOXNETADP pThis) 621 621 { 622 622 int rc = VINF_SUCCESS; … … 1061 1061 DECLINLINE(int) vboxNetAdpGetUnitByName(const char *pcszName) 1062 1062 { 1063 uint32_t nUnit = RTStrToUInt32(pcszName + sizeof(VBOXNETADP_NAME) - 1);1063 uint32_t iUnit = RTStrToUInt32(pcszName + sizeof(VBOXNETADP_NAME) - 1); 1064 1064 bool fOld; 1065 1065 1066 if ( nUnit >= VBOXNETADP_MAX_UNITS)1066 if (iUnit >= VBOXNETADP_MAX_UNITS) 1067 1067 return -1; 1068 1068 1069 fOld = ASMAtomicBitTestAndSet(g_aUnits, nUnit);1070 return fOld ? -1 : (int) nUnit;1069 fOld = ASMAtomicBitTestAndSet(g_aUnits, iUnit); 1070 return fOld ? -1 : (int)iUnit; 1071 1071 } 1072 1072 … … 1074 1074 { 1075 1075 bool fOld; 1076 int nUnit;1076 int iUnit; 1077 1077 /* There is absolutely no chance that all units are taken */ 1078 1078 do { 1079 nUnit = ASMBitFirstClear(g_aUnits, VBOXNETADP_MAX_UNITS);1080 if ( nUnit < 0)1079 iUnit = ASMBitFirstClear(g_aUnits, VBOXNETADP_MAX_UNITS); 1080 if (iUnit < 0) 1081 1081 break; 1082 fOld = ASMAtomicBitTestAndSet(g_aUnits, nUnit);1082 fOld = ASMAtomicBitTestAndSet(g_aUnits, iUnit); 1083 1083 } while (fOld); 1084 1084 1085 return nUnit;1086 } 1087 1088 DECLINLINE(void) vboxNetAdpReleaseUnit(int nUnit)1089 { 1090 Assert(ASMAtomicBitTestAndClear(g_aUnits, nUnit));1085 return iUnit; 1086 } 1087 1088 DECLINLINE(void) vboxNetAdpReleaseUnit(int iUnit) 1089 { 1090 Assert(ASMAtomicBitTestAndClear(g_aUnits, iUnit)); 1091 1091 } 1092 1092 … … 1104 1104 pMac->au8[2] = 0x27; 1105 1105 1106 pMac->au8[3] = 0; /* pThis-> nUnit >> 16; */1107 pMac->au8[4] = 0; /* pThis-> nUnit >> 8; */1108 pMac->au8[5] = pThis-> nUnit;1109 } 1110 1111 int vboxNetAdpCreate 1106 pMac->au8[3] = 0; /* pThis->iUnit >> 16; */ 1107 pMac->au8[4] = 0; /* pThis->iUnit >> 8; */ 1108 pMac->au8[5] = pThis->iUnit; 1109 } 1110 1111 int vboxNetAdpCreate(PVBOXNETADP *ppNew, const char *pcszName) 1112 1112 { 1113 1113 int rc; … … 1125 1125 { 1126 1126 Log(("vboxNetAdpCreate: using name: %s\n", pcszName)); 1127 pThis-> nUnit = vboxNetAdpGetUnitByName(pcszName);1127 pThis->iUnit = vboxNetAdpGetUnitByName(pcszName); 1128 1128 strncpy(pThis->szName, pcszName, sizeof(pThis->szName)); 1129 1129 pThis->szName[sizeof(pThis->szName) - 1] = '\0'; … … 1131 1131 else 1132 1132 { 1133 pThis-> nUnit = vboxNetAdpGetNextAvailableUnit();1133 pThis->iUnit = vboxNetAdpGetNextAvailableUnit(); 1134 1134 pThis->szName[0] = '\0'; 1135 1135 } 1136 if (pThis-> nUnit < 0)1136 if (pThis->iUnit < 0) 1137 1137 rc = VERR_INVALID_PARAMETER; 1138 1138 else … … 1140 1140 vboxNetAdpComposeMACAddress(pThis, &Mac); 1141 1141 rc = vboxNetAdpOsCreate(pThis, &Mac); 1142 Log(("vboxNetAdpCreate: pThis=%p pThis-> nUnit=%d, pThis->szName=%s\n",1143 pThis, pThis-> nUnit, pThis->szName));1142 Log(("vboxNetAdpCreate: pThis=%p pThis->iUnit=%d, pThis->szName=%s\n", 1143 pThis, pThis->iUnit, pThis->szName)); 1144 1144 } 1145 1145 if (RT_SUCCESS(rc)) … … 1156 1156 for (i = 0; i < RT_ELEMENTS(g_aAdapters); i++) 1157 1157 Log2(("VBoxNetAdpCreate: Scanning entry: state=%d unit=%d name=%s\n", 1158 g_aAdapters[i].enmState, g_aAdapters[i]. nUnit, g_aAdapters[i].szName));1158 g_aAdapters[i].enmState, g_aAdapters[i].iUnit, g_aAdapters[i].szName)); 1159 1159 return rc; 1160 1160 } … … 1166 1166 } 1167 1167 1168 int vboxNetAdpDestroy 1168 int vboxNetAdpDestroy(PVBOXNETADP pThis) 1169 1169 { 1170 1170 int rc = VINF_SUCCESS; … … 1173 1173 return VERR_INTNET_FLT_IF_BUSY; 1174 1174 1175 Assert(pThis-> nUnit >= 0 && pThis->nUnit < VBOXNETADP_MAX_UNITS);1175 Assert(pThis->iUnit >= 0 && pThis->iUnit < VBOXNETADP_MAX_UNITS); 1176 1176 vboxNetAdpOsDestroy(pThis); 1177 vboxNetAdpReleaseUnit(pThis-> nUnit);1178 pThis-> nUnit = -1;1177 vboxNetAdpReleaseUnit(pThis->iUnit); 1178 pThis->iUnit = -1; 1179 1179 pThis->szName[0] = '\0'; 1180 1180 … … 1195 1195 { 1196 1196 g_aAdapters[i].enmState = kVBoxNetAdpState_Invalid; 1197 g_aAdapters[i]. nUnit = -1;1197 g_aAdapters[i].iUnit = -1; 1198 1198 vboxNetAdpOsInit(&g_aAdapters[i]); 1199 1199 } -
trunk/src/VBox/HostDrivers/VBoxNetAdp/VBoxNetAdpInternal.h
r35809 r35824 86 86 VBOXNETADPSTATE enmState; 87 87 /** Corresponds to the digit at the end of device name. */ 88 int nUnit;88 int iUnit; 89 89 90 90 union … … 142 142 DECLHIDDEN(int) vboxNetAdpInit(void); 143 143 DECLHIDDEN(void) vboxNetAdpShutdown(void); 144 DECLHIDDEN(int) vboxNetAdpCreate 144 DECLHIDDEN(int) vboxNetAdpCreate(PVBOXNETADP *ppNew, const char *pcszName); 145 145 DECLHIDDEN(int) vboxNetAdpDestroy(PVBOXNETADP pThis); 146 146 DECLHIDDEN(PVBOXNETADP) vboxNetAdpFindByName(const char *pszName); -
trunk/src/VBox/HostDrivers/VBoxNetAdp/darwin/VBoxNetAdp-darwin.cpp
r35809 r35824 136 136 pUuid->Gen.u8ClockSeqHiAndReserved = (pUuid->Gen.u8ClockSeqHiAndReserved & 0x3f) | 0x80; 137 137 pUuid->Gen.u16TimeHiAndVersion = (pUuid->Gen.u16TimeHiAndVersion & 0x0fff) | 0x4000; 138 pUuid->Gen.u8ClockSeqLow = pThis-> nUnit;138 pUuid->Gen.u8ClockSeqLow = pThis->iUnit; 139 139 vboxNetAdpComposeMACAddress(pThis, (PRTMAC)pUuid->Gen.au8Node); 140 140 } … … 216 216 memcpy(LLADDR(&mac), pMACAddress->au8, mac.sdl_alen); 217 217 218 RTStrPrintf(pThis->szName, VBOXNETADP_MAX_NAME_LEN, "%s%d", VBOXNETADP_NAME, pThis-> nUnit);218 RTStrPrintf(pThis->szName, VBOXNETADP_MAX_NAME_LEN, "%s%d", VBOXNETADP_NAME, pThis->iUnit); 219 219 vboxNetAdpDarwinComposeUUID(pThis, &uuid); 220 220 Params.uniqueid = uuid.au8; 221 221 Params.uniqueid_len = sizeof(uuid); 222 222 Params.name = VBOXNETADP_NAME; 223 Params.unit = pThis-> nUnit;223 Params.unit = pThis->iUnit; 224 224 Params.family = IFNET_FAMILY_ETHERNET; 225 225 Params.type = IFT_ETHER; … … 294 294 if (rc == VERR_TIMEOUT) 295 295 LogRel(("VBoxAdpDrv: Failed to detach interface %s%d\n.", 296 VBOXNETADP_NAME, pThis-> nUnit));296 VBOXNETADP_NAME, pThis->iUnit)); 297 297 err = ifnet_release(pThis->u.s.pIface); 298 298 if (err) -
trunk/src/VBox/HostDrivers/VBoxNetAdp/freebsd/VBoxNetAdp-freebsd.c
r35809 r35824 264 264 return VERR_NO_MEMORY; 265 265 266 if_initname(ifp, VBOXNETADP_NAME, pThis-> nUnit);266 if_initname(ifp, VBOXNETADP_NAME, pThis->iUnit); 267 267 ifp->if_softc = pThis; 268 268 ifp->if_mtu = ETHERMTU;
Note:
See TracChangeset
for help on using the changeset viewer.