On Sun, Dec 28, 2003 at 04:15:16PM +0100, Simone Piccardi wrote: > Package: libc6-dev > Version: 2.3.2.ds1-10 > Severity: normal > > I'm writing an example program using poll. But after including sys/poll.h I > still have a 'POLLRDNORM' undeclared error. To have it defined I must define > __USE_XOPEN, but no mention of this in the man page.
The poll(2) man page on my system, from manpages-dev 1.62-1, reads as follows (in part): The following possible bits in these masks are defined in <sys/poll.h> #define POLLIN 0x0001 /* There is data to read */ #define POLLPRI 0x0002 /* There is urgent data to read */ #define POLLOUT 0x0004 /* Writing now will not block */ #define POLLERR 0x0008 /* Error condition */ #define POLLHUP 0x0010 /* Hung up */ #define POLLNVAL 0x0020 /* Invalid request: fd not open */ When compiling XPG4.2 source one also has #ifdef _XOPEN_SOURCE #define POLLRDNORM 0x0040 /* Normal data may be read */ #define POLLRDBAND 0x0080 /* Priority data may be read */ #define POLLWRNORM 0x0100 /* Writing now will not block */ #define POLLWRBAND 0x0200 /* Priority data may be written */ #endif Finally, Linux knows about #ifdef _GNU_SOURCE #define POLLMSG 0x0400 #endif This definitely implies to me that you need to define _XOPEN_SOURCE (__USE_XOPEN may have the same effect but it's supposed to be set by <features.h>, not the user) in order to get this constant. See 'info libc "Feature Test Macros"' for information on this kind of thing. Cheers, -- Colin Watson [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]