This is the mail archive of the cygwin-developers@cygwin.com 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]

Re: YANDQ


On Tue, Mar 20, 2001 at 08:27:45PM +1100, Robert Collins wrote:
> YetAnotherNewDeveloperQuestion (couldn't see anything obvious in the
> archives either)
> 
> The posix specs I'm reading http://www.opengroup.org/onlinepubs/7908799/
> indicate that most of the types I'm working with (sem_t pthread_*_t)
> should be defined in <sys/types.h> with only the prototypes and #defines
> in the respective header files.
> 
> Are these specs way of base? If not, how do I go about altering
> sys/types.h (which I note appears to be part of newlib).

We could introduce a 

#ifdef __CYGWIN__
#include <cygwin/threads.h>
#endif

into newlib's sys/types.h

and then you can use cygwin/threads.h as you like.

> 
> The question arises because I have an external typedef which is
> different from the internal typedef. While I could type cast everything
> to make it match up (class pthread ** to void ** for instance) it reads
> a lot more easily (which helps debugging) with no casting involved.
> 
> FYI the external typedefs are of the form
> typedef void * foo_t
> and the internal ones
> typedef class foo * foo_t.

You could use

#ifdef __INSIDE_CYGWIN__
typedef class foo * foo_t;
#else
typedef void * foo_t;
#endif

Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin@cygwin.com
Red Hat, Inc.


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