From 55951bc1e68124be71ed59eb81f786ead09ff70b Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 4 May 1998 12:40:21 +0000 Subject: Switched to termios callback structure. --- c/src/lib/libbsp/powerpc/psim/console/console.c | 35 ++++++++++++++++--------- 1 file changed, 23 insertions(+), 12 deletions(-) (limited to 'c/src/lib/libbsp/powerpc/psim') diff --git a/c/src/lib/libbsp/powerpc/psim/console/console.c b/c/src/lib/libbsp/powerpc/psim/console/console.c index 19b695f65c..6024fc6479 100644 --- a/c/src/lib/libbsp/powerpc/psim/console/console.c +++ b/c/src/lib/libbsp/powerpc/psim/console/console.c @@ -18,6 +18,10 @@ #include #include +/* external prototypes for monitor interface routines */ + +void outbyte( char ); +char inbyte( void ); /* * console_outbyte_polled @@ -87,9 +91,10 @@ void DEBUG_puts( * */ -int console_write_support (int minor, char *buf, int len) +int console_write_support (int minor, const void *bufarg, int len) { int nwrite = 0; + const char *buf = bufarg; while (nwrite < len) { console_outbyte_polled( minor, *buf++ ); @@ -130,18 +135,24 @@ rtems_device_driver console_open( void * arg ) { - rtems_status_code sc; - - assert( minor <= 1 ); - if ( minor > 2 ) - return RTEMS_INVALID_NUMBER; + rtems_status_code sc; + static const rtems_termios_callbacks pollCallbacks = { + NULL, /* firstOpen */ + NULL, /* lastClose */ + console_inbyte_nonblocking, /* pollRead */ + console_write_support, /* write */ + NULL, /* setAttributes */ + NULL, /* stopRemoteTx */ + NULL, /* startRemoteTx */ + 0 /* outputUsesInterrupts */ + }; + + + assert( minor <= 1 ); + if ( minor > 2 ) + return RTEMS_INVALID_NUMBER; - sc = rtems_termios_open (major, minor, arg, - NULL, - NULL, - console_inbyte_nonblocking, - console_write_support, - 0); + sc = rtems_termios_open (major, minor, arg, &pollCallbacks ); return RTEMS_SUCCESSFUL; } -- cgit v1.2.3