EasyManua.ls Logo

Agilent Technologies E4406A VSA Series - Page 146

Agilent Technologies E4406A VSA Series
420 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
146 Chapter3
Programming Examples
Using C Programming Over Socket LAN
/* fprintf(stderr, "Sending \"%s\".\n", command); */
if (strchr(command, '\n') == NULL) {
fprintf(stderr, "Warning: missing newline on command %s.\n", command);
}
count = send(sock, command, strlen(command), 0);
if (count == SOCKET_ERROR) {
return COMMAND_ERROR;
}
return NO_CMD_ERROR;
}
/**************************************************************************
* recv_line(): similar to fgets(), but uses recv()
**************************************************************************/
char * recv_line(SOCKET sock, char * result, int maxLength)
{
#ifdef WINSOCK
int cur_length = 0;
int count;
char * ptr = result;
int err = 1;
while (cur_length < maxLength) {
/* Get a byte into ptr */
count = recv(sock, ptr, 1, 0);
/* If no chars to read, stop. */
if (count < 1) {
break;
}
cur_length += count;
/* If we hit a newline, stop. */
if (*ptr == '\n') {
ptr++;
err = 0;
break;
}
ptr++;
}
*ptr = '\0';
if (err) {
return NULL;
} else {
return result;
}
#else

Table of Contents

Other manuals for Agilent Technologies E4406A VSA Series

Related product manuals