ChainTable
static ChainTable* sProtocolChains;
static ChainTable* sDatalinkProtocolChains;
static ChainTable* sReceivingProtocolChains;
chain::Lookup(ChainTable* chains, int family, int type, int protocol)
chain::Add(ChainTable* chains, int family, int type, int protocol,
chain::Add(ChainTable* chains, int family, int type, int protocol, ...)
chain::DeleteChains(ChainTable* chains)
sProtocolChains = new(std::nothrow) ChainTable();
sDatalinkProtocolChains = new(std::nothrow) ChainTable();
sReceivingProtocolChains = new(std::nothrow) ChainTable();