This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: The dirent struct
On Aug 6 09:40, Christopher Faylor wrote:
> On Fri, Aug 06, 2010 at 09:33:41AM -0400, Chris Sutcliffe wrote:
> >I'm well in to the process of porting rtorrent to Cygwin but I've hit
> >a bit of a snag with the dirent struct. Namely:
> >
> >/usr/src/rtorrent/rtorrent-0.8.6-1/src/rtorrent-0.8.6/src/utils/directory.cc:79:
> >error: ?struct dirent? has no member named ?d_fileno?
> >/usr/src/rtorrent/rtorrent-0.8.6-1/src/rtorrent-0.8.6/src/utils/directory.cc:80:
> >error: ?struct dirent? has no member named ?d_reclen?
> >
> >which sure enough, the Cygwin dirent struct does not:
> >
> >struct dirent
> >{
> > long __d_version; /* Used internally */
> > __ino64_t d_ino;
> > unsigned char d_type;
> > unsigned char __d_unused1[3];
> > __uint32_t __d_internal1;
> > char d_name[NAME_MAX + 1];
> >};
> >
> >I assume d_fileno and d_reclen may be part of __d_unused1 or
> >__d_internal1? I'd appreciate some help here, since I'm not sure what
> >to do at this point.
>
> No, they are not part of either of those fields. If they were
> they would be exposed.
>
> They simply are not implemented.
And they don't have to. Per POSIX, only d_ino and d_name can be
expected by a portable application(*).
Corinna
(*) http://www.opengroup.org/onlinepubs/9699919799/basedefs/dirent.h.html
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple