This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
RE: RE: Determining network ERROR codes
- To: "'Gary Thomas'" <gthomas at redhat dot com>
- Subject: RE: [ECOS] RE: Determining network ERROR codes
- From: "Trenton D. Adams" <tadams at extremeeng dot com>
- Date: Thu, 19 Jul 2001 16:20:19 -0600
- Cc: "'eCos mailing list'" <ecos-discuss at sources dot redhat dot com>
- Organization: Extreme Engineering
You must not have gotten my message about solving the problem. I solved
it before your last reply! It was sent to the list. It seems the list
is going slow today.
Anyhow, I called "init_all_network_interfaces();"
> -----Original Message-----
> From: gary@chez-thomas.org [mailto:gary@chez-thomas.org] On Behalf
Of
> Gary Thomas
> Sent: Thursday, July 19, 2001 4:17 PM
> To: Trenton D. Adams
> Cc: eCos mailing list
> Subject: RE: [ECOS] RE: Determining network ERROR codes
>
>
> On 19-Jul-2001 Trenton D. Adams wrote:
> > >
> > > Ok, how do I know what error corresponds to what? I got an
error
> of
> > 331
> > > on a connect () call. Aren't these supposed to be standard
> errors?
> > > They don't seem to return the same errors as they do on
Windows.
> > Maybe
> > > windows redefines them!
> > >
> > > Anyhow, where do I look for this information?
> > >
> >
> > I have the following code. Connect keeps returning 331
EADDRNOTAVAIL.
> > I have no idea why that might happen. This program would work
with a
> > few modifications on linux and windows as far as I recall.
Inet_addr
> ()
> > does return an IP address in network byte order so I can't see
that
> > being a problem. Any ideas?
> >
> > int s;
> > int one = 1;
> > struct sockaddr_in addr;
> >
> > diag_printf("Start socket test\n");
> >
> > s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
> > diag_printf("socket() = %d\n", s);
> >
> > addr.sin_addr.s_addr = inet_addr ("172.16.1.9");
> > addr.sin_family = AF_INET;
> > addr.sin_port = htons (1024);
> > addr.sin_len = sizeof (addr);
> > if (connect (s, &addr, sizeof (addr)) != 0)
> > {
> > diag_printf ("Error connecting to socket! - %d\n",
> > errno);
> > cyg_test_exit();
> > }
> >
> > send (s, "Hello From eCos", strlen ("Hello From eCos"), 0);
> >
> > cyg_test_exit();
>
> Have you run the eCos standard networking tests?
>
> I'd try leaving off the IPPROTO_TCP on the socket() call - use 0.