summaryrefslogtreecommitdiff
path: root/extensions/rt_rewrite/rt_rewrite.h
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/rt_rewrite/rt_rewrite.h')
-rw-r--r--extensions/rt_rewrite/rt_rewrite.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/extensions/rt_rewrite/rt_rewrite.h b/extensions/rt_rewrite/rt_rewrite.h
new file mode 100644
index 0000000..013230f
--- /dev/null
+++ b/extensions/rt_rewrite/rt_rewrite.h
@@ -0,0 +1,57 @@
+/*********************************************************************************************************
+ * Software License Agreement (BSD License) *
+ * Author: Thomas Klausner <tk@giga.or.at> *
+ * *
+ * Copyright (c) 2018, Thomas Klausner *
+ * All rights reserved. *
+ * *
+ * Written under contract by Effortel Technologies SA, http://effortel.com/ *
+ * *
+ * Redistribution and use of this software in source and binary forms, with or without modification, are *
+ * permitted provided that the following conditions are met: *
+ * *
+ * * Redistributions of source code must retain the above *
+ * copyright notice, this list of conditions and the *
+ * following disclaimer. *
+ * *
+ * * Redistributions in binary form must reproduce the above *
+ * copyright notice, this list of conditions and the *
+ * following disclaimer in the documentation and/or other *
+ * materials provided with the distribution. *
+ * *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED *
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR *
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS *
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
+ * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
+ *********************************************************************************************************/
+
+/* FreeDiameter's common include file */
+#include <freeDiameter/extension.h>
+
+/* Parse the configuration file */
+int rt_rewrite_conf_handle(char * conffile);
+
+extern struct avp_match *avp_match_start;
+struct avp_match {
+ char *name;
+
+ struct avp_match *next;
+
+ /* either avp_children_list OR avp_target can be used */
+ /* NULL avp_children_list AND NULL avp_target -> drop AVP */
+ struct avp_match *children;
+ struct avp_target *target;
+ int drop;
+};
+
+struct avp_target {
+ char *name;
+
+ struct avp_target *child;
+};
+
+void avp_match_free(struct avp_match *match);