[Mono-dev] [RFC 08/12] serial: Various workarounds for Haiku
Miguel de Icaza
miguel at novell.com
Fri Mar 26 12:16:50 EDT 2010
This is not acceptable either.
At this point, for the serial file, I think that a better solution
would be to make this file serial-PLAT.c
On Fri, Mar 26, 2010 at 9:30 AM, Andreas Färber <andreas.faerber at web.de> wrote:
> This commit is licensed under the MIT X11 license.
> ---
> support/serial.c | 17 +++++++++++++++++
> 1 files changed, 17 insertions(+), 0 deletions(-)
>
> diff --git a/support/serial.c b/support/serial.c
> index 7968fbb..4cf7fe4 100644
> --- a/support/serial.c
> +++ b/support/serial.c
> @@ -134,6 +134,9 @@ discard_buffer (int fd, gboolean input)
> gint32
> get_bytes_in_buffer (int fd, gboolean input)
> {
> +#ifdef __HAIKU__
> + return -1;
> +#else
> gint32 retval;
>
> if (ioctl (fd, input ? FIONREAD : TIOCOUTQ, &retval) == -1) {
> @@ -141,6 +144,7 @@ get_bytes_in_buffer (int fd, gboolean input)
> }
>
> return retval;
> +#endif
> }
>
> gboolean
> @@ -331,6 +335,7 @@ set_attributes (int fd, int baud_rate, MonoParity parity, int dataBits, MonoStop
> static gint32
> get_signal_code (MonoSerialSignal signal)
> {
> +#ifndef __HAIKU__
> switch (signal) {
> case Cd:
> return TIOCM_CAR;
> @@ -345,6 +350,7 @@ get_signal_code (MonoSerialSignal signal)
> default:
> return 0;
> }
> +#endif
>
> /* Not reached */
> return 0;
> @@ -355,6 +361,7 @@ get_mono_signal_codes (int signals)
> {
> MonoSerialSignal retval = NoneSignal;
>
> +#ifndef __HAIKU__
> if ((signals & TIOCM_CAR) != 0)
> retval |= Cd;
> if ((signals & TIOCM_CTS) != 0)
> @@ -365,6 +372,7 @@ get_mono_signal_codes (int signals)
> retval |= Dtr;
> if ((signals & TIOCM_RTS) != 0)
> retval |= Rts;
> +#endif
>
> return retval;
> }
> @@ -372,6 +380,10 @@ get_mono_signal_codes (int signals)
> MonoSerialSignal
> get_signals (int fd, gint32 *error)
> {
> +#ifdef __HAIKU__
> + *error = -1;
> + return NoneSignal;
> +#else
> int signals;
>
> *error = 0;
> @@ -382,11 +394,15 @@ get_signals (int fd, gint32 *error)
> }
>
> return get_mono_signal_codes (signals);
> +#endif
> }
>
> gint32
> set_signal (int fd, MonoSerialSignal signal, gboolean value)
> {
> +#ifdef __HAIKU__
> + return -1;
> +#else
> int signals, expected, activated;
>
> expected = get_signal_code (signal);
> @@ -406,6 +422,7 @@ set_signal (int fd, MonoSerialSignal signal, gboolean value)
> return -1;
>
> return 1;
> +#endif
> }
>
> int
> --
> 1.6.5.3
>
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
More information about the Mono-devel-list
mailing list