[Mono-dev] [Mono-osx] IOKit Enumeration
Geoff Norton
gnorton at novell.com
Mon Apr 21 07:53:20 EDT 2008
Josh,
At a high level it does, but this conversation should be moved over
to mono-devel-list, so that the approrpiate maintainers (Dick Porter)
can weigh in. I've cc'd Dick and the mono-devel-list, dropping mono-
osx.
-g
On 21-Apr-08, at 2:32 AM, Joshua Perry wrote:
> It seems that I misunderstood what io-layer is. From what I gather,
> it is a Win32 compatibility layer that steps in with Win32 API IO
> functions on non Windows builds of mono.
>
> It looks like io-layer already implements File IO functions and
> overlapped IO operations. If I implement the Comm specific
> functions in io-layer we should be able to unify the System.IO.Ports
> code to the WinSerialStream code. Though changing it from P/
> Invoking into kernel32.dll to using icalls to io-layer.
>
> Win32 Comm API Functions:
> SetupComm
> PurgeComm
> SetCommTimeouts
> GetCommState
> SetCommState
> ClearCommError
> GetCommModemStatus
> EscapeCommFunction
>
> Does this sound right to you?
>
> Josh
>
> On Apr 19, 2008, at 8:06 AM, Geoff Norton wrote:
>
>> Josh,
>>
>> On 15-Apr-08, at 10:49 AM, Joshua Perry wrote:
>>
>>>
>>> The current SerialPort chooses between two ISerialStream
>>> implementations SerialPortStream and WinSerialStream.
>>> SerialPortStream is implemented by P/Invoking into MonoPosixHelper
>>> functions like serial_read and serial_write. WinSerialStream is
>>> implemented by P/Invoking the Win32 API serial port and IO
>>> functions.
>>> Outside of enumerating IOKit objects to find the port /dev/ nodes, I
>>> believe that OSX is compatible with standard posix callsl though I'm
>>> not happy with the current Posix stream as Async operations are not
>>> implemented. I would like to implement the async functionality and,
>>> from the look of things, moving the serial specific functions into
>>> io-
>>> layer would be the right thing to do.
>>>
>>
>> Great, let us know if there are any questions / problems.
>>
>>> In XplatUI.cs are you talking about the call to uname to check for
>>> "Darwin"?
>>>
>>
>> Yep
>>
>> -g
>>
>
More information about the Mono-devel-list
mailing list