Read TLS Private Key from File

I am migrating my code base from mbed TLS version 2.26.0 to version 3.1.0 and have run into a problem in my code that attempts to load a private key from a file:

rcd = mbedtls_pk_parse_keyfile(&private_key, private_key_name.c_str(), password.c_str());
if(rcd != 0)
       throw TlsException(rcd, "parse key file failed");

This call matches the function signature specified in the documentation but does not match the function signature given in the header pk.h:

int mbedtls_pk_parse_keyfile( mbedtls_pk_context *ctx,
                  const char *path, const char *password,
                  int (*f_rng)(void *, unsigned char *, size_t), void *p_rng );

Based upon what I can see in the header documentation, the additional two parameters deal with random number generation? and requires a callback to be registered?
This is the only place in the headers where I have found the prototype for this function. I feel like I am missing something somewhat fundamental here but am not certain what it is. Is there any explanation as to what might be going on?