00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef ACE_OS_TLI_H
00015 # define ACE_OS_TLI_H
00016 # include "ace/pre.h"
00017
00018 # include "ace/config-all.h"
00019
00020 # if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 # endif
00023
00024 # include "ace/OS_Errno.h"
00025 # include "ace/ACE_export.h"
00026
00027 # if defined (ACE_EXPORT_MACRO)
00028 # undef ACE_EXPORT_MACRO
00029 # endif
00030 # define ACE_EXPORT_MACRO ACE_Export
00031
00032 # if !(defined(ACE_HAS_TLI) || defined(ACE_HAS_XTI))
00033
00034 struct t_call { };
00035 struct t_bind { };
00036 struct t_info { };
00037 struct t_optmgmt { };
00038 struct t_discon { };
00039 struct t_unitdata { };
00040 struct t_uderr { };
00041 struct netbuf { };
00042
00043 # else
00044
00045 # if defined (ACE_HAS_CONFLICTING_XTI_MACROS)
00046
00047 # include "ace/os_include/netinet/os_tcp.h"
00048 # undef TCP_NODELAY
00049 # undef TCP_MAXSEG
00050 # endif
00051
00052 # if defined (ACE_HAS_XTI)
00053 # if defined (ACE_HAS_SYS_XTI_H)
00054 # define class ace_xti_class
00055 # include <sys/xti.h>
00056 # undef class
00057 # elif defined (ACE_HAS_FORE_ATM_XTI)
00058 # include <fore_xti/xti_user_types.h>
00059 # include <fore_xti/xti.h>
00060 # include <fore_xti/xti_atm.h>
00061 # include <fore_xti/netatm/atm.h>
00062 # include <fore_xti/ans.h>
00063 # else
00064 # include <xti.h>
00065 # endif
00066
00067
00068
00069
00070 # if defined (ACE_REDEFINES_XTI_FUNCTIONS)
00071 # include <xti.h>
00072 # if defined (UNIXWARE_2_0)
00073 extern "C" int _xti_error(char *);
00074 # endif
00075 # endif
00076
00077
00078
00079
00080
00081
00082
00083
00084 # if !defined (LOCALNAME)
00085 # define LOCALNAME 0
00086 # endif
00087 # if !defined (REMOTENAME)
00088 # define REMOTENAME 1
00089 # endif
00090
00091 # else
00092 # if !defined (ACE_HAS_TLI_PROTOTYPES)
00093
00094
00095 extern "C"
00096 {
00097 int t_accept(int fildes, int resfd, struct t_call *call);
00098 char *t_alloc(int fildes, int struct_type, int fields);
00099 int t_bind(int fildes, struct t_bind *req, struct t_bind *ret);
00100 int t_close(int fildes);
00101 int t_connect(int fildes, struct t_call *sndcall,
00102 struct t_call *rcvcall);
00103 void t_error(const char *errmsg);
00104 int t_free(char *ptr, int struct_type);
00105 int t_getinfo(int fildes, struct t_info *info);
00106 int t_getname (int fildes, struct netbuf *namep, int type);
00107 int t_getstate(int fildes);
00108 int t_listen(int fildes, struct t_call *call);
00109 int t_look(int fildes);
00110 int t_open(char *path, int oflag, struct t_info *info);
00111 int t_optmgmt(int fildes, struct t_optmgmt *req,
00112 struct t_optmgmt *ret);
00113 int t_rcv(int fildes, char *buf, unsigned int nbytes, int *flags);
00114 int t_rcvconnect(int fildes, struct t_call *call);
00115 int t_rcvdis(int fildes, struct t_discon *discon);
00116 int t_rcvrel(int fildes);
00117 int t_rcvudata(int fildes, struct t_unitdata *unitdata, int *flags);
00118 int t_rcvuderr(int fildes, struct t_uderr *uderr);
00119 int t_snd(int fildes, const char *buf, unsigned int nbytes, int flags);
00120 int t_snddis(int fildes, struct t_call *call);
00121 int t_sndrel(int fildes);
00122 int t_sndudata(int fildes, struct t_unitdata *unitdata);
00123 int t_sync(int fildes);
00124 int t_unbind(int fildes);
00125 }
00126 # endif
00127
00128 # if defined (ACE_HAS_TIUSER_H_BROKEN_EXTERN_C)
00129 extern "C" {
00130 # endif
00131 # if defined (ACE_HAS_TIUSER_H)
00132 # include <tiuser.h>
00133 # else
00134
00135 # endif
00136 # if defined (ACE_HAS_TIUSER_H_BROKEN_EXTERN_C)
00137 }
00138 # endif
00139
00140 # if defined (ACE_HAS_SVR4_TLI)
00141
00142
00143
00144 extern "C" int t_getname (int, struct netbuf *, int);
00145 # endif
00146 # endif
00147
00148 # endif
00149
00150 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163 #if defined (__HP_aCC) && (__HP_aCC <= 37300)
00164 typedef extern "C" struct t_optmgmt ACE_TOPTMGMT;
00165 typedef extern "C" struct t_bind ACE_TBIND;
00166 #else
00167 typedef struct t_optmgmt ACE_TOPTMGMT;
00168 typedef struct t_bind ACE_TBIND;
00169 #endif
00170
00171
00172
00173
00174
00175
00176
00177 namespace ACE_OS
00178 {
00179
00180 ACE_NAMESPACE_INLINE_FUNCTION
00181 int t_accept (ACE_HANDLE fildes,
00182 ACE_HANDLE resfd,
00183 struct t_call
00184 *call);
00185
00186 ACE_NAMESPACE_INLINE_FUNCTION
00187 char *t_alloc (ACE_HANDLE fildes,
00188 int struct_type,
00189 int
00190 fields);
00191
00192 ACE_NAMESPACE_INLINE_FUNCTION
00193 int t_bind (ACE_HANDLE fildes,
00194 ACE_TBIND *req,
00195 ACE_TBIND *ret);
00196
00197 ACE_NAMESPACE_INLINE_FUNCTION
00198 int t_close (ACE_HANDLE fildes);
00199
00200 ACE_NAMESPACE_INLINE_FUNCTION
00201 int t_connect (ACE_HANDLE fildes,
00202 struct t_call *sndcall,
00203 struct t_call *rcvcall);
00204
00205 ACE_NAMESPACE_INLINE_FUNCTION
00206 void t_error (const char *errmsg);
00207
00208 ACE_NAMESPACE_INLINE_FUNCTION
00209 int t_free (char *ptr,
00210 int struct_type);
00211
00212 ACE_NAMESPACE_INLINE_FUNCTION
00213 int t_getinfo (ACE_HANDLE fildes,
00214 struct t_info *info);
00215
00216 ACE_NAMESPACE_INLINE_FUNCTION
00217 int t_getname (ACE_HANDLE fildes,
00218 struct netbuf *namep,
00219 int type);
00220
00221 ACE_NAMESPACE_INLINE_FUNCTION
00222 int t_getstate (ACE_HANDLE fildes);
00223
00224 ACE_NAMESPACE_INLINE_FUNCTION
00225 int t_listen (ACE_HANDLE fildes,
00226 struct t_call *call);
00227
00228 ACE_NAMESPACE_INLINE_FUNCTION
00229 int t_look (ACE_HANDLE fildes);
00230
00231 ACE_NAMESPACE_INLINE_FUNCTION
00232 ACE_HANDLE t_open (char *path,
00233 int oflag,
00234 struct t_info *info);
00235
00236 ACE_NAMESPACE_INLINE_FUNCTION
00237 int t_optmgmt (ACE_HANDLE handle,
00238 ACE_TOPTMGMT *req,
00239 ACE_TOPTMGMT *ret);
00240
00241 ACE_NAMESPACE_INLINE_FUNCTION
00242 int t_rcv (ACE_HANDLE fildes,
00243 char *buf,
00244 unsigned int nbytes,
00245 int *flags);
00246
00247 ACE_NAMESPACE_INLINE_FUNCTION
00248 int t_rcvdis (ACE_HANDLE fildes,
00249 struct t_discon *discon);
00250
00251 ACE_NAMESPACE_INLINE_FUNCTION
00252 int t_rcvrel (ACE_HANDLE fildes);
00253
00254 ACE_NAMESPACE_INLINE_FUNCTION
00255 int t_rcvudata (ACE_HANDLE fildes,
00256 struct t_unitdata *unitdata,
00257 int *flags);
00258
00259 ACE_NAMESPACE_INLINE_FUNCTION
00260 int t_rcvuderr (ACE_HANDLE fildes,
00261 struct t_uderr *uderr);
00262
00263 ACE_NAMESPACE_INLINE_FUNCTION
00264 int t_snd (ACE_HANDLE fildes,
00265 const char *buf,
00266 unsigned int nbytes,
00267 int flags);
00268
00269 ACE_NAMESPACE_INLINE_FUNCTION
00270 int t_snddis (ACE_HANDLE fildes,
00271 struct t_call *call);
00272
00273 ACE_NAMESPACE_INLINE_FUNCTION
00274 int t_sndrel (ACE_HANDLE fildes);
00275
00276 ACE_NAMESPACE_INLINE_FUNCTION
00277 int t_sync (ACE_HANDLE fildes);
00278
00279 ACE_NAMESPACE_INLINE_FUNCTION
00280 int t_unbind (ACE_HANDLE fildes);
00281
00282 }
00283
00284 ACE_END_VERSIONED_NAMESPACE_DECL
00285
00286 # if defined (ACE_HAS_INLINED_OSCALLS)
00287 # if defined (ACE_INLINE)
00288 # undef ACE_INLINE
00289 # endif
00290 # define ACE_INLINE inline
00291 # include "ace/OS_TLI.inl"
00292 # endif
00293
00294 #include "ace/post.h"
00295 #endif