Esempio n. 1
0
static void s2e_sockestablished_process(uint8_t sock)
{
	struct __network_info *net = (struct __network_info *)get_S2E_Packet_pointer()->network_info;

	if(reconn_flag)
		reconn_flag = reconn_time = 0;

	switch(net->working_mode) {
		case TCP_MIXED_MODE:
		case TCP_SERVER_MODE:
			if(auth_flag) {
				auth_process(sock);
				return;
			}
		case TCP_CLIENT_MODE:
			if((inactive_flag == 0) && net->inactivity)
				inactive_flag = 1;
			else if(inactive_flag == 2) {
				inactive_flag = 0;
				disconnect(sock);
			}
			ether_to_uart(sock);
			uart_to_ether(sock);
			break;

		case UDP_MODE:
			close(sock);
			break;

		default:
			break;
	}
}
Esempio n. 2
0
int		service_authentification(int sock_fd)
{
  t_auth_state	state;

  state = NONE;
  while (!g_config.should_stop && state != SUCCESS)
    auth_process(sock_fd, &state);
  return (state == SUCCESS);
}
Esempio n. 3
0
static void s2e_sockestablished_process(uint8_t sock)
{
	uint8_t tmp;
	struct __network_info *net = (struct __network_info *)get_S2E_Packet_pointer()->network_info;

	if(reconn_flag)
		reconn_flag = reconn_time = 0;

	switch(net->working_mode) {
		case TCP_MIXED_MODE:
		case TCP_SERVER_MODE:
			if(auth_flag) {
				auth_process(sock);
				return;
			}
		case TCP_CLIENT_MODE:
			if((inactive_flag == 0) && net->inactivity)
				inactive_flag = 1;
			else if(inactive_flag == 2) {
				inactive_flag = 0;
				disconnect(sock);
			}

			if(keepsend_flag == 0)
			{
				keepsend_flag = 1;
			}
			else if(keepsend_flag == 2)
			{
				keepsend_flag = 0;

				ctlwizchip(CW_GET_PHYLINK, (void*) &tmp);
				if(tmp == PHY_LINK_OFF)
				{
					//disconnect(sock); //TODO
				}
			}
			ether_to_uart(sock);
			uart_to_ether(sock);
			break;

		case UDP_MODE:
			close(sock);
			break;

		default:
			break;
	}
}