public inbox for linux-rdma@vger.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
To: Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: Sasha Khapyorsky <sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org>,
	"Smith,
	Stan" <stan.smith-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	ofw-ZwoEplunGu1OwGhvXhtEPSCwEArCW2h5@public.gmane.org,
	linux-rdma <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [OPENSM] match functions to prototypes in header file
Date: Thu, 1 Oct 2009 14:13:48 -0600	[thread overview]
Message-ID: <20091001201348.GK19540@obsidianresearch.com> (raw)
In-Reply-To: <4D838DBAE5F245EEA72D4466987294E1-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>

On Thu, Oct 01, 2009 at 12:52:21PM -0700, Sean Hefty wrote:
> >> > @@ -1106,9 +1109,9 @@ void osm_dump_path_record(IN osm_log_t * p_log, IN
> >const ib_path_rec_t * p_pr,
> >> >  			"\t\t\t\tresv2...................0x%X\n"
> >> >  			"\t\t\t\tresv3...................0x%X\n",
> >> >  			cl_ntoh64(p_pr->service_id),
> >> > -			inet_ntop(AF_INET6, p_pr->dgid.raw, gid_str,
> >> > +			inet_ntop(AF_INET6, (void*)p_pr->dgid.raw, gid_str,
> >>
> >> And why is such casting(s) needed?
> >
> >Casting away const like that is incorrect, fix your inet_ntop to have
> >a POSIX signature or ignore the warning.
> 
> The WinOF version of inet_ntop is:
> 
> const char *inet_ntop(int af, const void *src, char *dst, socklen_t cnt);
> 
> The MS version of inet_ntop (available in vista and later) is:
> 
> "The ANSI version of this function is inet_ntop"
> PCTSTR WSAAPI InetNtop(
>   __in   INT  Family,
>   __in   PVOID pAddr,
>   __out  PTSTR pStringBuf,
>   __in   size_t StringBufSize
> );
> 
> I'm guessing inet_ntop maps directly to InetNtop, but I can't find the
> definition in the header file.  We use the MS version of the function when
> available.

Well, if windows header files are providing inet_ntop with the wrong
signature you are kinda stuck, pretty crummy thing for MS to do really.

I've fixed things like this via this approach before:

#include <windows-header.h>
#define inet_ntop my_inet_ntop
static inline const char *my_inet_ntop(int af, const void *src,
                                       char *dst, socklen_t size)
{
   return InetNtop(af,(void *)src,dst,size);
}

With #include_next it can be pretty transparent.

Hey, I ran into this the other day:

http://www.gnu.org/software/gnulib/

I wonder if it is something that might help your efforts?

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2009-10-01 20:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3DE88517D38A4EB0B49A2E3AAF96D005@amr.corp.intel.com>
     [not found] ` <3DE88517D38A4EB0B49A2E3AAF96D005-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-01 18:31   ` [OPENSM] match functions to prototypes in header file Sasha Khapyorsky
2009-10-01 18:33     ` Bart Van Assche
2009-10-01 19:06       ` Sean Hefty
2009-10-01 18:51     ` Jason Gunthorpe
     [not found]       ` <20091001185148.GJ19540-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2009-10-01 19:52         ` Sean Hefty
     [not found]           ` <4D838DBAE5F245EEA72D4466987294E1-Zpru7NauK7drdx17CPfAsdBPR1lH4CV8@public.gmane.org>
2009-10-01 20:13             ` Jason Gunthorpe [this message]
2009-10-01 19:30     ` Smith, Stan
     [not found]       ` <3F6F638B8D880340AB536D29CD4C1E1912C86E88D1-osO9UTpF0USkrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2009-10-01 20:22         ` [PATCH] opensm/osm_helper: remove meanless 'const' keywords Sasha Khapyorsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091001201348.GK19540@obsidianresearch.com \
    --to=jgunthorpe-epgobjl8dl3ta4ec/59zmfatqe2ktcn/@public.gmane.org \
    --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=ofw-ZwoEplunGu1OwGhvXhtEPSCwEArCW2h5@public.gmane.org \
    --cc=sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org \
    --cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=stan.smith-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox