[SerialICE] r43 - trunk/qemu-0.11.0

svn at coresystems.de svn at coresystems.de
Wed Nov 18 18:51:03 CET 2009


Author: stepan
Date: 2009-11-18 18:51:02 +0100 (Wed, 18 Nov 2009)
New Revision: 43

Modified:
   trunk/qemu-0.11.0/serialice.c
Log:
move knowledge of file descriptors into serialice_read / serialice_write.
serialice_command does not need to know.


Modified: trunk/qemu-0.11.0/serialice.c
===================================================================
--- trunk/qemu-0.11.0/serialice.c	2009-11-15 22:32:19 UTC (rev 42)
+++ trunk/qemu-0.11.0/serialice.c	2009-11-18 17:51:02 UTC (rev 43)
@@ -355,12 +355,12 @@
 // **************************************************************************
 // low level communication with the SerialICE shell (serial communication)
 
-static int serialice_read(int fd, void *buf, size_t nbyte)
+static int serialice_read(SerialICEState *state, void *buf, size_t nbyte)
 {
 	int bytes_read = 0;
 
 	while (1) {
-		int ret = read(fd, buf, nbyte);
+		int ret = read(state->fd, buf, nbyte);
 
 		if (ret == -1 && errno == EINTR)
 			continue;
@@ -378,15 +378,15 @@
 	return bytes_read;
 }
 
-static int serialice_write(int fd, const void *buf, size_t nbyte)
+static int serialice_write(SerialICEState *state, const void *buf, size_t nbyte)
 {
 	char *buffer = (char *) buf;
 	char c;
 	int i;
 
 	for (i = 0; i < (int)nbyte; i++) {
-		while (write(fd, buffer + i, 1) != 1) ;
-		while (read(fd, &c, 1) != 1) ;
+		while (write(state->fd, buffer + i, 1) != 1) ;
+		while (read(state->fd, &c, 1) != 1) ;
 		if (c != buffer[i]) {
 			printf("Readback error! %x/%x\n", c, buffer[i]);
 		}
@@ -402,11 +402,11 @@
 #endif
 	int l;
 
-	serialice_write(s->fd, command, strlen(command));
+	serialice_write(s, command, strlen(command));
 	
 	memset(s->buffer, 0, reply_len + 1); // clear enough of the buffer
 
-	l = serialice_read(s->fd, s->buffer, reply_len);
+	l = serialice_read(s, s->buffer, reply_len);
 
 	if (l == -1) {
 		perror("SerialICE: Could not read from target");




More information about the SerialICE mailing list