Title: | DIGITAL UNIX (FORMERLY KNOWN AS DEC OSF/1) |
Notice: | Welcome to the Digital UNIX Conference |
Moderator: | SMURF::DENHAM |
Created: | Thu Mar 16 1995 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 10068 |
Total number of notes: | 35879 |
I'm reading a book titled "POSIX.4: Programming for the Real World" by B Gallmeister, pub. OReilly&Assoc The book implies that there should be a constant named AIO_LISTIO_MAX in <limits.h>, which is the maximum number of operations you can supply in one call to lio_listio. On my D/UNIX v4.0 system, a grep for AIO_LISTIO_MAX in /usr/include/*.h shows _SC_LISTIO_AIO_MAX in <unistd.h>. The difference is generic: the book implies there should also be other constants like MQ_OPEN_MAX and _POSIX_MQ_OPEN_MAX, but all I can find on Digital UNIX is _SC_MQ_OPEN_MAX. I guess there's 3 possibilities: 1) I've mis-read the book (-maybe these constants are optional) 2) the book's wrong 3) digital UNIX is deficient Any thoughts as tp which one it is? Thanks, John
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
8894.1 | SMURF::DENHAM | Digital UNIX Kernel | Wed Feb 19 1997 13:15 | 22 | |
You've taken the book to literally. When you include <limits.h> in your application, those values you cite should be made available (with the correct setting of _POSIX_C_SOURCE or _POSIX_4SOURCE, BTW). But the standard doesn't say that you must personally find the values in <limits.h>. That header file is free to include other headers that may in fact contain the required definitions. This happens all over the place. In your case, the values you seek are in <sys/rt_limits.h>, which is indeed included by <limits.h>. What search method have you used to locate the missing symbols? You'll note that even <limits.h> doesn't "really" exist as a file. It's simply a symbolic link to the real file <sys/limits.h>. Little is as it appears in header file land. Another note -- the Gallmeister book is based on a draft of POSIX 1003.1b (which he calls by its old name 1003.4). It doesn't precisely or completely reflect the contents of the official standard. But it's close enough for most purposes. |