....
#include <sys/ioctl.h>
....

int get_osc_2(int fd, unsigned char *buf, int len)
{
	int l;
	int r;
	char *cmd = "acquire1:point\n";

	r = write(fd, cmd, strlen(cmd));
	if (-1 == r) {
		perror(" __ write()");
		exit(1);
	}

	l = 0;
	do {
		r = ioctl(fd, FIONREAD, &l);
		if (-1 == r) {
			perror("ioctl(FIONREAD)\n");
			exit(1);
		}
	} while (l != len);

	r = read(fd, buf, l);

	if (-1 == r) {
		perror("read()");
		exit(1);
	}

	if (!r) {
		printf("something went wrong...\n");
		exit(1);
	}

	printf("%d read\n", r);
	return 0;
}