[Mono-dev] [HaikuPorts-devs] [RFC v2 6/8] serial: Stub implementation for Haiku
andreas.faerber at web.de
Thu Apr 1 08:31:39 EDT 2010
Am 01.04.2010 um 10:35 schrieb François Revol:
> Le Thu, 1 Apr 2010 02:27:57 +0200, Andreas Färber a écrit :
>> Haiku has no full serial support, especially no TIOCOUTQ or TIOCM_*.
>> Provide a no-op implementation similar to null-gc.
> Again, TIOCOUTQ is not found on opengroup.org, neither are TIOCM_*
> which seem to be from SysV.
This one's still at v2, so I haven't reworked it yet.
> As I said, there is no reason to skip serial support because of
The patch fixes a blocking compile issue, so as long as Haiku doesn't
provide the defines/symbols used or you tell me which available ones I
might use instead, I need such a patch to compile at all.
Even if Haiku gets new ioctls to provide serial support, a null
implementation may still be useful for other platforms. There's
console-null and null-gc, for instance.
> TIOCOUTQ can be easily added to Haiku, or the BSD variant FIONWRITE.
I have virtually zero knowledge of ioctls and no opinion on which
ioctls or non-POSIX things you might want to add to Haiku. I was under
the impression that Mono works under BSDs though.
Since Miguel suggested a serial-PLAT split, you might even add a new
BYOUROWNIOCTL that I could use in a serial-haiku implementation. What
did BeOS do? R5 did have a SerialConnect app.
> As for TIOCMGET and friends it should be possible to #ifdef it out to
> return -1 with errno = ENOSYS. The calls already have provisions to
> return errors.
Wasn't that pretty much what my initial version did? That was rejected
on the Mono side.
> Unless used by a low level app like a serial flasher app
> I don't see why one would need to use modem lines directly, so for
> apps it shouldn't be needed...
My test machine has one serial port only, and that's occupied for
kernel debug output, I fear. So I'd need to use QEMU, and it's no fun
compiling Mono under emulation (tried it for sparc32). I don't have
any C# serial apps to test ATM anyway.
More information about the Mono-devel-list