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