This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]