curl / Mailing Lists / curl-library / Single Mail


Embedded platforms (without FPU's), etc.

From: Philip Prindeville <>
Date: Sat, 31 Mar 2018 15:58:29 -0600

Hi all,

Couple of questions. One is a broader question about tweaking the API so that it uses fewer “doubles” for get curl_easy_getinfo() call, in particular using fixed point since you might be running on a platform such as an embedded router with a MIPS-32 or ARMv6 CPU which doesn’t have floating-point… but is reasonably capable of 64-bit operations (shifting, adding, subtracting, etc).

So we might want to express times as uint64_t’s as (tv.tv_sec * 1000000) + tv.usec.

Not sure why some values like bytes downloaded need to be “doubles”. Again, uint64_t would be ideal here.

I can come up with a set of patches that support uint64_t’s in more places.

Lastly—as you might guess, I’m doing development for platforms which don’t have FPU’s—and I need to retrieve the delay from calling curl_easy_perform() and the socket completing a connect().

Is there some easy way to use a callback that gets called immediately after the connect() completes?

For instance, the first time XFERFUNCTION gets called and then immediately unset the hook (inside the handler)?

I thought about coming up with my own patch but figured there might be a simpler way to do what I need here which doesn’t involve running a patched library.



Received on 2018-04-01