Boost logo

Boost :

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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk