2001-07-26 21:20:01

by Salvador Eduardo Tropea

[permalink] [raw]
Subject: [RFC/A] Small addition to console driver

#include <stdio.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int i,res,fd,largo;
char buffer[sizeof(unsigned int)+2],*s;
unsigned int *lg=(unsigned int *)(buffer+1);

fd=open("/dev/tty1",O_RDWR);

printf("Averiguando el largo de la seleccion:\n");
buffer[0]=14;
res=ioctl(fd,TIOCLINUX,&buffer);
printf("La iotcl devuelve %d\n",res);
printf("Largo: %u\n",*lg);
largo=*lg;
if (*lg==0) return 0;

printf("Pidiendo la seleccion:\n");
s=(char *)malloc(largo+sizeof(unsigned int)+2);
s[0]=13;
lg=(unsigned int *)(s+1);
*lg=largo;
res=ioctl(fd,TIOCLINUX,s);
printf("La iotcl devuelve %d\n",res);
largo=*lg;
printf("Largo devuelto: %d\n",largo);
s+=1+sizeof(unsigned int);
s[largo]=0;

for (i=0; s[i]; i++)
if (s[i]==13) s[i]=10;
printf("Dice esto: '%s' (%d)\n",s,s[0]);
return 0;
}


Attachments:
patch.diff (2.26 kB)
test.c (881.00 B)
Download all attachments