📄 mib.cs
字号:
using System;
using System.IO;
using System.Text;
using System.Collections;
using Tools;
namespace RFC1157
{
public class Mgmt
{
public Def def;
public string Lookup(uint[] u)
{
for (int j=0;j<def.path.Length;j++)
if (u[j]!=def.path[j])
throw(new Exception("Bad OID"));
return def[u[def.path.Length]].Lookup(u,def.path.Length+1);
}
public uint[] OID(string s)
{
string[] t = s.Split('.');
Def m = def;
int j;
for (j=0;j<t.Length;j++)
{
string c = t[j];
if (char.IsDigit(c[0]))
break;
m = m[t[j]];
if (m==null)
throw(new Exception("unrecognised "+t[j]));
}
uint[] u;
int i=0;
if (j==0)
{
u = new uint[t.Length];
}
else
{
if (j>=t.Length)
return m.path;
u = new uint[m.path.Length+t.Length-j];
for (i=0;i<m.path.Length;i++)
u[i] = m.path[i];
}
while (j<t.Length)
u[i++] = uint.Parse(t[j++]);
return u;
}
public string OID(uint[] u)
{
return Lookup(u);
}
public Mgmt()
{
Parser p = new syntax(new tokens());
// p.m_debug=true;
string fold = Environment.GetFolderPath(Environment.SpecialFolder.System);
DirectoryInfo dir = new DirectoryInfo(fold);
FileInfo[] list = dir.GetFiles("*.mib");
foreach (FileInfo f in list)
{
Console.WriteLine(f.Name);
StreamReader s = new StreamReader(f.FullName,new ASCIIEncoding(),true,1024);
try
{
p.Parse(s);
}
catch(Exception) {}
}
def = (Def)Defs.defs["internet"];
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -