The original EPANET Toolkit supported several programming languages. I mainly used it with VB6 and VBA which is still the official programming language of MS-Office. In order to support it I have created two pull requests at GitHub (master & next). It required some compilation options and a new def file. I have also added to the VB header file (bas) the new functions.
As for the next branch, some new code isn’t compatible with C89 compilers and variables must be declared at the top of the functions. Since the entire EPANET code base uses this convention I think it is better to keep at it for now.
Using functions which takes arrays as parameters needs to be considered too as this may cause issues in different programming languages. In the EPANET Toolkit there is no function which returns an array and the new function ENgetcurve is an exception (could not get it to work).