lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RE : [lwip-users] Ok- Where Are They? #2


From: davidm
Subject: Re: RE : [lwip-users] Ok- Where Are They? #2
Date: Wed, 16 Apr 2008 18:55:31 +1000
User-agent: Thunderbird 2.0.0.12 (Windows/20080213)

Thanks Frédéric,

1). Ok - INT_MAX is compiler specific on the Lwip side and LARGEST_INTEGER is compiler specific on the contrib side. And the fixup is done in cc.h. Thank you for the edification/clarification.

2). Yes, yes - I do understand the int implication, guess the
/* max_u16_t */ comment along with the '.w.' in '..msg.w.len' threw me. But then again, I could have checked the declarations - early days for me.

This also acknowledges Kieran Mansley's response which offered a similiar explanation.

3). I should follow your mode of 'top' responding.

davidm

Frédéric BERNON wrote:
Sorry, I have activate the option "don't search in disabled code". So, yes, you 
since INT_MAX is used, you have to define it (or add limit.h) in your cc.h. For 
LARGE_INTEGER, it a Windows specific type, only use in the win32's sys_arch.c (if you 
test the win32 port, you shouldn't have any problem to build it, since windows.h is 
included in sys_arch.c).

if ((conn->write_msg->msg.w.len - conn->write_offset > 0xffff)) { /* max_u16_t */
  len = 0xffff;

with a warning that the comparison is always zero, which does beg the question how can a 16-bit variable/result ever exceed 0xffff?

msg.w.len is an "int", same for write_offset, so, on a 32bit compiler, you could have a 
value > 0xffff (since "int" types are target/compiler dependant). If you have this 
warning, I suppose you use a 16-bit compiler. In this case, you can ignore this warning.

-----Message d'origine-----
De : address@hidden [mailto:address@hidden De la part de address@hidden
Envoyé : mercredi 16 avril 2008 08:56
À : Frédéric BERNON; Mailing list for lwIP users
Objet : Re: [lwip-users] Ok- Where Are They? #2


Frédéric BERNON wrote:
Just, where do you find MAX_INT and LARGEST_INTEGER? I just grep the
code source but don't find them in the lwIP code...

----- Original Message ----- From: "Frédéric BERNON"
<address@hidden>
To: "Mailing list for lwIP users" <address@hidden>
Sent: Wednesday, April 16, 2008 1:16 AM
Subject: Re: [lwip-users] Ok- Where Are They?


You're right, you have to define in your own cc.h file these defines,
and some others like BYTE_ORDER, generic types like u8_t, s8_t, u16_t, etc... printf formaters, and pack instructions.

If you need a sample, take to look to contrib/ports/win32.



----- Original Message ----- From: "davidm" <address@hidden>
To: "Mailing list for lwIP users" <address@hidden>
Sent: Wednesday, April 16, 2008 1:11 AM
Subject: [lwip-users] Ok- Where Are They?


On doing a first time appraisal of lwip for its suitability in an
upcoming project I am stumbling to find the definitions/declarations for MAX_INT and LARGEST_INTEGER.

The target OS is a multi-tasking kernel under real mode DOS. The
tool chain is Open Watcom.

If I read the documentation correctly, it is mainly cc.h,
sys_arch.h/c and perhaps a few others that influence the porting procedure and therefore should the above missing bits be defined there?

regards,

davidm

_______________________________________________
lwip-users mailing list
address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users



_______________________________________________
lwip-users mailing list
address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users



_______________________________________________
lwip-users mailing list
address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users


This is a repeat response - the first one may have been bounced due to incorrect mail setting.

MAX_INT appears in api-msg.c, line 535, function netconn_alloc().

LARGEST_INTEGER in ..\ports\win32\sys_arch.c lines 46 and 57. I am using files from this port in my attempt to start the new port.

As an aside, my compiler is questioning line 947 from api-msg.c:-

if ((conn->write_msg->msg.w.len - conn->write_offset > 0xffff)) { /* max_u16_t */
   len = 0xffff;

with a warning that the comparison is always zero, which does beg the question how can a 16-bit variable/result ever exceed 0xffff?

Keep in mind this is the starting point for me and obviously I have to walk the learning curve. I am working with lwip-1.3.0.

regards,

davidm


_______________________________________________
lwip-users mailing list
address@hidden http://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users





reply via email to

[Prev in Thread] Current Thread [Next in Thread]