void*
rwl_open_transport(int remote_type, char *port, int ReadTotalTimeout, int debug)
{
	void* hndle;

	UNUSED_PARAMETER(port);
	UNUSED_PARAMETER(ReadTotalTimeout);
	UNUSED_PARAMETER(debug);

	switch (remote_type) {
#if defined(RWL_DONGLE) || defined(RWL_SERIAL)
	case REMOTE_SERIAL:
#ifdef RWL_SERIAL
			g_rwl_device_name_serial = port;
#endif
	case REMOTE_DONGLE:
			if ((g_irh = rwl_open_serial(remote_type, g_rwl_device_name_serial))
				 == FAIL) {
			/* Initial port opening settings failed in reboot. 
			 * So retry opening the serial port
			 */
				if ((g_irh = rwl_open_serial(remote_type, g_rwl_device_name_serial))
					 == FAIL) {
					DPRINT_ERR(ERR, "Can't open serial port\n");
					return NULL;
				}
			}
			break;
#endif /* RWL_DONGLE || RWL_SERIAL */

#ifdef RWL_SOCKET
		case REMOTE_SOCKET:
			if ((g_irh = rwl_opensocket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == FAIL) {
				DPRINT_ERR(ERR, "\nCan't open socket \n");
				return NULL;
			}

			break;
#endif /* RWL_SOCKET */

		default:
		DPRINT_ERR(ERR, "rwl_open_transport: Unknown remote_type %d\n", remote_type);
		return NULL;
		break;
	} /* end - switch case */

	hndle = (void*) &g_irh;
	return hndle;
}
Beispiel #2
0
void *
rwl_open_transport(int remote_type, char *port, int ReadTotalTimeout, int debug)
{
	HANDLE irh;
#ifdef RWL_SERIAL
	char port_str[10] = "\\\\.\\COM\0";

	strcat(port_str, port);

	if (debug) {
		printf("open_pipe(): port_str=%s\n", port_str);
	}
#endif

	switch (remote_type) {
#ifdef RWL_SERIAL
	case REMOTE_SERIAL:
		if ((irh = rwl_open_serial(port_str, ReadTotalTimeout, debug)) == NULL) {
			printf("Can't open serial port\n");
		}
		break;
#endif /* RWL_SERIAL */
#ifdef RWL_DONGLE
	case REMOTE_DONGLE:
		if ((irh = rwl_open_serial(g_rwl_device_name_serial, 0, 0)) == NULL) {
				DPRINT_ERR(ERR, "Can't open serial port\n");
		}
		break;
#endif /* RWL_DONGLE */
#ifdef RWL_SOCKET
	case REMOTE_SOCKET:
		if ((g_sockdes = rwl_opensocket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == FAIL) {
			DPRINT_ERR(ERR, "\nCan't open socket \n");
			return NULL;
		}
		irh = (void*) &g_sockdes;
		break;
#endif /* RWL_SOCKET */
	default:
		DPRINT_ERR(ERR, "rwl_open_transport: Unknown remote_type %d\n", remote_type);
		irh = NULL;
		break;
	}

	return irh;
}