Module API
Functions
<function>int xbind(xl_api_t *xl_api)</function> Bind to the xprint module API. Meaning of the parameters is as follows: xl_api - structure that the xprint module functions are bind to. The functions can be executed as xl_api.xparse(), xl_api.xprint()... Return value: 0 - success, <0 - error.
<function>int xparse(char *s, xl_elog_p *el)</function> Parse an xl-formatted string in private memory. Meaning of the parameters is as follows: s - string to be parsed. el - returned xl-lib list. Return value: 0 - success, <0 - error.
<function>int shm_xparse(char *s, xl_elog_p *el)</function> Parse an xl-formatted string in shared memory. See xparse() function for details.
<function>int xparse2(char *s, xl_elog_p *el, xl_parse_cb cb)</function> Parse an xl-formatted string in private memory. This function is able to identify regular expression back references, for example \1, \2, \3... When a back reference is found the callback function is called that is supposed to farther parse the back reference and fill in the xl_elog structure. Meaning of the parameters is as follows: s - string to be parsed. el - returned xl-lib list. cb - callback function for parsing the regular expression back references. The prototype of the callback function is: typedef int (*xl_parse_cb) (str *s, int shm, xl_elog_p el); Parameters of the callback function: s - regular expression back reference to be parsed (without the leading '\' character). shm - indicates whether or not shared memory needs to be used. (1: shared memory, 0: private memory) el - pointer to the xl-lib list item that is supposed to be filled in. Return value: 0 - success, <0 - error.
<function>int shm_xparse2(char *s, xl_elog_p *el, xl_parse_cb cb)</function> Parse an xl-formatted string in shared memory supporting regular expression back references. See xparse2() function for details.
<function>xfree(xl_elog_p el)</function> Free the xl-lib list allocated by xparse() or xparse2(). Meaning of the parameters is as follows: el - xl-lib list to be freed.
<function>shm_xfree(xl_elog_p el)</function> Free the xl-lib list allocated by shm_xparse() or shm_xparse2(). Meaning of the parameters is as follows: el - xl-lib list to be freed.
<function>int xprint(struct sip_msg* msg, xl_elog_p el, char *buf, int *len)</function> Evaluate the xl-formatted string and print the result into a buffer. Meaning of the parameters is as follows: msg - SIP message pointer. el - xl-lib list to be evaluated. buf - pre-allocated buffer that is filled in with the result. len - length of the printed string. len needs to be set to the maximum length of the result buffer before calling this function. Return value: 0 - success, <0 - error.
<function>str *xnulstr()</function> Return the string "<null>".