Here my two cents, - I would be in favor of an enum instead for the constants. - I would be in favor of an appropriate namespace to avoid conflicts. - It seems there are missing parts, e.g. how do you plan (or do you plan to) express the 2nd argument of ureldateformat_open().
There is probably more to it, just surface level first impressions. Cheers.
