Line Discipline or Termios lacks ?
Thomas Doerfler
Thomas.Doerfler at imd-systems.de
Thu Sep 18 15:23:06 UTC 2003
Hi,
>
> Ok, I want to do this !! :-) But I don't found how
> termios_ioctl will call my private driver ioctl
> function.
>
> Termios_icotl have a switch(command) :
> case KnwonCommand1 :
> case KnwonCommand2 :
> case KnwonCommand3 :
> default : Call line discipline ioctl function
Well, I would not change the termios code, but intercept the
ioctl call in your private driver.
Whenever an application performs an ioctl call for a specific
device, then the RTEMS io system calls the "ioctl" function in
the device driver (e.g. "console_ioctl"). A "nomal" driver
supporting "termios" will only hand through that call to
termios_ioctl, in that case the drivers "ioctl" function looks
like:
/*
* Handle ioctl request.
*/
rtems_device_driver console_control(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
return rtems_termios_ioctl (arg);
}
In your case, you should intercept your own ioctl code in this
function, so you would change it to:
/*
* Handle ioctl request.
*/
rtems_device_driver console_control(
rtems_device_major_number major,
rtems_device_minor_number minor,
void * arg
)
{
rtems_status_code rc;
rtems_libio_ioctl_args_t *args = arg;
switch(args->command) {
case_MY_IOCTL_CODE_TO_ENABLE_RTS:
rc = console_enable_rts(arg);
break;
case_MY_IOCTL_CODE_TO_DISABLE_RTS:
rc = console_disable_rts(arg);
break;
default:
rc = rtems_termios_ioctl (arg);
break;
}
return rc;
}
Does this help a bit?
wkr,
Thomas.
>
> So How can I do, that's what I don't understand and
> found a solution to do this and use termios ?
>
> > wkr,
> > Thomas.
>
>
>
>
>
> =====
> AUBERT Cedric
> SDEL Controle Commande
> rue Nungesser & Coli
> 44860 St Aignan de Grand Lieu
>
> E-mail : cedric_aubert at yahoo.fr
> Http : http://www.controle-commande.sdel.fr/
>
> __________________________________
> Do you Yahoo!?
> Yahoo! SiteBuilder - Free, easy-to-use web site design software
> http://sitebuilder.yahoo.com
--------------------------------------------
IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler Herbststrasse 8
D-82178 Puchheim Germany
email: Thomas.Doerfler at imd-systems.de
PGP public key available at: http://www.imd-
systems.de/pgp_keys.htm
More information about the users
mailing list