SYNOPSIS
#include <paradox.h>
pxdoc_t* PX_new3(void (*errorhandler)(pxdoc_t *p, int type, const char *msg, void *para), void* (*allocproc)(pxdoc_t *p, size_t size, const char *caller), void* (*reallocproc)(pxdoc_t *p, void *mem, size_t size, const char *caller), void (*freeproc)(pxdoc_t *p, void *mem), void *errorhandler_user_data)
DESCRIPTION
Creates a new instance of a Paradox file. This function, PX_new(3) or PX_new2(3) must be called before any other functions. If the caller has its own error and memory management functions they can be passed.
In opposition to PX_new2(3) this function has an extra parameter errorhandler_user_data which is a pointer to user data which is passed to the error handler function as the fourth parameter. This could be used to pass e.g. a widget pointer where error message are to be output, or a context which otherwise had to passed to the error handler through a global variable.
RETURN VALUE
Returns a pointer to an internal representation of a Paradox file or NULL on failure.