瀏覽代碼

pv: exported kemi functions to set root xavp values

Daniel-Constantin Mierla 6 年之前
父節點
當前提交
d19b32f75d
共有 1 個文件被更改,包括 44 次插入0 次删除
  1. 44 0
      src/modules/pv/pv.c

+ 44 - 0
src/modules/pv/pv.c

@@ -899,6 +899,40 @@ static int w_xavp_params_implode(sip_msg_t *msg, char *pxname, char *pvname)
 	return ki_xavp_params_implode(msg, &sxname, (str*)pvname);
 }
 
+/**
+ *
+ */
+static int ki_xavp_seti(sip_msg_t *msg, str *rname, int ival)
+{
+	sr_xavp_t *xavp = NULL;
+	sr_xval_t xval;
+
+	memset(&xval, 0, sizeof(sr_xval_t));
+	xval.type = SR_XTYPE_INT;
+	xval.v.i = ival;
+
+	xavp = xavp_add_value(rname, &xval, NULL);
+
+	return (xavp!=NULL)?1:-1;
+}
+
+/**
+ *
+ */
+static int ki_xavp_sets(sip_msg_t *msg, str *rname, str *sval)
+{
+	sr_xavp_t *xavp = NULL;
+	sr_xval_t xval;
+
+	memset(&xval, 0, sizeof(sr_xval_t));
+	xval.type = SR_XTYPE_STR;
+	xval.v.s = *sval;
+
+	xavp = xavp_add_value(rname, &xval, NULL);
+
+	return (xavp!=NULL)?1:-1;
+}
+
 /**
  *
  */
@@ -1634,6 +1668,16 @@ static sr_kemi_t sr_kemi_pvx_exports[] = {
 		{ SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
 			SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
 	},
+	{ str_init("pvx"), str_init("xavp_seti"),
+		SR_KEMIP_INT, ki_xavp_seti,
+		{ SR_KEMIP_STR, SR_KEMIP_INT, SR_KEMIP_NONE,
+			SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+	},
+	{ str_init("pvx"), str_init("xavp_sets"),
+		SR_KEMIP_INT, ki_xavp_sets,
+		{ SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
+			SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
+	},
 	{ str_init("pvx"), str_init("xavp_get"),
 		SR_KEMIP_XVAL, ki_xavp_get,
 		{ SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,