I'm about to remove a lot of the internal declarations from ecc.h, and move the ones which still are needed to ecc-internal.h. Problem is that most of these functions work only with particular curve types, and are typically installed in function pointers in struct ecc_curve. If they really are needed as public functions, they must be reimplemented to jump via the appropriate function pointer.
And some, like most or all of the corresponding itch functions, are not even defined anywhere anymore (replaced by macros in ecc-internal.h, and fields in struct ecc_curve).
ecc_size_j is a borderline case, not sure if it should be public (if so, it should probably be renamed, and not mean "convert to jacobian coordinates", but "convert to whatever internal representation is appropriate for the curve".
And everything below ecc_size_j in ecc.h should be removed.
Any objections? Any function applications are relying on?
Regards, /Niels