[PATCH] more data structures public in mongoose.h

Joel Sherrill joel.sherrill at oarcorp.com
Wed Nov 19 20:07:48 UTC 2014


Just to be clear, I approve Ben's patch with mg_ prefix. :)

But long term, I want to see us consider moving the TCP/IP
to an external package so we can have IPV4, IPV4/V6, and
LWIP as options. Then layer various web services as RSB
packages on top of that.

That would also let us support the Mongoose fork as well
as Monkey httpd which seems to be a better option going
forward. Plus they are nice folks. :)

--joel

On 11/19/2014 1:53 PM, Joel Sherrill wrote:
> On 11/19/2014 1:24 PM, Gedare Bloom wrote:
>> Hi Ben,
>>
>> Due to the license change, we can consider our version of Mongoose as
>> "RTEMS Project" maintained for now. I don't know if anyone is
>> maintaining a fork with an appropriate license.
> There is a fork with the appropriate license.
>
> https://github.com/sunsetbrew/civetweb
>
> Looks like it has some activity. But in general, I agree.
>
>> Moving the struct definitions to the header file is sensible, although
>> the usual caveat is that users might have namespace conflicts.
>>
>> Gedare
>>
>>
>>
>> On Wed, Nov 19, 2014 at 1:16 PM, Ben Gras <beng at shrike-systems.com> wrote:
>>> The attached patch is a proposed solution to a problem I am having with
>>> interfacing with the mongoose httpd for which I've found no canonical (or
>>> any other) clean solution.
>>>
>>> The problem is that some of the data structures needed for some operations,
>>> specifically writing callbacks that get invoked for some HTTP requests, are
>>> declared in mongoose.c and therefore are not available to external programs,
>>> i.e. clients of mongoose. This is the mg_connection struct & its
>>> dependencies. It is passed as an argument to callbacks, and even without
>>> referencing the object the code won't compile if the struct isn't fully
>>> known.
>>>
>>> The change is moving some declarations from mongoose.c to mongoose.h.
>>>
>>> Unfortunately this diverges from the original code, then again mongoose
>>> isn't tracked any more since the license change I take it, so perhaps that's
>>> not so bad. I've made the changes __rtems__-conditional so it's clear where
>>> the divergence is.
>>>
>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel at rtems.org
>>> http://lists.rtems.org/mailman/listinfo/devel
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985




More information about the devel mailing list