[rust-dev] How to get the file descriptors of standard I/O types?

Ilya Dmitrichenko errordeveloper at gmail.com
Mon Jul 14 16:18:58 PDT 2014


Are you working on a project targeting MCUs or Linux? If MCUs, I'd strongly
encourage you to join the efforts on Zinc (http://Zinc.rs)!
On 14 Jul 2014 23:15, "Nat Pryce" <nat.pryce at gmail.com> wrote:

> I'm currently using the native API to implement new I/O abstractions for
> GPIO, I2C, etc.  But really want to combine them with the existing File and
> socket APIs.  I've had to copy code from the native runtime library to
> convert native errors to IoError, which makes me uncomfortable.
>
> What's the URL of your pull request?
>
>
> On 14 July 2014 22:47, Ilya Dmitrichenko <errordeveloper at gmail.com> wrote:
>
>> Nat, I would very much appreciate if you join the discussion on my pull
>> request.
>>
>> There is also a link to the Stack Overflow answer I got earlier, it
>> describes how you can get the file descriptor form a lower layer
>> `libnative` API...
>>
>> On 14 July 2014 22:26, Nat Pryce <nat.pryce at gmail.com> wrote:
>> > Are there plans to better link the standard I/O APIs and the platform's
>> > native I/O?  For example, to control devices (on Linux often done by
>> ioctl,
>> > which needs a file descriptor), use non-IP protocols (on Linux,
>> different
>> > socket families, return a file descriptor), multiplex I/O events, etc.
>> >
>> > --Nat
>> >
>> >
>> > On 14 July 2014 20:38, Alex Crichton <alex at crichton.co> wrote:
>> >>
>> >> There is not currently a method of doing so through the `std::io`
>> >> apis. While possible through the rustuv and native apis, I would
>> >> discourage manual use of those crates as they have experimental and
>> >> volatile APIs.
>> >>
>> >> You may be interested in https://github.com/rust-lang/rust/pull/15643
>> >> which may add support for acquiring the file descriptor. That PR has
>> >> dome discussion about the hazards of doing so, as well.
>> >>
>> >> On Sun, Jul 13, 2014 at 4:43 AM, Nat Pryce <nat.pryce at gmail.com>
>> wrote:
>> >> > Hi.  I want to use the existing I/O types (files, sockets, etc.) with
>> >> > epoll.
>> >> > Is there an API call to get hold of their file descriptors?
>> >> >
>> >> > --Nat
>> >> >
>> >> > --
>> >> > http://www.natpryce.com
>> >> >
>> >> > _______________________________________________
>> >> > Rust-dev mailing list
>> >> > Rust-dev at mozilla.org
>> >> > https://mail.mozilla.org/listinfo/rust-dev
>> >> >
>> >
>> >
>> >
>> >
>> > --
>> > http://www.natpryce.com
>> >
>> > _______________________________________________
>> > Rust-dev mailing list
>> > Rust-dev at mozilla.org
>> > https://mail.mozilla.org/listinfo/rust-dev
>> >
>>
>
>
>
> --
> http://www.natpryce.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140715/f0ede8c4/attachment.html>


More information about the Rust-dev mailing list