Adds logging for a call to the specified function that is being handled
    by an external module.

    Args:
        fqdn (str): fully-qualified domain name of the function being logged.
        parent: *object* that the function belongs to.
        stackdepth (int): maximum stack depth before entries are ignored.
        argl (list): positional arguments passed to the function call.
        argd (dict): keyword arguments passed to the function call.

def pre(fqdn, parent, stackdepth, *argl, **argd):
    """Adds logging for a call to the specified function that is being handled
    by an external module.

    Args:
        fqdn (str): fully-qualified domain name of the function being logged.
        parent: *object* that the function belongs to.
        stackdepth (int): maximum stack depth before entries are ignored.
        argl (list): positional arguments passed to the function call.
        argd (dict): keyword arguments passed to the function call.
    """
    global _atdepth_call, _cstack_call
    #We add +1 to stackdepth because this method had to be called in
    #addition to the wrapper method, so we would be off by 1.
    pcres = _pre_call(_atdepth_call, parent, fqdn, stackdepth+1,
                      *argl, **argd)
    entry, _atdepth_call, reduced, bound, ekey = pcres
    _cstack_call.append(fqdn)
    return (entry, bound, ekey)