[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