Remove dead void* dispatch functions and unused internal enums/constants
This commit is contained in:
184
w6300/w6300.cpp
184
w6300/w6300.cpp
@@ -275,31 +275,10 @@ enum net_ctl {
|
||||
CN_SET_TIMEOUT, CN_GET_TIMEOUT, CN_SET_PREFER, CN_GET_PREFER,
|
||||
};
|
||||
|
||||
enum net_service_ctl {
|
||||
CNS_ARP, CNS_PING, CNS_DAD, CNS_SLAAC, CNS_UNSOL_NA, CNS_GET_PREFIX
|
||||
};
|
||||
|
||||
enum sock_ctl {
|
||||
CS_SET_IOMODE, CS_GET_IOMODE, CS_GET_MAXTXBUF, CS_GET_MAXRXBUF,
|
||||
CS_CLR_INTERRUPT, CS_GET_INTERRUPT, CS_SET_PREFER, CS_GET_PREFER,
|
||||
CS_SET_INTMASK, CS_GET_INTMASK
|
||||
};
|
||||
|
||||
enum sockopt_type {
|
||||
SO_FLAG, SO_TTL, SO_TOS, SO_MSS, SO_DESTIP, SO_DESTPORT,
|
||||
SO_KEEPALIVESEND, SO_KEEPALIVEAUTO, SO_SENDBUF, SO_RECVBUF,
|
||||
SO_STATUS, SO_EXTSTATUS, SO_MODE, SO_REMAINSIZE, SO_PACKINFO
|
||||
};
|
||||
|
||||
enum sockint_kind { SIK_CONNECTED = 1, SIK_DISCONNECTED = 2, SIK_RECEIVED = 4, SIK_TIMEOUT = 8, SIK_SENT = 16, SIK_ALL = 0x1F };
|
||||
|
||||
|
||||
constexpr uint8_t SOCK_IO_BLOCK = static_cast<uint8_t>(sock_io_mode::block);
|
||||
constexpr uint8_t SOCK_IO_NONBLOCK = static_cast<uint8_t>(sock_io_mode::nonblock);
|
||||
|
||||
constexpr uint8_t TCPSOCK_MODE = static_cast<uint8_t>(tcp_sock_info::mode);
|
||||
constexpr uint8_t TCPSOCK_OP = static_cast<uint8_t>(tcp_sock_info::op);
|
||||
constexpr uint8_t TCPSOCK_SIP = static_cast<uint8_t>(tcp_sock_info::sip);
|
||||
|
||||
constexpr uint8_t W6300_SPI_READ = (0x00 << 5);
|
||||
constexpr uint8_t W6300_SPI_WRITE = (0x01 << 5);
|
||||
@@ -1068,17 +1047,6 @@ int8_t ctl_net(net_ctl cntype, void* arg) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int8_t ctl_net_service(net_service_ctl cnstype, void* arg) {
|
||||
switch (cnstype) {
|
||||
case CNS_ARP: return send_arp((arp_request*)arg);
|
||||
case CNS_PING: return send_ping((ping_request*)arg);
|
||||
case CNS_DAD: return send_dad((uint8_t*)arg);
|
||||
case CNS_SLAAC: return send_slaac((prefix*)arg);
|
||||
case CNS_UNSOL_NA: return send_unsolicited();
|
||||
case CNS_GET_PREFIX: return get_prefix((prefix*)arg);
|
||||
default: return -1;
|
||||
}
|
||||
}
|
||||
|
||||
void soft_reset() {
|
||||
uint8_t gw[4], sn[4], sip[4], mac[6];
|
||||
@@ -1729,158 +1697,6 @@ std::expected<uint16_t, sock_error> recvfrom(socket_id sid, std::span<uint8_t> b
|
||||
return pack_len;
|
||||
}
|
||||
|
||||
std::expected<void, sock_error> ctl_socket(socket_id sid, sock_ctl cstype, void* arg) {
|
||||
uint8_t sn = static_cast<uint8_t>(sid);
|
||||
uint8_t tmp = 0;
|
||||
CHECK_SOCKNUM();
|
||||
tmp = *((uint8_t*)arg);
|
||||
switch (cstype) {
|
||||
case CS_SET_IOMODE:
|
||||
if (tmp == SOCK_IO_NONBLOCK) sock_io_mode_bits |= (1 << sn);
|
||||
else if (tmp == SOCK_IO_BLOCK) sock_io_mode_bits &= ~(1 << sn);
|
||||
else FAIL(arg);
|
||||
break;
|
||||
case CS_GET_IOMODE:
|
||||
*((uint8_t*)arg) = (uint8_t)((sock_io_mode_bits >> sn) & 0x0001);
|
||||
break;
|
||||
case CS_GET_MAXTXBUF:
|
||||
*((uint16_t*)arg) = getSn_TxMAX(sn);
|
||||
break;
|
||||
case CS_GET_MAXRXBUF:
|
||||
*((uint16_t*)arg) = getSn_RxMAX(sn);
|
||||
break;
|
||||
case CS_CLR_INTERRUPT:
|
||||
if (tmp > SIK_ALL) FAIL(arg);
|
||||
setSn_IR(sn, tmp);
|
||||
break;
|
||||
case CS_GET_INTERRUPT:
|
||||
*((uint8_t*)arg) = getSn_IR(sn);
|
||||
break;
|
||||
case CS_SET_INTMASK:
|
||||
if (tmp > SIK_ALL) FAIL(arg);
|
||||
setSn_IMR(sn, tmp);
|
||||
break;
|
||||
case CS_GET_INTMASK:
|
||||
*((uint8_t*)arg) = getSn_IMR(sn);
|
||||
break;
|
||||
case CS_SET_PREFER:
|
||||
if ((tmp & 0x03) == 0x01) FAIL(arg);
|
||||
setSn_PSR(sn, tmp);
|
||||
break;
|
||||
case CS_GET_PREFER:
|
||||
*(uint8_t*)arg = getSn_PSR(sn);
|
||||
break;
|
||||
default:
|
||||
FAIL(arg);
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
std::expected<void, sock_error> set_sockopt(socket_id sid, sockopt_type sotype, void* arg) {
|
||||
uint8_t sn = static_cast<uint8_t>(sid);
|
||||
CHECK_SOCKNUM();
|
||||
switch (sotype) {
|
||||
case SO_TTL:
|
||||
setSn_TTL(sn, *(uint8_t*)arg);
|
||||
break;
|
||||
case SO_TOS:
|
||||
setSn_TOS(sn, *(uint8_t*)arg);
|
||||
break;
|
||||
case SO_MSS:
|
||||
setSn_MSSR(sn, *(uint16_t*)arg);
|
||||
break;
|
||||
case SO_DESTIP:
|
||||
if (((ip_address *)arg)->len == 16) setSn_DIP6R(sn, ((ip_address*)arg)->ip.data());
|
||||
else setSn_DIPR(sn, (uint8_t*)arg);
|
||||
break;
|
||||
case SO_DESTPORT:
|
||||
setSn_DPORTR(sn, *(uint16_t*)arg);
|
||||
break;
|
||||
case SO_KEEPALIVESEND:
|
||||
CHECK_TCPMODE();
|
||||
if (getSn_KPALVTR(sn) != 0) FAIL(sock_opt);
|
||||
setSn_CR(sn, Sn_CR_SEND_KEEP);
|
||||
while (getSn_CR(sn) != 0) {
|
||||
if (getSn_IR(sn) & Sn_IR_TIMEOUT) {
|
||||
setSn_IR(sn, Sn_IR_TIMEOUT);
|
||||
FAIL(timeout);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case SO_KEEPALIVEAUTO:
|
||||
CHECK_TCPMODE();
|
||||
setSn_KPALVTR(sn, *(uint8_t*)arg);
|
||||
break;
|
||||
default:
|
||||
FAIL(arg);
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
std::expected<void, sock_error> get_sockopt(socket_id sid, sockopt_type sotype, void* arg) {
|
||||
uint8_t sn = static_cast<uint8_t>(sid);
|
||||
CHECK_SOCKNUM();
|
||||
switch (sotype) {
|
||||
case SO_FLAG:
|
||||
*(uint8_t*)arg = (getSn_MR(sn) & 0xF0) | (getSn_MR2(sn)) | ((uint8_t)(((sock_io_mode_bits >> sn) & 0x0001) << 3));
|
||||
break;
|
||||
case SO_TTL:
|
||||
*(uint8_t*)arg = getSn_TTL(sn);
|
||||
break;
|
||||
case SO_TOS:
|
||||
*(uint8_t*)arg = getSn_TOS(sn);
|
||||
break;
|
||||
case SO_MSS:
|
||||
*(uint16_t*)arg = getSn_MSSR(sn);
|
||||
break;
|
||||
case SO_DESTIP:
|
||||
CHECK_TCPMODE();
|
||||
if (getSn_ESR(sn) & TCPSOCK_MODE) {
|
||||
getSn_DIP6R(sn, ((ip_address*)arg)->ip.data());
|
||||
((ip_address*)arg)->len = 16;
|
||||
} else {
|
||||
getSn_DIPR(sn, ((ip_address*)arg)->ip.data());
|
||||
((ip_address*)arg)->len = 4;
|
||||
}
|
||||
break;
|
||||
case SO_DESTPORT:
|
||||
*(uint16_t*)arg = getSn_DPORTR(sn);
|
||||
break;
|
||||
case SO_KEEPALIVEAUTO:
|
||||
CHECK_TCPMODE();
|
||||
*(uint16_t*)arg = getSn_KPALVTR(sn);
|
||||
break;
|
||||
case SO_SENDBUF:
|
||||
*(uint16_t*)arg = getSn_TX_FSR(sn);
|
||||
break;
|
||||
case SO_RECVBUF:
|
||||
*(uint16_t*)arg = getSn_RX_RSR(sn);
|
||||
break;
|
||||
case SO_STATUS:
|
||||
*(uint8_t*)arg = getSn_SR(sn);
|
||||
break;
|
||||
case SO_EXTSTATUS:
|
||||
CHECK_TCPMODE();
|
||||
*(uint8_t*)arg = getSn_ESR(sn) & 0x07;
|
||||
break;
|
||||
case SO_REMAINSIZE:
|
||||
if (getSn_MR(sn) == SOCK_CLOSED) FAIL(sock_status);
|
||||
if (getSn_MR(sn) & 0x01) *(uint16_t*)arg = getSn_RX_RSR(sn);
|
||||
else *(uint16_t*)arg = sock_remained_size[sn];
|
||||
break;
|
||||
case SO_PACKINFO:
|
||||
if (getSn_MR(sn) == SOCK_CLOSED) FAIL(sock_status);
|
||||
if (getSn_MR(sn) & 0x01) FAIL(sock_mode);
|
||||
else *(uint8_t*)arg = sock_pack_info[sn];
|
||||
break;
|
||||
case SO_MODE:
|
||||
*(uint8_t*)arg = 0x0F & getSn_MR(sn);
|
||||
break;
|
||||
default:
|
||||
FAIL(sock_opt);
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
std::optional<uint16_t> peek_socket_msg(socket_id sid, std::span<const uint8_t> submsg) {
|
||||
uint16_t subsize = submsg.size();
|
||||
|
||||
Reference in New Issue
Block a user