Linker and Libraries Guide

Agent Manipulation


rd_err_e rd_init(int version);
rd_init()

This function establishes the rtld-debugger version requirements. The current version is defined by RD_VERSION.

If the version requirement of the controlling process is greater than the rtld-debugger interface available, then RD_NOCAPAB is returned.


rd_agent_t * rd_new(struct ps_prochandle * php);
rd_new()

This function creates a new exported interface agent. php is a cookie created by the controlling process to identify the target process. This cookie is used by the imported interface offered by the controlling process to maintain context, and is opaque to the rtld-debugger interface.


rd_err_e rd_reset(struct rd_agent * rdap);
rd_reset()

This function resets the information within the agent based off the same ps_prochandle structure given to rd_new(). This function is called when a target process is restarted.


void rd_delete(struct rd_agent * rdap);
rd_delete()

This function deletes an agent and frees any state associated with it.