Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / ACE / ace / config-face-safety.h
blob4ea753672306ead83243f2d4b6c40f222c14c597
1 // Specialized configuration for FACE Safety Profiles
2 // See http://www.opengroup.org/face for more info about the Future Airborne
3 // Capability Environment
5 // Using this header:
6 // In ace/config.h, #define ACE_FACE_SAFETY_BASE or ACE_FACE_SAFETY_EXTENDED
7 // Optionally #define ACE_FACE_DEV
8 // ACE_FACE_DEV is a development mode setting which produces an ACE library
9 // that allows debug logging (doesn't enforce ACE_NDEBUG) and ACE_OS::getenv().
11 // Maintaining this header:
12 // This version of the header is written for FACE technical standard 2.1.
13 // See Appendix A for a chart of POSIX calls that are excluded from the
14 // various profiles.
15 // The top half of this file is only included if the user enables Safety Base,
16 // so these are exclusions that apply to Base but not to Extended.
17 // The bottom half is included for either profile, so it contains restrictions
18 // that are common to both Based and Extended.
19 // Keep macro definitions in sorted order. Macros set by this file that are
20 // also set by some platform-specific config-*.h are "protected" from double
21 // definition by this construct:
22 //# ifndef ACE_LACKS_X
23 //# define ACE_LACKS_X
24 //# endif
25 // Macros that are undefined in this file are similarly guarded:
26 //# ifdef ACE_HAS_X
27 //# undef ACE_HAS_X
28 //# endif
30 #ifdef ACE_FACE_SAFETY_BASE
32 # ifndef ACE_FACE_SAFETY_EXTENDED
33 # define ACE_FACE_SAFETY_EXTENDED
34 # endif
36 # ifndef ACE_HAS_ALLOC_HOOKS
37 # define ACE_HAS_ALLOC_HOOKS
38 # endif
40 // Due to ACE_LACKS_PTHREAD_KEY_DELETE, ACE must explicitly clear out TSS
41 // when keyfree would have normally occurred. This prevents the system's
42 // TSS destructors running later, which could be after libACE unloading.
43 # ifndef ACE_HAS_BROKEN_THREAD_KEYFREE
44 # define ACE_HAS_BROKEN_THREAD_KEYFREE
45 # endif
47 # ifndef ACE_HAS_REACTOR_NOTIFICATION_QUEUE
48 # define ACE_HAS_REACTOR_NOTIFICATION_QUEUE
49 # endif
51 // TSS emulation required with ACE_LACKS_PTHREAD_JOIN
52 # ifndef ACE_HAS_TSS_EMULATION
53 # define ACE_HAS_TSS_EMULATION
54 # endif
56 # define ACE_LACKS_ABORT
57 # define ACE_LACKS_EXIT
58 # define ACE_LACKS__EXIT
59 # define ACE_LACKS_FREE
60 # define ACE_LACKS_PTHREAD_EXIT
61 # define ACE_LACKS_PTHREAD_JOIN
62 # define ACE_LACKS_PTHREAD_KEY_DELETE
63 # define ACE_LACKS_PTHREAD_MUTEX_DESTROY
64 # define ACE_LACKS_REALLOC
65 # define ACE_LACKS_SEM_DESTROY
66 # define ACE_LACKS_SEM_UNLINK
67 # define ACE_LACKS_SETPID
68 # define ACE_LACKS_SLEEP
69 # define ACE_LACKS_SSCANF
70 # define ACE_LACKS_VA_FUNCTIONS
71 # define ACE_LACKS_VFPRINTF
73 # ifndef ACE_LACKS_ACCEPT
74 # define ACE_LACKS_ACCEPT
75 # endif
77 # ifndef ACE_LACKS_BSEARCH
78 # define ACE_LACKS_BSEARCH
79 # endif
81 # ifndef ACE_LACKS_DUP2
82 # define ACE_LACKS_DUP2
83 # endif
85 # ifndef ACE_LACKS_EXEC
86 # define ACE_LACKS_EXEC
87 # endif
89 # ifndef ACE_LACKS_FCNTL
90 # define ACE_LACKS_FCNTL
91 # endif
93 # ifndef ACE_LACKS_FORK
94 # define ACE_LACKS_FORK
95 # endif
97 # ifndef ACE_LACKS_GETEGID
98 # define ACE_LACKS_GETEGID
99 # endif
101 # if !defined ACE_LACKS_GETENV && !defined ACE_FACE_DEV
102 # define ACE_LACKS_GETENV
103 # endif
105 # ifndef ACE_LACKS_GETEUID
106 # define ACE_LACKS_GETEUID
107 # endif
109 # ifndef ACE_LACKS_GETGID
110 # define ACE_LACKS_GETGID
111 # endif
113 # ifndef ACE_LACKS_GETPID
114 # define ACE_LACKS_GETPID
115 # endif
117 # ifndef ACE_LACKS_GETPPID
118 # define ACE_LACKS_GETPPID
119 # endif
121 # ifndef ACE_LACKS_GETUID
122 # define ACE_LACKS_GETUID
123 # endif
125 # ifndef ACE_LACKS_KILL
126 # define ACE_LACKS_KILL
127 # endif
129 # ifndef ACE_LACKS_LISTEN
130 # define ACE_LACKS_LISTEN
131 # endif
133 # ifndef ACE_LACKS_LSTAT
134 # define ACE_LACKS_LSTAT
135 # endif
137 # ifndef ACE_LACKS_MKFIFO
138 # define ACE_LACKS_MKFIFO
139 # endif
141 # ifndef ACE_LACKS_PIPE
142 # define ACE_LACKS_PIPE
143 # endif
145 # ifndef ACE_LACKS_PTHREAD_KILL
146 # define ACE_LACKS_PTHREAD_KILL
147 # endif
149 # ifndef ACE_LACKS_PTHREAD_CANCEL
150 # define ACE_LACKS_PTHREAD_CANCEL
151 # endif
153 # ifndef ACE_LACKS_PTHREAD_CLEANUP
154 # define ACE_LACKS_PTHREAD_CLEANUP
155 # endif
157 # ifndef ACE_LACKS_RAISE
158 # define ACE_LACKS_RAISE
159 # endif
161 # ifndef ACE_LACKS_SETDETACH
162 # define ACE_LACKS_SETDETACH
163 # endif
165 # ifndef ACE_LACKS_SETEGID
166 # define ACE_LACKS_SETEGID
167 # endif
169 # ifndef ACE_LACKS_SETEUID
170 # define ACE_LACKS_SETEUID
171 # endif
173 # ifndef ACE_LACKS_SETGID
174 # define ACE_LACKS_SETGID
175 # endif
177 # ifndef ACE_LACKS_SETSCHED
178 # define ACE_LACKS_SETSCHED
179 # endif
181 # ifndef ACE_LACKS_SETUID
182 # define ACE_LACKS_SETUID
183 # endif
185 # ifndef ACE_LACKS_STRFTIME
186 # define ACE_LACKS_STRFTIME
187 # endif
189 # ifndef ACE_LACKS_STRTOLL
190 # define ACE_LACKS_STRTOLL
191 # endif
193 # ifndef ACE_LACKS_SYSCONF
194 # define ACE_LACKS_SYSCONF
195 # endif
197 # ifndef ACE_LACKS_UNAME
198 # define ACE_LACKS_UNAME
199 # endif
201 # ifndef ACE_LACKS_VSNPRINTF
202 # define ACE_LACKS_VSNPRINTF
203 # endif
205 # ifndef ACE_LACKS_WAITPID
206 # define ACE_LACKS_WAITPID
207 # endif
209 # if !defined ACE_FACE_DEV && !defined ACE_NDEBUG
210 # define ACE_NDEBUG
211 # endif
213 # define ACE_STDIO_USE_STDLIB_FOR_VARARGS
215 #endif // ACE_FACE_SAFETY_BASE
217 #ifdef ACE_FACE_SAFETY_EXTENDED
219 # if defined ACE_WIN32
220 # error "FACE Safety profile not compatible with win32"
221 # endif
223 # ifndef ACE_EMULATE_POSIX_DEVCTL
224 # define ACE_EMULATE_POSIX_DEVCTL 1
225 # endif
227 # ifdef ACE_HAS_AIO_CALLS
228 # undef ACE_HAS_AIO_CALLS
229 # endif
231 # ifdef ACE_HAS_DEV_POLL
232 # undef ACE_HAS_DEV_POLL
233 # endif
235 # ifdef ACE_HAS_EVENT_POLL
236 # undef ACE_HAS_EVENT_POLL
237 # endif
239 # ifdef ACE_HAS_ICONV
240 # undef ACE_HAS_ICONV
241 # endif
243 # ifdef ACE_HAS_P_READ_WRITE
244 # undef ACE_HAS_P_READ_WRITE
245 # endif
247 # ifdef ACE_HAS_RECURSIVE_MUTEXES
248 # undef ACE_HAS_RECURSIVE_MUTEXES
249 # endif
251 # ifdef ACE_HAS_SCANDIR
252 # undef ACE_HAS_SCANDIR
253 # endif
255 # ifdef ACE_HAS_STREAM_PIPES
256 # undef ACE_HAS_STREAM_PIPES
257 # endif
259 # ifdef ACE_HAS_STRNLEN
260 # undef ACE_HAS_STRNLEN
261 # endif
263 # ifdef ACE_HAS_SVR4_GETTIMEOFDAY
264 # undef ACE_HAS_SVR4_GETTIMEOFDAY
265 # endif
267 # ifdef ACE_HAS_SYSV_IPC
268 # undef ACE_HAS_SYSV_IPC
269 # endif
271 # ifdef ACE_HAS_TIMEZONE_GETTIMEOFDAY
272 # undef ACE_HAS_TIMEZONE_GETTIMEOFDAY
273 # endif
275 # ifdef ACE_HAS_VFWPRINTF
276 # undef ACE_HAS_VFWPRINTF
277 # endif
279 # ifdef ACE_HAS_VOIDPTR_GETTIMEOFDAY
280 # undef ACE_HAS_VOIDPTR_GETTIMEOFDAY
281 # endif
283 # ifdef ACE_HAS_VSWPRINTF
284 # undef ACE_HAS_VSWPRINTF
285 # endif
287 # ifdef ACE_HAS_VWPRINTF
288 # undef ACE_HAS_VWPRINTF
289 # endif
291 # ifdef ACE_HAS_WCHAR
292 # undef ACE_HAS_WCHAR
293 # endif
295 # ifdef ACE_HAS_XPG4_MULTIBYTE_CHAR
296 # undef ACE_HAS_XPG4_MULTIBYTE_CHAR
297 # endif
299 # define ACE_LACKS_CTIME
300 # define ACE_LACKS_FDOPEN
301 # define ACE_LACKS_FGETPOS
302 # define ACE_LACKS_FPUTC
303 # define ACE_LACKS_FPUTS
304 # define ACE_LACKS_FSCANF
305 # define ACE_LACKS_FSETPOS
306 # define ACE_LACKS_GETC
307 # define ACE_LACKS_GETTIMEOFDAY
308 # define ACE_LACKS_IF_NAMEINDEX
309 # define ACE_LACKS_IF_NAMETOINDEX
310 # define ACE_LACKS_IOCTL
311 # define ACE_LACKS_LOCALECONV
312 # define ACE_LACKS_MUNMAP
313 # define ACE_LACKS_OPENLOG
314 # define ACE_LACKS_PRAGMA_ONCE
315 # define ACE_LACKS_PTHREAD_MUTEXATTR_SETTYPE
316 # define ACE_LACKS_PUTC
317 # define ACE_LACKS_PUTS
318 # define ACE_LACKS_RAND
319 # define ACE_LACKS_REWIND
320 # define ACE_LACKS_SHM_UNLINK
321 # define ACE_LACKS_SIGNAL
322 # define ACE_LACKS_SRAND
323 # define ACE_LACKS_STDERR
324 # define ACE_LACKS_STDIN
325 # define ACE_LACKS_STDOUT
326 # define ACE_LACKS_STRTOK
327 # define ACE_LACKS_UNGETC
328 # define ACE_LACKS_VA_COPY
329 # define ACE_LACKS_VPRINTF
330 # define ACE_LACKS_VSPRINTF
332 # ifndef ACE_LACKS_ACE_IOSTREAM
333 # define ACE_LACKS_ACE_IOSTREAM
334 # endif
336 # ifndef ACE_LACKS_ALPHASORT
337 # define ACE_LACKS_ALPHASORT
338 # endif
340 # ifndef ACE_LACKS_ASCTIME
341 # define ACE_LACKS_ASCTIME
342 # endif
344 # ifndef ACE_LACKS_CONDATTR_PSHARED
345 # define ACE_LACKS_CONDATTR_PSHARED
346 # endif
348 # ifndef ACE_LACKS_CUSERID
349 # define ACE_LACKS_CUSERID
350 # endif
352 # ifndef ACE_LACKS_DUP
353 # define ACE_LACKS_DUP
354 # endif
356 # ifndef ACE_LACKS_EXECVP
357 # define ACE_LACKS_EXECVP
358 # endif
360 # ifndef ACE_LACKS_GAI_STRERROR
361 # define ACE_LACKS_GAI_STRERROR
362 # endif
364 # ifndef ACE_LACKS_GETHOSTBYADDR
365 # define ACE_LACKS_GETHOSTBYADDR
366 # endif
368 # ifndef ACE_LACKS_GETHOSTBYADDR_R
369 # define ACE_LACKS_GETHOSTBYADDR_R
370 # endif
372 # ifndef ACE_LACKS_GETHOSTBYNAME
373 # define ACE_LACKS_GETHOSTBYNAME
374 # endif
376 # ifndef ACE_LACKS_GETHOSTENT
377 # define ACE_LACKS_GETHOSTENT
378 # endif
380 # ifndef ACE_LACKS_GETOPT
381 # define ACE_LACKS_GETOPT
382 # endif
384 # ifndef ACE_LACKS_GETPGID
385 # define ACE_LACKS_GETPGID
386 # endif
388 # ifndef ACE_LACKS_GETPROTOBYNAME
389 # define ACE_LACKS_GETPROTOBYNAME
390 # endif
392 # ifndef ACE_LACKS_GETPROTOBYNUMBER
393 # define ACE_LACKS_GETPROTOBYNUMBER
394 # endif
396 # ifndef ACE_LACKS_GETSERVBYNAME
397 # define ACE_LACKS_GETSERVBYNAME
398 # endif
400 # ifndef ACE_LACKS_GMTIME
401 # define ACE_LACKS_GMTIME
402 # endif
404 # ifndef ACE_LACKS_INET_ADDR
405 # define ACE_LACKS_INET_ADDR
406 # endif
408 # ifndef ACE_LACKS_INET_ATON
409 # define ACE_LACKS_INET_ATON
410 # endif
412 # ifndef ACE_LACKS_INET_NTOA
413 # define ACE_LACKS_INET_NTOA
414 # endif
416 # ifndef ACE_LACKS_IOSTREAM_TOTALLY
417 # define ACE_LACKS_IOSTREAM_TOTALLY
418 # endif
420 # ifndef ACE_LACKS_ISASCII
421 # define ACE_LACKS_ISASCII
422 # endif
424 # ifndef ACE_LACKS_ISATTY
425 # define ACE_LACKS_ISATTY
426 # endif
428 # ifndef ACE_LACKS_ISBLANK
429 # define ACE_LACKS_ISBLANK
430 # endif
432 # ifndef ACE_LACKS_ISWASCII
433 # define ACE_LACKS_ISWASCII
434 # endif
436 # ifndef ACE_LACKS_ISWBLANK
437 # define ACE_LACKS_ISWBLANK
438 # endif
440 # ifndef ACE_LACKS_ISWCTYPE
441 # define ACE_LACKS_ISWCTYPE
442 # endif
444 # ifndef ACE_LACKS_LOCALTIME
445 # define ACE_LACKS_LOCALTIME
446 # endif
448 # ifndef ACE_LACKS_LOG2
449 # define ACE_LACKS_LOG2
450 # endif
452 # ifndef ACE_LACKS_MADVISE
453 # define ACE_LACKS_MADVISE
454 # endif
456 # ifndef ACE_LACKS_MKSTEMP
457 # define ACE_LACKS_MKSTEMP
458 # endif
460 # ifndef ACE_LACKS_MKTEMP
461 # define ACE_LACKS_MKTEMP
462 # endif
464 # ifndef ACE_LACKS_MPROTECT
465 # define ACE_LACKS_MPROTECT
466 # endif
468 # ifndef ACE_LACKS_MSYNC
469 # define ACE_LACKS_MSYNC
470 # endif
472 # ifndef ACE_LACKS_MUTEXATTR_PSHARED
473 # define ACE_LACKS_MUTEXATTR_PSHARED
474 # endif
476 # ifndef ACE_LACKS_PERROR
477 # define ACE_LACKS_PERROR
478 # endif
480 # ifndef ACE_LACKS_PTHREAD_ATTR_SETSTACKADDR
481 # define ACE_LACKS_PTHREAD_ATTR_SETSTACKADDR
482 # endif
484 # ifndef ACE_LACKS_PTHREAD_CANCEL
485 # define ACE_LACKS_PTHREAD_CANCEL
486 # endif
488 # ifndef ACE_LACKS_PUTENV
489 # define ACE_LACKS_PUTENV
490 # endif
492 # ifndef ACE_LACKS_PWD_FUNCTIONS
493 # define ACE_LACKS_PWD_FUNCTIONS
494 # endif
496 # ifndef ACE_LACKS_QSORT
497 # define ACE_LACKS_QSORT
498 # endif
500 # ifndef ACE_LACKS_READLINK
501 # define ACE_LACKS_READLINK
502 # endif
504 # ifndef ACE_LACKS_READV
505 # define ACE_LACKS_READV
506 # endif
508 # ifndef ACE_LACKS_RECVMSG
509 # define ACE_LACKS_RECVMSG
510 # endif
512 # ifndef ACE_LACKS_REALPATH
513 # define ACE_LACKS_REALPATH
514 # endif
516 # ifndef ACE_LACKS_RLIMIT
517 # define ACE_LACKS_RLIMIT
518 # endif
520 # ifndef ACE_LACKS_RWLOCK_T
521 # define ACE_LACKS_RWLOCK_T
522 # endif
524 # ifndef ACE_LACKS_SBRK
525 # define ACE_LACKS_SBRK
526 # endif
528 # ifndef ACE_LACKS_SEEKDIR
529 # define ACE_LACKS_SEEKDIR
530 # endif
532 # ifndef ACE_LACKS_SENDMSG
533 # define ACE_LACKS_SENDMSG
534 # endif
536 # ifndef ACE_LACKS_SETLOGMASK
537 # define ACE_LACKS_SETLOGMASK
538 # endif
540 # ifndef ACE_LACKS_SETPGID
541 # define ACE_LACKS_SETPGID
542 # endif
544 # ifndef ACE_LACKS_SETREGID
545 # define ACE_LACKS_SETREGID
546 # endif
548 # ifndef ACE_LACKS_SETREUID
549 # define ACE_LACKS_SETREUID
550 # endif
552 # ifndef ACE_LACKS_SETSID
553 # define ACE_LACKS_SETSID
554 # endif
556 # ifndef ACE_LACKS_SIGPROCMASK
557 # define ACE_LACKS_SIGPROCMASK
558 # endif
560 # ifndef ACE_LACKS_SOCKETPAIR
561 # define ACE_LACKS_SOCKETPAIR
562 # endif
564 # ifndef ACE_LACKS_STD_WSTRING
565 # define ACE_LACKS_STD_WSTRING
566 # endif
568 # ifndef ACE_LACKS_STRCASECMP
569 # define ACE_LACKS_STRCASECMP
570 # endif
572 # ifndef ACE_LACKS_STRDUP
573 # define ACE_LACKS_STRDUP
574 # endif
576 # ifndef ACE_LACKS_STRERROR
577 # define ACE_LACKS_STRERROR
578 # endif
580 # ifndef ACE_LACKS_STRPTIME
581 # define ACE_LACKS_STRPTIME
582 # endif
584 # ifndef ACE_LACKS_STRTOLL
585 # define ACE_LACKS_STRTOLL
586 # endif
588 # ifndef ACE_LACKS_STRTOULL
589 # define ACE_LACKS_STRTOULL
590 # endif
592 # ifndef ACE_LACKS_SWAB
593 # define ACE_LACKS_SWAB
594 # endif
596 # ifndef ACE_LACKS_SYMLINKS
597 # define ACE_LACKS_SYMLINKS
598 # endif
600 # ifndef ACE_LACKS_SYSTEM
601 # define ACE_LACKS_SYSTEM
602 # endif
604 # ifndef ACE_LACKS_SYS_SHM_H
605 # define ACE_LACKS_SYS_SHM_H
606 # endif
608 # ifndef ACE_LACKS_TELLDIR
609 # define ACE_LACKS_TELLDIR
610 # endif
612 # ifndef ACE_LACKS_TMPNAM
613 # define ACE_LACKS_TMPNAM
614 # endif
616 # ifndef ACE_LACKS_TEMPNAM
617 # define ACE_LACKS_TEMPNAM
618 # endif
620 # ifndef ACE_LACKS_TRUNCATE
621 # define ACE_LACKS_TRUNCATE
622 # endif
624 # ifndef ACE_LACKS_UNIX_SYSLOG
625 # define ACE_LACKS_UNIX_SYSLOG
626 # endif
628 # ifndef ACE_LACKS_WAIT
629 # define ACE_LACKS_WAIT
630 # endif
632 # ifndef ACE_LACKS_WCSCAT
633 # define ACE_LACKS_WCSCAT
634 # endif
636 # ifndef ACE_LACKS_WCSCHR
637 # define ACE_LACKS_WCSCHR
638 # endif
640 # ifndef ACE_LACKS_WCSCMP
641 # define ACE_LACKS_WCSCMP
642 # endif
644 # ifndef ACE_LACKS_WCSCPY
645 # define ACE_LACKS_WCSCPY
646 # endif
648 # ifndef ACE_LACKS_WCSCSPN
649 # define ACE_LACKS_WCSCSPN
650 # endif
652 # ifndef ACE_LACKS_WCSDUP
653 # define ACE_LACKS_WCSDUP
654 # endif
656 # ifndef ACE_LACKS_WCSLEN
657 # define ACE_LACKS_WCSLEN
658 # endif
660 # ifndef ACE_LACKS_WCSNCAT
661 # define ACE_LACKS_WCSNCAT
662 # endif
664 # ifndef ACE_LACKS_WCSNCMP
665 # define ACE_LACKS_WCSNCMP
666 # endif
668 # ifndef ACE_LACKS_WCSNCPY
669 # define ACE_LACKS_WCSNCPY
670 # endif
672 # ifndef ACE_LACKS_WCSNLEN
673 # define ACE_LACKS_WCSNLEN
674 # endif
676 # ifndef ACE_LACKS_WCSPBRK
677 # define ACE_LACKS_WCSPBRK
678 # endif
680 # ifndef ACE_LACKS_WCSRCHR
681 # define ACE_LACKS_WCSRCHR
682 # endif
684 # ifndef ACE_LACKS_WCSRTOMBS
685 # define ACE_LACKS_WCSRTOMBS
686 # endif
688 # ifndef ACE_LACKS_WCSSPN
689 # define ACE_LACKS_WCSSPN
690 # endif
692 # ifndef ACE_LACKS_WCSSTR
693 # define ACE_LACKS_WCSSTR
694 # endif
696 # ifndef ACE_LACKS_WCSTOK
697 # define ACE_LACKS_WCSTOK
698 # endif
700 # ifndef ACE_LACKS_WCSLEN
701 # define ACE_LACKS_WCSLEN
702 # endif
704 # ifndef ACE_LACKS_WRITEV
705 # define ACE_LACKS_WRITEV
706 # endif
708 // due to ACE_LACKS_GETHOSTBYNAME:
709 # ifndef ACE_LOCALHOST
710 # define ACE_LOCALHOST ACE_TEXT ("127.0.0.1")
711 # endif
713 # ifdef ACE_USES_GPROF
714 # undef ACE_USES_GPROF
715 # endif
717 #endif // ACE_FACE_SAFETY_EXTENDED