Hi Jean-Francois,
I have a small remark though. You pass "&request" to memwipe calls. It works but maybe "request" or "&request[0]" would be more legible.
It's the same for the memset() calls in these functions and it shouldn't make a difference: "request" and "&request[0]" are pointers to the first array element, while "&request" is a pointer to the complete array. The address is the same in all cases (and memset(), memwipe() etc. all take a void* as first argument so the type of pointer doesn't matter).
Regards, Tobias
