MCPcopy Create free account
hub / github.com/MaxBelkov/visualsyslog / GetIPMask

Method GetIPMask

sourcecommon/MibAccess.cpp:145–190  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

143}
144
145BOOL MibII::GetIPMask(UINT IpArray[],UINT &IpArraySize)
146{
147 UINT OID_ipAdEntMask[] = { 1, 3, 6, 1, 2, 1, 4 , 20, 1 ,3 };
148 AsnObjectIdentifier MIB_ipAdEntMask = { sizeof(OID_ipAdEntMask)/sizeof(UINT), OID_ipAdEntMask };
149 RFC1157VarBindList varBindList; // ��-�� ��� � SnmpVarBindList
150 RFC1157VarBind varBind[1]; // SnmpVarBind
151 AsnInteger errorStatus;
152 AsnInteger errorIndex;
153 AsnObjectIdentifier MIB_NULL = {0,0};
154 BOOL Exit;
155 int ret;
156 int IpCount=0;
157 DWORD dtmp;
158
159 varBindList.list = varBind;
160 varBindList.len = 1;
161 varBind[0].name = MIB_NULL;
162 SNMP_oidcpy(&varBind[0].name,&MIB_ipAdEntMask); // ��-�� ��� � SnmpUtilOidCpy
163 Exit = FALSE;
164
165 while(!Exit){
166 ret = Query(ASN_RFC1157_GETNEXTREQUEST,&varBindList,&errorStatus,&errorIndex);
167
168 if(!ret)
169 Exit=TRUE;
170 else{
171 ret = SNMP_oidncmp(&varBind[0].name,&MIB_ipAdEntMask,MIB_ipAdEntMask.idLength); // SnmpUtilOidNCmp
172 if(ret!=0){
173 Exit=TRUE;
174 }
175 else{
176 dtmp = *((DWORD *)varBind[0].value.asnValue.address.stream);
177 IpArray[IpCount] = dtmp;
178 IpCount++;
179 if((UINT)IpCount>=IpArraySize)
180 Exit = TRUE;
181 }
182 }
183 }
184
185 IpArraySize = IpCount;
186
187 SNMP_FreeVarBind(&varBind[0]); // ��-�� ��� � SnmpUtilVarBindFree
188
189 return Exit;
190}
191

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected