📄 getmac-snmp.html
字号:
<font color="#444444">/* Ignore all dial-up networking adapters */</font> <font color="#2040a0">printf</font><font color="4444FF">(</font><font color="#008000">"Interface #%i is a DUN adapter<font color="#77dd77">\n</font>"</font>, <font color="#2040a0">j</font><font color="4444FF">)</font><font color="4444FF">;</font> <strong>continue</strong><font color="4444FF">;</font> <font color="4444FF"><strong>}</strong></font> <strong>if</strong> <font color="4444FF">(</font> <font color="4444FF">(</font><font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">0</font><font color="4444FF">]</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#FF0000">0x00</font><font color="4444FF">)</font> <font color="4444FF">&</font><font color="4444FF">&</font> <font color="4444FF">(</font><font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#FF0000">0x00</font><font color="4444FF">)</font> <font color="4444FF">&</font><font color="4444FF">&</font> <font color="4444FF">(</font><font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">2</font><font color="4444FF">]</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#FF0000">0x00</font><font color="4444FF">)</font> <font color="4444FF">&</font><font color="4444FF">&</font> <font color="4444FF">(</font><font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">3</font><font color="4444FF">]</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#FF0000">0x00</font><font color="4444FF">)</font> <font color="4444FF">&</font><font color="4444FF">&</font> <font color="4444FF">(</font><font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">4</font><font color="4444FF">]</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#FF0000">0x00</font><font color="4444FF">)</font> <font color="4444FF">&</font><font color="4444FF">&</font> <font color="4444FF">(</font><font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">5</font><font color="4444FF">]</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#FF0000">0x00</font><font color="4444FF">)</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font> <font color="#444444">/* Ignore NULL addresses returned by other network interfaces */</font> <font color="#2040a0">printf</font><font color="4444FF">(</font><font color="#008000">"Interface #%i is a NULL address<font color="#77dd77">\n</font>"</font>, <font color="#2040a0">j</font><font color="4444FF">)</font><font color="4444FF">;</font> <strong>continue</strong><font color="4444FF">;</font> <font color="4444FF"><strong>}</strong></font> <font color="#2040a0">sprintf</font><font color="4444FF">(</font><font color="#2040a0">TempEthernet</font>, <font color="#008000">"%02x%02x%02x%02x%02x%02x"</font>, <font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">0</font><font color="4444FF">]</font>, <font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>, <font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">2</font><font color="4444FF">]</font>, <font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">3</font><font color="4444FF">]</font>, <font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">4</font><font color="4444FF">]</font>, <font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>.<font color="#2040a0">value</font>.<font color="#2040a0">asnValue</font>.<font color="#2040a0">address</font>.<font color="#2040a0">stream</font><font color="4444FF">[</font><font color="#FF0000">5</font><font color="4444FF">]</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#2040a0">printf</font><font color="4444FF">(</font><font color="#008000">"MAC Address of interface #%i: %s<font color="#77dd77">\n</font>"</font>, <font color="#2040a0">j</font>, <font color="#2040a0">TempEthernet</font><font color="4444FF">)</font><font color="4444FF">;</font><font color="4444FF"><strong>}</strong></font> <font color="4444FF"><strong>}</strong></font> <font color="4444FF"><strong>}</strong></font> <font color="4444FF"><strong>}</strong></font> <strong>while</strong> <font color="4444FF">(</font><font color="4444FF">!</font><font color="#2040a0">ret</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#444444">/* Stop only on an error. An error will occur when we go exhaust the list of interfaces to be examined */</font> <font color="#2040a0">getch</font><font color="4444FF">(</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#444444">/* Free the bindings */</font> <font color="#2040a0">SNMP_FreeVarBind</font><font color="4444FF">(</font><font color="4444FF">&</font><font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">0</font><font color="4444FF">]</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#2040a0">SNMP_FreeVarBind</font><font color="4444FF">(</font><font color="4444FF">&</font><font color="#2040a0">varBind</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font><font color="4444FF">)</font><font color="4444FF">;</font><font color="4444FF"><strong>}</strong></font></pre><hr noshade size=1 color=#404040><h4 class=lmargin><a href="../examples/src/snmpapi.cpp">snmpapi.cpp</a></h4><pre><font color="#444444">/******************************************************************** Copyright (C) Stas Khirman 1998. All rights reserved. * * This program is distributed WITHOUT ANY WARRANTY********************************************************************/</font><font color="#444444">/************************************************** * Reproduction of SNMP.LIB and SNMPAPI.LIB base* functions** Author: Stas Khirman (staskh@rocketmail.com)*** Free software: no warranty; use anywhere is ok; spread the * sources; note any modifications; share variations and * derivatives (including sending to staskh@rocketmail.com). * **************************************************/</font><font color="0000ff"><strong>#include <font color="#008000"><snmp.h></font></strong></font><font color="#2040a0">SNMPAPI</font><font color="#2040a0">SNMP_FUNC_TYPE</font><font color="#2040a0">SnmpUtilOidCpy</font><font color="4444FF">(</font> <font color="#2040a0">OUT</font> <font color="#2040a0">AsnObjectIdentifier</font> <font color="4444FF">*</font><font color="#2040a0">DstObjId</font>, <font color="#2040a0">IN</font> <font color="#2040a0">AsnObjectIdentifier</font> <font color="4444FF">*</font><font color="#2040a0">SrcObjId</font> <font color="4444FF">)</font><font color="4444FF"><strong>{</strong></font> <font color="#2040a0">DstObjId</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">ids</font> <font color="4444FF">=</font> <font color="4444FF">(</font><font color="#2040a0">UINT</font> <font color="4444FF">*</font><font color="4444FF">)</font><font color="#2040a0">GlobalAlloc</font><font color="4444FF">(</font><font color="#2040a0">GMEM_ZEROINIT</font>,<font color="#2040a0">SrcObjId</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">idLength</font> <font color="4444FF">*</font> <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">UINT</font><font color="4444FF">)</font><font color="4444FF">)</font><font color="4444FF">;</font> <strong>if</strong><font color="4444FF">(</font><font color="4444FF">!</font><font color="#2040a0">DstObjId</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">ids</font><font color="4444FF">)</font><font color="4444FF"><strong>{</strong></font> <font color="#2040a0">SetLastError</font><font color="4444FF">(</font><font color="#FF0000">1</font><font color="4444FF">)</font><font color="4444FF">;</font> <strong>return</strong> <font color="#FF0000">0</font><font color="4444FF">;</font> <font color="4444FF"><strong>}</strong></font> <font color="#2040a0">memcpy</font><font color="4444FF">(</font><font color="#2040a0">DstObjId</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">ids</font>,<font color="#2040a0">SrcObjId</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">ids</font>,<font color="#2040a0">SrcObjId</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">idLength</font><font color="4444FF">*</font><strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">UINT</font><font color="4444FF">)</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#2040a0">DstObjId</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">idLength</font> <font color="4444FF">=</font> <font color="#2040a0">SrcObjId</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">idLength</font><font color="4444FF">;</font> <strong>return</strong> <font color="#FF0000">1</font><font color="4444FF">;</font><font color="4444FF"><strong>}</strong></font><font color="#2040a0">VOID</font><font color="#2040a0">SNMP_FUNC_TYPE</font><font color="#2040a0">SnmpUtilOidFree</font><font color="4444FF">(</font> <font color="#2040a0">IN</font> <font color="#2040a0">OUT</font> <font color="#2040a0">AsnObjectIdentifier</font> <font color="4444FF">*</font><font color="#2040a0">ObjId</font> <font color="4444FF">)</font><font color="4444FF"><strong>{</strong></font> <font color="#2040a0">GlobalFree</font><font color="4444FF">(</font><font color="#2040a0">ObjId</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">ids</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#2040a0">ObjId</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">ids</font> <font color="4444FF">=</font> <font color="#FF0000">0</font><font color="4444FF">;</font> <font color="#2040a0">ObjId</font><font color="4444FF">-</font><font color="4444FF">></font><font color="#2040a0">idLength</font> <font color="4444FF">=</font> <font color="#FF0000">0</font><font color="4444FF">;</font><font color="4444FF"><strong>}</strong></font><font color="#2040a0">SNMPAPI</font><font color="#2040a0">SNMP_FUNC_TYPE</font><font color="#2040a0">SnmpUtilOidNCmp</font><font color="4444FF">(</font> <font color="#2040a0">IN</font> <font color="#2040a0">AsnObjectIdentifier</font> <font color="4444FF">*</font><font color="#2040a0">ObjIdA</font>, <font color="#2040a0">IN</font> <font color="#2040a0">AsnObjectIdentifier</font> <font color="4444FF">*</font><font color="#2040a0">ObjIdB</font>, <font color="#2040a0">IN</font> <font color="#2040a0">UINT</font> <font color="#2040a0">Len</font>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -