00001
00011
00012
00013
00014
00015 #include <iostream>
00016
00017
00018
00019
00020
00021 #ifdef __GNUC__
00022 #include <unistd.h>
00023 #include <cstdio>
00024 #endif
00025
00026
00027
00028
00029
00030
00031 int main()
00032 {
00033 #ifndef _POSIX_VERSION
00034 printf("No support for POSIX on this system!\n");
00035 #else //see what POSIX version
00036 long val;
00037 int errno;
00038
00039 #if defined(POSIX_VERSION)
00040 printf("POSIX_VERSION = %d.\n",_POSIX_VERSION);
00041 #endif
00042 #if defined(POSIX2_VERSION)
00043 printf("POSIX2_VERSION = %d.\n",_POSIX2_VERSION);
00044 #endif
00045 #if defined(POSIX2_C_VERSION)
00046 printf("POSIX2_C_VERSION = %d.\n",_POSIX2_C_VERSION);
00047 #endif
00048 #if _POSIX_VERSION == 199009
00049 printf("This system supports POSIX.1 without support for POSIX.4.\n");
00050 #else
00051 #if _POSIX_VERSION >= 199309
00052 printf ("This system has Posix Version %ld. \n", _POSIX_VERSION);
00053 printf ("POSIX.1 and POSIX.4 are both supported. \n");
00054 #else
00055 printf("This system supports a strange POSIX version between 199009 and 199309.\n");
00056 #endif
00057
00058 printf ("POSIX.4 Options Test Results:\n");
00059 #ifdef _POSIX_REALTIME_SIGNALS
00060 printf(" POSIX.4 Additional real time signals are supported.\n");
00061 #ifdef _POSIX_RTSIG_MAX
00062 printf(" _POSIX_RTSIG_MAX=%d Max real time signals.\n",_POSIX_RTSIG_MAX);
00063 #else
00064 printf(" No _POSIX_RTSIG_MAX value exists.\n");
00065 #endif
00066 #ifdef _POSIX_SIGQUEUE_MAX
00067 printf(" _POSIX_SIGQUEUE_MAX=%d Max real time signals at once per process.\n",_POSIX_SIGQUEUE_MAX);
00068 #else
00069 printf(" No _POSIX_SIGQUEUE_MAX value exists.\n");
00070 #endif
00071 #else
00072 printf(" POSIX.4 Additional real time signals are not supported.\n");
00073 #endif
00074 #ifdef _POSIX_PRIORITY_SCHEDULING
00075 printf(" POSIX.4 Priority scheduling is supported.\n");
00076 #else
00077 printf(" POSIX.4 Priority scheduling is not supported.\n");
00078 #endif
00079 #ifdef _POSIX_TIMERS
00080 printf(" POSIX.4 Clocks and timers are supported.\n");
00081 #ifdef _POSIX_TIMER_MAX
00082 printf(" _POSIX_TIMER_MAX=%d Max number of concurrent timers a process can have.\n",_POSIX_TIMER_MAX);
00083 #else
00084 printf(" No _POSIX_TIMER_MAX value exists.\n");
00085 #endif
00086 #ifdef _POSIX_DELAYTIMER_MAX
00087 printf(" _POSIX_DELAYTIMER_MAX=%d Max number of times a timer can have a detectable overrun.\n",_POSIX_DELAYTIMER_MAX);
00088 #else
00089 printf(" No _POSIX_DELAYTIMER_MAX value exists.\n");
00090 #endif
00091 #else
00092 printf(" POSIX.4 Clocks and timers are not supported.\n");
00093 #endif
00094 #ifdef _POSIX_ASYNCHRONOUS_IO
00095 printf(" POSIX.4 Asynchronous I/O is supported.\n");
00096 #ifdef _POSIX_AIO_LISTIO_MAX
00097 printf(" _POSIX_AIO_LISTIO_MAX=%d Max operations in one call\n",_POSIX_AIO_LISTIO_MAX);
00098 #else
00099 printf(" No _POSIX_AIO_LISTIO_MAX value exists.\n");
00100 #endif
00101 #ifdef _POSIX_AIO_MAX
00102 printf(" _POSIX_AIO_MAX=%d Max concurrent Async I/Os\n",_POSIX_AIO_MAX);
00103 #else
00104 printf(" No _POSIX_AIO_MAX value exists.\n");
00105 #endif
00106 #else
00107 printf(" POSIX.4 Asynchronous I/O is not supported.\n");
00108 #endif
00109 #ifdef _POSIX_SYNCHRONIZED_IO //Only supported if Asynchronous I/O is supported
00110 printf(" POSIX.4 Synchronized I/O is supported.\n");
00111 #else
00112 printf(" POSIX.4 Synchronized I/O is not supported.\n");
00113 #endif
00114 #ifdef _POSIX_PRIORITIZED_IO
00115 printf(" POSIX.4 Prioritized asynchronous I/O is supported.\n");
00116 #ifdef _POSIX_AIO_PRIO_DELTA_MAX
00117 printf(" _POSIX_AIO_PRIO_DELTA_MAX=%d Max amount AIO priority can be decreased.\n",_POSIX_AIO_PRIO_DELTA_MAX);
00118 #else
00119 printf(" No _POSIX_AIO_PRIO_DELTA_MAX value exists.\n");
00120 #endif
00121 #else
00122 printf(" POSIX.4 Prioritized asynchronous I/O is not supported.\n");
00123 #endif
00124 #ifdef _POSIX_FSYNC
00125 printf(" POSIX.4 The fsync function is supported.\n");
00126 #else
00127 printf(" POSIX.4 The fsync function is not supported.\n");
00128 #endif
00129 #ifdef _POSIX_MAPPED_FILES
00130 printf(" POSIX.4 Mapping files as memory is supported.\n");
00131 #else
00132 printf(" POSIX.4 Mapping files as memory is not supported.\n");
00133 #endif
00134 #ifdef _POSIX_MEMLOCK
00135 printf(" POSIX.4 Locking memory is supported.\n");
00136 #else
00137 printf(" POSIX.4 Locking memory is not supported.\n");
00138 #endif
00139 #ifdef _POSIX_MEMLOCK_RANGE
00140 printf(" POSIX.4 Locking memory ranges is supported.\n");
00141 #else
00142 printf(" POSIX.4 Locking memory ranges is not supported.\n");
00143 #endif
00144 #ifdef _POSIX_MEMORY_PROTECTION
00145 printf(" POSIX.4 Setting memory protection is supported.\n");
00146 #else
00147 printf(" POSIX.4 Setting memory protection is not supported.\n");
00148 #endif
00149 #ifdef _POSIX_MESSAGE_PASSING
00150 printf(" POSIX.4 Message Queues are supported.\n");
00151 #ifdef _POSIX_MQ_OPEN_MAX
00152 printf(" _POSIX_MQ_OPEN_MAX=%d Max # of message queues per process.\n",_POSIX_MQ_OPEN_MAX);
00153 #else
00154 printf(" No _POSIX_MQ_OPEN_MAX value exists.\n");
00155 #endif
00156 #ifdef _POSIX_MQ_PRIO_MAX
00157 printf(" _POSIX_MQ_PRIO_MAX=%d Max # of message priorities.\n",_POSIX_MQ_PRIO_MAX);
00158 #else
00159 printf(" No _POSIX_MQ_PRIO_MAX value exists.\n");
00160 #endif
00161 #else
00162 printf(" POSIX.4 Message Queues are not supported.\n");
00163 #endif
00164 #ifdef _POSIX_SEMAPHORES
00165 printf(" POSIX.4 Semaphores are supported.\n");
00166 #ifdef _POSIX_SEM_NSEMS_MAX
00167 printf(" _POSIX_SEM_NSEMS_MAX=%d Max # of open semaphores per process.\n",_POSIX_SEM_NSEMS_MAX);
00168 #else
00169 printf(" No _POSIX_SEM_NSEMS_MAX value exists.\n");
00170 #endif
00171 #ifdef _POSIX_SEM_VALUE_MAX
00172 printf(" _POSIX_SEM_VALUE_MAX=%d Maximum semaphore value.\n",_POSIX_SEM_VALUE_MAX);
00173 #else
00174 printf(" No _POSIX_SEM_VALUE_MAX value exists.\n");
00175 #endif
00176 #else
00177 printf(" POSIX.4 Semaphores are not supported.\n");
00178 #endif
00179 #ifdef _POSIX_SHARED_MEMORY_OBJECTS
00180 printf(" POSIX.4 Shared memory objects are supported.\n");
00181 #else
00182 printf(" POSIX.4 Shared memory objects are not supported.\n");
00183 #endif
00184
00185 #ifdef _POSIX_THREADS
00186 printf(" POSIX.1c pthreads are supported.\n");
00187 #else
00188 printf(" POSIX.1c pthreads are not supported.\n");
00189 #endif
00190 #ifdef _POSIX_THREAD_ATTR_STACKADDRTHREAD_ATTR_STACKADDR
00191 printf(" POSIX.4 Thread stack address attribute option is supported.\n");
00192 #else
00193 printf(" POSIX.4 Thread stack address attribute option is not supported.\n");
00194 #endif
00195 #ifdef _POSIX_THREAD_ATTR_STACKSIZE
00196 printf(" POSIX.4 Thread stack size attribute option is supported.\n");
00197 #else
00198 printf(" POSIX.4 Thread stack size attribute option is not supported.\n");
00199 #endif
00200 #ifdef _POSIX_THREAD_SAFE_FUNCTIONS
00201 printf(" POSIX.4 Thread-safe functions are supported.\n");
00202 #else
00203 printf(" POSIX.4 Thread-safe functions are not supported.\n");
00204 #endif
00205 #ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
00206 printf(" POSIX.1c thread execution scheduling is supported.\n");
00207 #else
00208 printf(" POSIX.1c thread execution scheduling is not supported.\n");
00209 #endif
00210 #ifdef _POSIX_THREAD_PRIO_INHERIT
00211 printf(" POSIX.4 Thread priority inheritance option is supported.\n");
00212 #else
00213 printf(" POSIX.4 Thread priority inheritance option is not supported.\n");
00214 #endif
00215 #ifdef _POSIX_THREAD_PROCESS_SHARED
00216 printf(" POSIX.4 Process-shared synchronization is supported.\n");
00217 #else
00218 printf(" POSIX.4 Process-shared synchronization is not supported.\n");
00219 #endif
00220 #ifdef _POSIX_POSIX_PII
00221 printf(" Protocol-independent interfaces are supported.\n");
00222 #else
00223 printf(" Protocol-independent interfaces are not supported.\n");
00224 #endif
00225 #ifdef _POSIX_PII_XTI
00226 printf(" XTI protocol-indep. interfaces are supported.\n");
00227 #else
00228 printf(" XTI protocol-indep. interfaces are not supported.\n");
00229 #endif
00230 #ifdef _POSIX_PII_SOCKET
00231 printf(" Socket protocol-indep. interfaces are supported.\n");
00232 #else
00233 printf(" Socket protocol-indep. interfaces are not supported.\n");
00234 #endif
00235 #ifdef _POSIX_PII_INTERNET
00236 printf(" Internet family of protocols is supported.\n");
00237 #else
00238 printf(" Internet family of protocols is not supported.\n");
00239 #endif
00240 #ifdef _POSIX_PII_INTERNET_STREAM
00241 printf(" Connection-mode Internet protocol is supported.\n");
00242 #else
00243 printf(" Connection-mode Internet protocol is not supported.\n");
00244 #endif
00245 #ifdef _POSIX_PII_INTERNET_DGRAM
00246 printf(" Connectionless Internet protocol is supported.\n");
00247 #else
00248 printf(" Connectionless Internet protocol is not supported.\n");
00249 #endif
00250 #ifdef _POSIX_PII_OSI
00251 printf(" ISO/OSI family of protocols is supported.\n");
00252 #else
00253 printf(" ISO/OSI family of protocols is not supported.\n");
00254 #endif
00255 #ifdef _POSIX_PII_OSI_COTS
00256 printf(" Connection-mode ISO/OSI service is supported.\n");
00257 #else
00258 printf(" Connection-mode ISO/OSI service is not supported.\n");
00259 #endif
00260 #ifdef _POSIX_PII_OSI_CLTS
00261 printf(" Connectionless ISO/OSI service is supported.\n");
00262 #else
00263 printf(" Connectionless ISO/OSI service is not supported.\n");
00264 #endif
00265 #ifdef _POSIX_POLL
00266 printf(" Implementation supports `poll' function.\n");
00267 #else
00268 printf(" poll function is not supported.\n");
00269 #endif
00270 #ifdef _POSIX_SELECT
00271 printf(" Implementation supports `select' and `pselect'.\n");
00272 #else
00273 printf(" Implementation does not support `select' and `pselect'.\n");
00274 #endif
00275 #ifdef _XOPEN_REALTIME
00276 printf(" X/Open realtime support is available.\n");
00277 #else
00278 printf(" X/Open realtime support is not available..\n");
00279 #endif
00280 #ifdef _XOPEN_REALTIME_THREADS
00281 printf(" X/Open realtime thread support is available.\n");
00282 #else
00283 printf(" X/Open realtime thread support is not available.\n");
00284 #endif
00285 #ifdef _XOPEN_SHM
00286 printf(" XPG4.2 Shared memory interface is supported.\n");
00287 #else
00288 printf(" XPG4.2 Shared memory interface is not supported.\n");
00289 #endif
00290 #ifdef _XBS5_ILP32_OFF32
00291 printf(" 32-bit int, long, pointer, and off_t types are supported.\n");
00292 #else
00293 printf(" 32-bit int, long, pointer, and off_t types are not supported.\n");
00294 #endif
00295 #ifdef _XBS5_ILP32_OFFBIG
00296 printf(" 32-bit int, long, and pointer and off_t with at least 64 bits is supported.\n");
00297 #else
00298 printf(" 32-bit int, long, and pointer and off_t with at least 64 bits is not supported.\n");
00299 #endif
00300 #ifdef _XBS5_LP64_OFF64
00301 printf(" 32-bit int, and 64-bit long, pointer, and off_t types are supported.\n");
00302 #else
00303 printf(" 32-bit int, and 64-bit long, pointer, and off_t types are not supported.\n");
00304 #endif
00305 #ifdef _XBS5_LPBIG_OFFBIG
00306 printf(" 32 bits int and long, pointer, and off_t with at least 64 bits are supported.\n");
00307 #else
00308 printf(" 32 bits int and long, pointer, and off_t with at least 64 bits are not supported.\n");
00309 #endif
00310
00311
00312 #endif
00313
00314 printf ("POSIX.1 Options Test Results:\n");
00315 #ifdef _POSIX_JOB_CONTROL
00316 printf(" POSIX.1 Job control is supported.\n");
00317 #else
00318 printf(" POSIX.1 Job control is not supported.\n");
00319 #endif
00320 #ifdef _POSIX_CHOWN_RESTRICTED
00321 printf(" POSIX.1 Chown restrictions are supported.\n");
00322 #else
00323 printf(" POSIX.1 Chown restrictions are not supported.\n");
00324 #endif
00325 #ifdef _POSIX_SAVED_IDS
00326 printf(" POSIX.1 Process saved IDs are supported.\n");
00327 #else
00328 printf(" POSIX.1 Process saved IDs are not supported.\n");
00329 #endif
00330 #ifdef _POSIX_NO_TRUNC
00331 printf(" POSIX.1 Long pathname errors are supported.\n");
00332 #else
00333 printf(" POSIX.1 Long pathname errors are not supported.\n");
00334 #endif
00335 #ifdef _POSIX_VDISABLE
00336 printf(" POSIX.1 Some terminal charactistics disabling is supported.\n");
00337 #else
00338 printf(" POSIX.1 Some terminal charactistics disabling is not supported.\n");
00339 #endif
00340 #ifdef NGROUPS_MAX
00341 printf(" POSIX.1 Supplementary group IDs is supported.\n");
00342 #else
00343 printf(" POSIX.1 Supplementary group IDs is not supported.\n");
00344 #endif
00345
00346
00347 printf("\nSystem run time tests:\n");
00348 errno=0;
00349 val=sysconf(_SC_JOB_CONTROL);
00350 if ((val == -1) && (errno))
00351 {
00352 printf("Bad option _SC_JOB_CONTROL\n");
00353 }
00354 else if ((val == -1) && (!errno))
00355 {
00356 printf("POSIX.1 JOB CONTROL not Supported.\n");
00357 }
00358 else
00359 {
00360 printf("POSIX.1 JOB CONTROL Supported.\n");
00361 }
00362 errno=0;
00363 val=sysconf(_SC_SAVED_IDS);
00364 if ((val == -1) && (errno))
00365 {
00366 printf("Bad option _SC_SAVED_IDS\n");
00367 }
00368 else if ((val == -1) && (!errno))
00369 {
00370 printf("POSIX.1 SAVED IDS not Supported.\n");
00371 }
00372 else
00373 {
00374 printf("POSIX.1 SAVED IDS Supported.\n");
00375 }
00376 errno=0;
00377 val=sysconf(_SC_VERSION);
00378 if ((val == -1) && (errno))
00379 {
00380 printf("Bad option _SC_VERSION\n");
00381 }
00382 else if ((val == -1) && (!errno))
00383 {
00384 printf("POSIX.1 VERSION not Supported.\n");
00385 }
00386 else
00387 {
00388 printf("POSIX.1 VERSION Supported.\n");
00389 }
00390 val=sysconf(_SC_ARG_MAX);
00391 if (val == -1)
00392 {
00393 printf("Bad option _SC_ARG_MAX\n");
00394 }
00395 else
00396 {
00397 printf("POSIX.1 ARG MAX Value=%ld.\n",val);
00398 }
00399 val=sysconf(_SC_CHILD_MAX);
00400 if (val == -1)
00401 {
00402 printf("Bad option _SC_CHILD_MAX\n");
00403 }
00404 else
00405 {
00406 printf("POSIX.1 CHILD MAX Value=%ld.\n",val);
00407 }
00408 val=sysconf(_SC_CLK_TCK);
00409 if (val == -1)
00410 {
00411 printf("Bad option _SC_CLK_TCK\n");
00412 }
00413 else
00414 {
00415 printf("POSIX.1 CLK TCK Value=%ld.\n",val);
00416 }
00417 val=sysconf(_SC_NGROUPS_MAX);
00418 if (val == -1)
00419 {
00420 printf("Bad option _SC_NGROUPS_MAX\n");
00421 }
00422 else
00423 {
00424 printf("POSIX.1 NGROUPS MAX Value=%ld.\n",val);
00425 }
00426 val=sysconf(_SC_OPEN_MAX);
00427 if (val == -1)
00428 {
00429 printf("Bad option _SC_OPEN_MAX\n");
00430 }
00431 else
00432 {
00433 printf("POSIX.1 OPEN MAX Value=%ld.\n",val);
00434 }
00435 val=sysconf(_SC_STREAM_MAX);
00436 if (val == -1)
00437 {
00438 printf("Bad option _SC_STREAM_MAX\n");
00439 }
00440 else
00441 {
00442 printf("POSIX.1 STREAM MAX Value=%ld.\n",val);
00443 }
00444 val=sysconf(_SC_TZNAME_MAX);
00445 if (val == -1)
00446 {
00447 printf("Bad option _SC_TZNAME_MAX\n");
00448 }
00449 else
00450 {
00451 printf("POSIX.1 TZNAME MAX Value=%ld.\n",val);
00452 }
00453 errno=0;
00454 val=sysconf(_SC_ASYNCHRONOUS_IO);
00455 if ((val == -1) && (errno))
00456 {
00457 printf("Bad option _SC_ASYNCHRONOUS_IO\n");
00458 }
00459 else if ((val == -1) && (!errno))
00460 {
00461 printf("POSIX.4 ASYNCHRONOUS IO not Supported.\n");
00462 }
00463 else
00464 {
00465 printf("POSIX.4 ASYNCHRONOUS IO Supported.\n");
00466 }
00467 errno=0;
00468 val=sysconf(_SC_MAPPED_FILES);
00469 if ((val == -1) && (errno))
00470 {
00471 printf("Bad option _SC_MAPPED_FILES\n");
00472 }
00473 else if ((val == -1) && (!errno))
00474 {
00475 printf("POSIX.4 MAPPED FILES not Supported.\n");
00476 }
00477 else
00478 {
00479 printf("POSIX.4 MAPPED FILES Supported.\n");
00480 }
00481 errno=0;
00482 val=sysconf(_SC_MEMLOCK_RANGE);
00483 if ((val == -1) && (errno))
00484 {
00485 printf("Bad option _SC_MEMLOCK_RANGE\n");
00486 }
00487 else if ((val == -1) && (!errno))
00488 {
00489 printf("POSIX.4 MEMLOCK RANGE not Supported.\n");
00490 }
00491 else
00492 {
00493 printf("POSIX.4 MEMLOCK RANGE Supported.\n");
00494 }
00495 errno=0;
00496 val=sysconf(_SC_MEMORY_PROTECTION);
00497 if ((val == -1) && (errno))
00498 {
00499 printf("Bad option _SC_MEMORY_PROTECTION\n");
00500 }
00501 else if ((val == -1) && (!errno))
00502 {
00503 printf("POSIX.4 MEMORY PROTECTION not Supported.\n");
00504 }
00505 else
00506 {
00507 printf("POSIX.4 MEMORY PROTECTION Supported.\n");
00508 }
00509 errno=0;
00510 val=sysconf(_SC_MESSAGE_PASSING);
00511 if ((val == -1) && (errno))
00512 {
00513 printf("Bad option _SC_MESSAGE_PASSING\n");
00514 }
00515 else if ((val == -1) && (!errno))
00516 {
00517 printf("POSIX.4 MESSAGE PASSING not Supported.\n");
00518 }
00519 else
00520 {
00521 printf("POSIX.4 MESSAGE PASSING Supported.\n");
00522 }
00523 errno=0;
00524 val=sysconf(_SC_PRIORITIZED_IO);
00525 if ((val == -1) && (errno))
00526 {
00527 printf("Bad option _SC_PRIORITIZED_IO\n");
00528 }
00529 else if ((val == -1) && (!errno))
00530 {
00531 printf("POSIX.4 PRIORITIZED IO not Supported.\n");
00532 }
00533 else
00534 {
00535 printf("POSIX.4 PRIORITIZED IO Supported.\n");
00536 }
00537 errno=0;
00538 val=sysconf(_SC_PRIORITY_SCHEDULING);
00539 if ((val == -1) && (errno))
00540 {
00541 printf("Bad option _SC_PRIORITY_SCHEDULING\n");
00542 }
00543 else if ((val == -1) && (!errno))
00544 {
00545 printf("POSIX.4 PRIORITY SCHEDULING not Supported.\n");
00546 }
00547 else
00548 {
00549 printf("POSIX.4 PRIORITY SCHEDULING Supported.\n");
00550 }
00551 errno=0;
00552 val=sysconf(_SC_REALTIME_SIGNALS);
00553 if ((val == -1) && (errno))
00554 {
00555 printf("Bad option _SC_REALTIME_SIGNALS\n");
00556 }
00557 else if ((val == -1) && (!errno))
00558 {
00559 printf("POSIX.4 REALTIME SIGNALS not Supported.\n");
00560 }
00561 else
00562 {
00563 printf("POSIX.4 REALTIME SIGNALS Supported.\n");
00564 }
00565 errno=0;
00566 val=sysconf(_SC_SEMAPHORES);
00567 if ((val == -1) && (errno))
00568 {
00569 printf("Bad option _SC_SEMAPHORES\n");
00570 }
00571 else if ((val == -1) && (!errno))
00572 {
00573 printf("POSIX.4 SEMAPHORES not Supported.\n");
00574 }
00575 else
00576 {
00577 printf("POSIX.4 SEMAPHORES Supported.\n");
00578 }
00579 errno=0;
00580 val=sysconf(_SC_FSYNC);
00581 if ((val == -1) && (errno))
00582 {
00583 printf("Bad option _SC_FSYNC\n");
00584 }
00585 else if ((val == -1) && (!errno))
00586 {
00587 printf("POSIX.4 FSYNC not Supported.\n");
00588 }
00589 else
00590 {
00591 printf("POSIX.4 FSYNC Supported.\n");
00592 }
00593 errno=0;
00594 val=sysconf(_SC_SHARED_MEMORY_OBJECTS);
00595 if ((val == -1) && (errno))
00596 {
00597 printf("Bad option _SC_SHARED_MEMORY_OBJECTS\n");
00598 }
00599 else if ((val == -1) && (!errno))
00600 {
00601 printf("POSIX.4 SHARED_MEMORY_OBJECTS not Supported.\n");
00602 }
00603 else
00604 {
00605 printf("POSIX.4 SHARED_MEMORY_OBJECTS Supported.\n");
00606 }
00607 errno=0;
00608 val=sysconf(_SC_SYNCHRONIZED_IO);
00609 if ((val == -1) && (errno))
00610 {
00611 printf("Bad option _SC_SYNCHRONIZED_IO\n");
00612 }
00613 else if ((val == -1) && (!errno))
00614 {
00615 printf("POSIX.4 SYNCHRONIZED IO not Supported.\n");
00616 }
00617 else
00618 {
00619 printf("POSIX.4 SYNCHRONIZED IO Supported.\n");
00620 }
00621 errno=0;
00622 val=sysconf(_SC_TIMERS);
00623 if ((val == -1) && (errno))
00624 {
00625 printf("Bad option _SC_TIMERS\n");
00626 }
00627 else if ((val == -1) && (!errno))
00628 {
00629 printf("POSIX.4 TIMERS not Supported.\n");
00630 }
00631 else
00632 {
00633 printf("POSIX.4 TIMERS Supported.\n");
00634 }
00635 val=sysconf(_SC_AIO_LISTIO_MAX);
00636 if (val == -1)
00637 {
00638 printf("Bad option _SC_AIO_LISTIO_MAX\n");
00639 }
00640 else
00641 {
00642 printf("POSIX.4 AIO LISTIO MAX Value=%ld.\n",val);
00643 }
00644 val=sysconf(_SC_AIO_MAX);
00645 if (val == -1)
00646 {
00647 printf("Bad option _SC_AIO_MAX\n");
00648 }
00649 else
00650 {
00651 printf("POSIX.4 AIO MAX Value=%ld.\n",val);
00652 }
00653 val=sysconf(_SC_AIO_PRIO_DELTA_MAX);
00654 if (val == -1)
00655 {
00656 printf("Bad option _SC_AIO_PRIO_DELTA_MAX\n");
00657 }
00658 else
00659 {
00660 printf("POSIX.4 AIO PRIO DELTA MAX Value=%ld.\n",val);
00661 }
00662 val=sysconf(_SC_DELAYTIMER_MAX);
00663 if (val == -1)
00664 {
00665 printf("Bad option _SC_DELAYTIMER_MAX\n");
00666 }
00667 else
00668 {
00669 printf("POSIX.4 DELAYTIMER MAX Value=%ld.\n",val);
00670 }
00671 val=sysconf(_SC_MQ_OPEN_MAX);
00672 if (val == -1)
00673 {
00674 printf("Bad option _SC_MQ_OPEN_MAX\n");
00675 }
00676 else
00677 {
00678 printf("POSIX.4 MQ OPEN MAX Value=%ld.\n",val);
00679 }
00680 val=sysconf(_SC_MQ_PRIO_MAX);
00681 if (val == -1)
00682 {
00683 printf("Bad option _SC_MQ_PRIO_MAX\n");
00684 }
00685 else
00686 {
00687 printf("POSIX.4 MQ PRIO MAX Value=%ld.\n",val);
00688 }
00689 val=sysconf(_SC_PAGESIZE);
00690 if (val == -1)
00691 {
00692 printf("Bad option _SC_PAGESIZE\n");
00693 }
00694 else
00695 {
00696 printf("POSIX.4 PAGESIZE Value=%ld.\n",val);
00697 }
00698 val=sysconf(_SC_RTSIG_MAX);
00699 if (val == -1)
00700 {
00701 printf("Bad option _SC_RTSIG_MAX\n");
00702 }
00703 else
00704 {
00705 printf("POSIX.4 RTSIG MAX Value=%ld.\n",val);
00706 }
00707 val=sysconf(_SC_SEM_NSEMS_MAX);
00708 if (val == -1)
00709 {
00710 printf("Bad option _SC_SEM_NSEMS_MAX\n");
00711 }
00712 else
00713 {
00714 printf("POSIX.4 SEM NSEMS MAX Value=%ld.\n",val);
00715 }
00716 val=sysconf(_SC_SEM_VALUE_MAX);
00717 if (val == -1)
00718 {
00719 printf("Bad option _SC_SEM_VALUE_MAX\n");
00720 }
00721 else
00722 {
00723 printf("POSIX.4 SEM VALUE MAX Value=%ld.\n",val);
00724 }
00725 val=sysconf(_SC_SIGQUEUE_MAX);
00726 if (val == -1)
00727 {
00728 printf("Bad option _SC_SIGQUEUE_MAX\n");
00729 }
00730 else
00731 {
00732 printf("POSIX.4 SIGQUEUE MAX Value=%ld.\n",val);
00733 }
00734 val=sysconf(_SC_TIMER_MAX);
00735 if (val == -1)
00736 {
00737 printf("Bad option _SC_TIMER_MAX\n");
00738 }
00739 else
00740 {
00741 printf("POSIX.4 TIMER MAX Value=%ld.\n",val);
00742 }
00743
00744 #endif
00745
00746 return 0;
00747 }