YANDQ

Corinna Vinschen vinschen@redhat.com
Tue Mar 20 06:26:00 GMT 2001


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.



More information about the Cygwin-developers mailing list