os_stropts.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    os_stropts.h
00006  *
00007  *  STREAMS interface (STREAMS)
00008  *
00009  *  os_stropts.h,v 1.6 2006/01/04 08:29:46 jwillemsen Exp
00010  *
00011  *  @author Don Hinton <dhinton@dresystems.com>
00012  *  @author This code was originally in various places including ace/OS.h.
00013  */
00014 //=============================================================================
00015 
00016 #ifndef ACE_OS_INCLUDE_OS_STROPTS_H
00017 #define ACE_OS_INCLUDE_OS_STROPTS_H
00018 
00019 #include /**/ "ace/pre.h"
00020 
00021 #include "ace/config-all.h"
00022 
00023 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00024 # pragma once
00025 #endif /* ACE_LACKS_PRAGMA_ONCE */
00026 
00027 #include "ace/os_include/os_unistd.h"
00028 
00029 #if defined (ACE_HAS_TIMOD_H)
00030 #  if defined (ACE_HAS_STL_QUEUE_CONFLICT)
00031 #    define queue _Queue_
00032 #  endif /* ACE_HAS_STL_QUEUE_CONFLICT */
00033 #  include /**/ <sys/timod.h>
00034 #  if defined (ACE_HAS_STL_QUEUE_CONFLICT)
00035 #    undef queue
00036 #  endif /* ACE_HAS_STL_QUEUE_CONFLICT */
00037 #elif defined (ACE_HAS_OSF_TIMOD_H)
00038 #  include /**/ <tli/timod.h>
00039 #endif /* ACE_HAS_TIMOD_H */
00040 
00041 #if !defined (ACE_LACKS_SYS_IOCTL_H)
00042 #  include /**/ <sys/ioctl.h>
00043 #endif /* !ACE_LACKS_IOCTL_H */
00044 
00045 #if defined (ACE_HAS_SYS_FILIO_H)
00046 #  include /**/ <sys/filio.h>
00047 #endif /* ACE_HAS_SYS_FILIO_H */
00048 
00049 #if defined (ACE_HAS_SYS_SOCKIO_H)
00050 #  include /**/ <sys/sockio.h>
00051 #endif /* ACE_HAS_SOCKIO_ */
00052 
00053 // This is sorta counter intuitive, but this is how it was done in OS.h
00054 // @todo: fix this...  dhinton
00055 #if defined (ACE_HAS_STREAMS)
00056 #  if defined (AIX)
00057 #    if !defined (_XOPEN_EXTENDED_SOURCE)
00058 #      define _XOPEN_EXTENDED_SOURCE
00059 #    endif /* !_XOPEN_EXTENDED_SOURCE */
00060 #  endif /* AIX */
00061 #endif /* ACE_HAS_STREAMS */
00062 
00063 #if !defined (ACE_LACKS_STROPTS_H)
00064 #  include /**/ <stropts.h>
00065 #endif /* !ACE_LACKS_STROPTS_H */
00066 
00067 // This is sorta counter intuitive, but this is how it was done in OS.h
00068 // @todo: fix this...  dhinton
00069 #if defined (ACE_HAS_STREAMS)
00070 #  if defined (AIX)
00071 #    undef _XOPEN_EXTENDED_SOURCE
00072 #  endif /* AIX */
00073 #endif /* ACE_HAS_STREAMS */
00074 
00075 #if defined (ACE_VXWORKS)
00076 // for ioctl()
00077 #  include /**/ <ioLib.h>
00078 #endif /* ACE_VXWORKS */
00079 
00080 // Place all additions (especially function declarations) within extern "C" {}
00081 #ifdef __cplusplus
00082 extern "C"
00083 {
00084 #endif /* __cplusplus */
00085 
00086 #if defined (ACE_LACKS_STRRECVFD)
00087    struct strrecvfd {};
00088 #endif /* ACE_LACKS_STRRECVFD */
00089 
00090 # if !defined (SIOCGIFBRDADDR)
00091 #   define SIOCGIFBRDADDR 0
00092 # endif /* SIOCGIFBRDADDR */
00093 
00094 # if !defined (SIOCGIFADDR)
00095 #   define SIOCGIFADDR 0
00096 # endif /* SIOCGIFADDR */
00097 
00098 # if !defined (ACE_HAS_STRBUF_T)
00099 struct strbuf
00100 {
00101   /// No. of bytes in buffer.
00102   int maxlen;
00103   /// No. of bytes returned.
00104   int len;
00105   /// Pointer to data.
00106   void *buf;
00107 };
00108 # endif /* ACE_HAS_STRBUF_T */
00109 
00110 // These prototypes are chronically lacking from many versions of
00111 // UNIX.
00112 #if !defined (ACE_WIN32) && !defined (ACE_HAS_ISASTREAM_PROTO)
00113   int isastream (int);
00114 #endif /* !ACE_WIN32 && ACE_HAS_ISASTREAM_PROTO */
00115 
00116 #ifdef __cplusplus
00117 }
00118 #endif /* __cplusplus */
00119 
00120 #include /**/ "ace/post.h"
00121 #endif /* ACE_OS_INCLUDE_OS_STROPTS_H */

Generated on Thu Nov 9 09:41:58 2006 for ACE by doxygen 1.3.6