diff --git a/src/core/xavp.c b/src/core/xavp.c index c9529a02f68..c8ff12365f5 100644 --- a/src/core/xavp.c +++ b/src/core/xavp.c @@ -522,6 +522,9 @@ void xavp_print_list_content(sr_xavp_t **head, int level) LM_INFO(" XAVP value: \n", avp->val.v.xavp); xavp_print_list_content(&avp->val.v.xavp, level+1); break; + case SR_XTYPE_VPTR: + LM_INFO(" XAVP value: \n", avp->val.v.vptr); + break; case SR_XTYPE_DATA: LM_INFO(" XAVP value: \n", avp->val.v.data); break; diff --git a/src/core/xavp.h b/src/core/xavp.h index 8014bc5694d..839e486523a 100644 --- a/src/core/xavp.h +++ b/src/core/xavp.h @@ -35,6 +35,7 @@ typedef enum { SR_XTYPE_LONG, /* long value */ SR_XTYPE_LLONG, /* long long value */ SR_XTYPE_XAVP, /* xavp value */ + SR_XTYPE_VPTR, /* void pointer value */ SR_XTYPE_DATA /* custom data value */ } sr_xtype_t; @@ -57,6 +58,7 @@ typedef struct _sr_xval { long l; long long ll; struct _sr_xavp *xavp; /* must be given in shm (not cloned) */ + void *vptr; /* void pointer - address copied, not freed */ sr_data_t *data; /* must be given in shm (not cloned) */ } v; } sr_xval_t;