* specify which runtime object it applies to. Use of of tracecut's
* <i>bind</i> functions to bind a tracecut param to an actual runtime
* value captured by InterAspect.
+ *
+ * All params must have an #aop_type that matches pointer types only
+ * (i.e., aop_is_pointer_type() returns true).
+ *
* \param tc The tracecut to add a param to.
* \param name The name used to reference this param.
* \param type They type of this param.
* started;
* - #TC_DUPLICATE, if there already exists a param with the
* specified name;
+ * - #TC_INVAL, if aop_is_pointer_type() is false for the specified
+ * type;
* - #TC_NOMEM, if memory runs out.
*/
enum tc_error
{
struct tc_param *param = NULL;
+ if (!aop_is_pointer_type (type))
+ return TC_INVAL;
+
if (lookup_param (tc, name) != NULL)
return TC_DUPLICATE;;