public Udp6Cep(ID udpid, ref T_UDP6_CCEP pk_cudp, Nucleus pNucleus, lwip lwip) { m_CepID = udpid; m_cudp = pk_cudp; m_Nucleus = pNucleus; m_lwIP = lwip; ip6_addr addr = new ip6_addr(pk_cudp.myaddr.ipaddr); m_Pcb = m_lwIP.udp.udp_new(); //m_lwIP.udp.udp_bind(m_Pcb, addr, pk_cudp.myaddr.portno); //udp.udp_recv(m_Pcb, recv, this); }
internal ER CreateUdp6Cep(ID cepid, ref T_UDP6_CCEP pk_ccep, out ID p_cepid) { int i; //if (pk_ccep == null) // return ER.E_PAR; if (cepid == ID.ID_AUTO) { //if (p_cepid == 0) // return ER.E_PAR; cepid.Value = 1; for (i = 0; ; i++) { if (i >= m_Udp6CepTable.Count) { Udp6Cep udpCep = new Udp6Cep(cepid, ref pk_ccep, this, m_lwIP); m_Udp6CepTable.Add(udpCep); break; } if (cepid == m_Udp6CepTable[i].CepID) { cepid.Value++; } else { Udp6Cep udpCep = new Udp6Cep(cepid, ref pk_ccep, this, m_lwIP); m_Udp6CepTable.Insert(i, udpCep); break; } } p_cepid = cepid; } else { ID tmpid; p_cepid = ID.NULL; for (i = 0; i < m_Udp6CepTable.Count; i++) { tmpid = m_Udp6CepTable[i].CepID; if (cepid == tmpid) { return(ER.E_OBJ); } else if (cepid < tmpid) { break; } } Udp6Cep udpCep = new Udp6Cep(cepid, ref pk_ccep, this, m_lwIP); m_Udp6CepTable.Insert(i, udpCep); } return(ER.E_OK); }