[sr-dev] git:master:a5286513: pv: export some PV functions

Olle E. Johansson oej at edvina.net
Fri Feb 12 17:13:41 CET 2016


Can we please add some documentation of the PV API to the README? Thanks.


/O

> Branch: master
> Commit: a5286513c56f2a6e94385cb75bff1fdca3110e93
> URL: https://github.com/kamailio/kamailio/commit/a5286513c56f2a6e94385cb75bff1fdca3110e93
> 
> Author: Camille Oudot <camille.oudot at orange.com>
> Committer: Federico Cabiddu <fcabiddu at libon.com>
> Date: 2016-02-03T14:51:27+01:00
> 
> pv: export some PV functions
> 
> ---
> 
> Added: modules/pv/pv_api.c
> Added: modules/pv/pv_api.h
> Modified: modules/pv/pv.c
> 
> ---
> 
> Diff:  https://github.com/kamailio/kamailio/commit/a5286513c56f2a6e94385cb75bff1fdca3110e93.diff
> Patch: https://github.com/kamailio/kamailio/commit/a5286513c56f2a6e94385cb75bff1fdca3110e93.patch
> 
> ---
> 
> diff --git a/modules/pv/pv.c b/modules/pv/pv.c
> index 2ccc4ae..e8e717b 100644
> --- a/modules/pv/pv.c
> +++ b/modules/pv/pv.c
> @@ -40,6 +40,7 @@
> #ifdef WITH_XAVP
> #include "pv_xavp.h"
> #endif
> +#include "pv_api.h"
> 
> MODULE_VERSION
> 
> @@ -502,6 +503,7 @@ static int w_var_to_xavp(sip_msg_t *msg, char *p1, char *p2);
> static int w_xavp_to_var(sip_msg_t *msg, char *p1);
> 
> static int pv_init_rpc(void);
> +int pv_register_api(pv_api_t*);
> 
> static cmd_export_t cmds[]={
> 	{"pv_isset",  (cmd_function)pv_isset,  1, fixup_pvar_null, 0, 
> @@ -533,7 +535,8 @@ static cmd_export_t cmds[]={
> 		ANY_ROUTE },
> 	{"sbranch_reset",     (cmd_function)w_sbranch_reset,     0, 0, 0,
> 		ANY_ROUTE },
> -
> +	/* API exports */
> +	{"pv_register_api",   (cmd_function)pv_register_api,     NO_SCRIPT, 0, 0},
> 	{0,0,0,0,0,0}
> };
> 
> diff --git a/modules/pv/pv_api.c b/modules/pv/pv_api.c
> new file mode 100644
> index 0000000..e153756
> --- /dev/null
> +++ b/modules/pv/pv_api.c
> @@ -0,0 +1,41 @@
> +/**
> + * Copyright 2016 (C) Orange
> + * <camille.oudot at orange.com>
> + *
> + * This file is part of Kamailio, a free SIP server.
> + *
> + * This file is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version
> + *
> + *
> + * This file is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
> + *
> + */
> +
> +#include "pv_api.h"
> +#include "pv_core.h"
> +
> +int pv_register_api(pv_api_t* api)
> +{
> +	if (!api)
> +		return 0;
> +
> +	api->get_body_size = pv_get_body_size;
> +	api->get_hdr = pv_get_hdr;
> +	api->get_msg_body = pv_get_msg_body;
> +	api->get_msg_buf = pv_get_msg_buf;
> +	api->get_msg_len = pv_get_msg_len;
> +	api->get_reason = pv_get_reason;
> +	api->get_status = pv_get_status;
> +	api->parse_hdr_name = pv_parse_hdr_name;
> +	return 1;
> +}
> diff --git a/modules/pv/pv_api.h b/modules/pv/pv_api.h
> new file mode 100644
> index 0000000..2f1de8b
> --- /dev/null
> +++ b/modules/pv/pv_api.h
> @@ -0,0 +1,37 @@
> +/**
> + * Copyright 2016 (C) Orange
> + * <camille.oudot at orange.com>
> + *
> + * This file is part of Kamailio, a free SIP server.
> + *
> + * This file is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version
> + *
> + *
> + * This file is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
> + *
> + */
> +
> +#include "../../pvar.h"
> +
> +typedef struct _pv_api {
> +	pv_getf_t get_reason;
> +	pv_getf_t get_hdr;
> +	pv_parse_name_f parse_hdr_name;
> +	pv_getf_t get_status;
> +	pv_getf_t get_msg_body;
> +	pv_getf_t get_body_size;
> +	pv_getf_t get_msg_buf;
> +	pv_getf_t get_msg_len;
> +} pv_api_t;
> +
> +typedef int (*pv_register_api_t)(pv_api_t*);
> 
> 
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2374 bytes
Desc: not available
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20160212/df596cc1/attachment.bin>


More information about the sr-dev mailing list