Commit 7182f8f8 authored by Anthony Foiani's avatar Anthony Foiani Committed by Greg Kroah-Hartman
Browse files

staging: usbip: set usbipd server port via "-t" / "--tcp-port" option.



Add an option "-t" / "--tcp-port" to specify the TCP port to listen
on.  Downcase associated variables as they're no longer constants.

Signed-off-by: default avatarAnthony Foiani <anthony.foiani@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9ead219b
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <syslog.h>

#include "usbip_common.h"
#include "usbip_network.h"
#include "usbip.h"

static int usbip_help(int argc, char *argv[]);
@@ -34,7 +35,7 @@ static int usbip_version(int argc, char *argv[]);
static const char usbip_version_string[] = PACKAGE_STRING;

static const char usbip_usage_string[] =
	"usbip [--debug] [--log] [version]\n"
	"usbip [--debug] [--log] [--tcp-port PORT] [version]\n"
	"             [help] <command> <args>\n";

static void usbip_usage(void)
@@ -140,6 +141,7 @@ int main(int argc, char *argv[])
	static const struct option opts[] = {
		{ "debug", no_argument, NULL, 'd' },
		{ "log",   no_argument, NULL, 'l' },
		{ "tcp-port",  required_argument, NULL, 't' },
		{ NULL,    0,           NULL,  0  }
	};

@@ -150,7 +152,7 @@ int main(int argc, char *argv[])
	usbip_use_stderr = 1;
	opterr = 0;
	for (;;) {
		opt = getopt_long(argc, argv, "+d", opts, NULL);
		opt = getopt_long(argc, argv, "+dt:", opts, NULL);

		if (opt == -1)
			break;
@@ -163,6 +165,9 @@ int main(int argc, char *argv[])
			usbip_use_syslog = 1;
			openlog("", LOG_PID, LOG_USER);
			break;
		case 't':
			usbip_setup_port_number(optarg);
			break;
		case '?':
			printf("usbip: invalid option\n");
		default:
+2 −2
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ static int attach_device(char *host, char *busid)
	int rc;
	int rhport;

	sockfd = usbip_net_tcp_connect(host, USBIP_PORT_STRING);
	sockfd = usbip_net_tcp_connect(host, usbip_port_string);
	if (sockfd < 0) {
		err("tcp connect");
		return -1;
@@ -189,7 +189,7 @@ static int attach_device(char *host, char *busid)

	close(sockfd);

	rc = record_connection(host, USBIP_PORT_STRING, busid, rhport);
	rc = record_connection(host, usbip_port_string, busid, rhport);
	if (rc < 0) {
		err("record connection");
		return -1;
+3 −3
Original line number Diff line number Diff line
@@ -131,13 +131,13 @@ static int list_exported_devices(char *host)
	int rc;
	int sockfd;

	sockfd = usbip_net_tcp_connect(host, USBIP_PORT_STRING);
	sockfd = usbip_net_tcp_connect(host, usbip_port_string);
	if (sockfd < 0) {
		err("could not connect to %s:%s: %s", host,
		    USBIP_PORT_STRING, gai_strerror(sockfd));
		    usbip_port_string, gai_strerror(sockfd));
		return -1;
	}
	dbg("connected to %s:%s", host, USBIP_PORT_STRING);
	dbg("connected to %s:%s", host, usbip_port_string);

	rc = get_exported_devices(host, sockfd);
	if (rc < 0) {
+30 −0
Original line number Diff line number Diff line
@@ -28,6 +28,36 @@
#include "usbip_common.h"
#include "usbip_network.h"

int usbip_port = 3240;
char *usbip_port_string = "3240";

void usbip_setup_port_number(char *arg)
{
	dbg("parsing port arg '%s'", arg);
	char *end;
	unsigned long int port = strtoul(arg, &end, 10);

	if (end == arg) {
		err("port: could not parse '%s' as a decimal integer", arg);
		return;
	}

	if (*end != '\0') {
		err("port: garbage at end of '%s'", arg);
		return;
	}

	if (port > UINT16_MAX) {
		err("port: %s too high (max=%d)",
		    arg, UINT16_MAX);
		return;
	}

	usbip_port = port;
	usbip_port_string = arg;
	info("using port %d (\"%s\")", usbip_port, usbip_port_string);
}

void usbip_net_pack_uint32_t(int pack, uint32_t *num)
{
	uint32_t i;
+3 −2
Original line number Diff line number Diff line
@@ -14,8 +14,9 @@

#include <stdint.h>

#define USBIP_PORT 3240
#define USBIP_PORT_STRING "3240"
extern int usbip_port;
extern char *usbip_port_string;
void usbip_setup_port_number(char *arg);

/* ---------------------------------------------------------------------- */
/* Common header for all the kinds of PDUs. */
Loading