$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Gaurav.Jain_at_[hidden]
Date: 2007-02-08 08:39:07
<Oliver.Kowalke <at> qimonda.com> writes:
>
> >This
> > structure is defined in <sys/socket.h> and includes the fol-
> > lowing members:
> > caddr_t msg_name; /* optional address */
> > int msg_namelen; /* size of address */
> > struct iovec *msg_iov; /* scatter/gather array */
> > int msg_iovlen; /* # elements in msg_iov */
> > caddr_t msg_accrights; /* access rights
sent/received */
> > int msg_accrightslen;
>
> This is the same behaviour on HP/UX. Without _XOPEN_SOURCE_EXTENDED
(on
> HP/UX) you get the old HP/UX specific socket api (-> different
structes
> like struct msghdr). The same seams to apply to Solaris 10. Maybe you
> can find an hint in the documention for a special compiler flag in
order
> to get X/Open compliant functions and structures as Christopher uses
in
> its code. It would be cumbersome to manage each special UNIX flaviour
> socket api in you code. Using an standardized api would be better for
> future investments and because the UNIX supplier can deprecate its old
> socket api too in future.
>
> Oliver
msghdr structure used by asio would require "_XOPEN_SOURCE_EXTENDED" or
"_XOPEN_SOURCE=500/600" to be defined since it is compliant with X/Open
Networking Services Library Functions and also would require to be
linked against -libxnet at least on Solaris.
No particular compiler flags are mentioned in man pages. However,
standards man page suggests that
"-D_XOPEN_SOURCE=500" or "-D_XOPEN_SOURCE=600" be passed to compiler.
It would be helpful if the asio library takes care of this in the
header file.
Regards,
Gaurav Jain