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

Nat Pryce nat.pryce at gmail.com
Mon Jul 14 15:15:36 PDT 2014


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/20140714/2c501164/attachment.html>


More information about the Rust-dev mailing list