Skip to content

Commit

Permalink
enum: exported functions to kemi framework
Browse files Browse the repository at this point in the history
  • Loading branch information
miconda committed Apr 26, 2017
1 parent 9198e20 commit d697cd5
Show file tree
Hide file tree
Showing 3 changed files with 193 additions and 1 deletion.
95 changes: 95 additions & 0 deletions src/modules/enum/enum.c
Expand Up @@ -429,6 +429,14 @@ int is_from_user_enum_0(struct sip_msg *_msg, char *_str1, char *_str2)
return is_from_user_enum_helper(_msg, &suffix, &service);
}

/**
*
*/
int ki_is_from_user_enum(sip_msg_t *msg)
{
return is_from_user_enum_helper(msg, &suffix, &service);
}

/*
* Call is_from_user_enum_2 with given suffix and default service.
*/
Expand All @@ -444,6 +452,14 @@ int is_from_user_enum_1(struct sip_msg *_msg, char *_suffix, char *_str2)
return is_from_user_enum_helper(_msg, &vsuffix, &service);
}

/**
*
*/
int ki_is_from_user_enum_suffix(sip_msg_t *msg, str *vsuffix)
{
return is_from_user_enum_helper(msg, vsuffix, &service);
}

/*
* Check if from user is a valid enum based user, and check to make sure
* that the src_ip == an srv record that maps to the enum from user.
Expand All @@ -465,6 +481,15 @@ int is_from_user_enum_2(struct sip_msg *_msg, char *_suffix, char *_service)
return is_from_user_enum_helper(_msg, &vsuffix, &vservice);
}

/**
*
*/
int ki_is_from_user_enum_suffix_service(sip_msg_t *msg, str *vsuffix,
str *vservice)
{
return is_from_user_enum_helper(msg, vsuffix, vservice);
}

/*
* Add parameter to URI.
*/
Expand Down Expand Up @@ -734,6 +759,13 @@ int enum_query_0(struct sip_msg *_msg, char *_str1, char *_str2)
return enum_query(_msg, &suffix, &service);
}

/**
*
*/
int ki_enum_query(sip_msg_t *msg)
{
return enum_query(msg, &suffix, &service);
}

/*
* Call enum_query_2 with given suffix and default service.
Expand All @@ -750,6 +782,13 @@ int enum_query_1(struct sip_msg *_msg, char *_suffix, char *_str2)
return enum_query(_msg, &vsuffix, &service);
}

/**
*
*/
int ki_enum_query_suffix(sip_msg_t *msg, str *vsuffix)
{
return enum_query(msg, vsuffix, &service);
}

/*
* Call enum_query_2 with given suffix and service.
Expand All @@ -772,6 +811,13 @@ int enum_query_2(struct sip_msg *_msg, char *_suffix, char *_service)
return enum_query(_msg, &vsuffix, &vservice);
}

/**
*
*/
int ki_enum_query_suffix_service(sip_msg_t *msg, str *vsuffix, str *vservice)
{
return enum_query(msg, vsuffix, vservice);
}

/*
* See documentation in README file.
Expand Down Expand Up @@ -982,6 +1028,14 @@ int i_enum_query_0(struct sip_msg *_msg, char *_suffix, char *_service)
return i_enum_query_helper(_msg, &i_suffix, &service);
}

/**
*
*/
int ki_i_enum_query(sip_msg_t *msg)
{
return i_enum_query_helper(msg, &suffix, &service);
}

/*
* Call enum_query_2 with given suffix and default service.
*/
Expand All @@ -997,6 +1051,14 @@ int i_enum_query_1(struct sip_msg *_msg, char *_suffix, char *_service)
return i_enum_query_helper(_msg, &vsuffix, &service);
}

/**
*
*/
int ki_i_enum_query_suffix(sip_msg_t *msg, str *vsuffix)
{
return i_enum_query_helper(msg, vsuffix, &service);
}

int i_enum_query_2(struct sip_msg *_msg, char *_suffix, char *_service)
{
str vsuffix, vservice;
Expand All @@ -1015,6 +1077,14 @@ int i_enum_query_2(struct sip_msg *_msg, char *_suffix, char *_service)
return i_enum_query_helper(_msg, &vsuffix, &vservice);
}

/**
*
*/
int ki_i_enum_query_suffix_service(sip_msg_t *msg, str *vsuffix, str *vservice)
{
return i_enum_query_helper(msg, vsuffix, vservice);
}

/******************* FQUERY *******************/

/*
Expand Down Expand Up @@ -1167,6 +1237,14 @@ int enum_pv_query_1(sip_msg_t *_msg, char *_sp, char *_p2)
return enum_pv_query_helper(_msg, &ve164, &suffix, &service);
}

/**
*
*/
int ki_enum_pv_query(sip_msg_t *msg, str *ve164)
{
return enum_pv_query_helper(msg, ve164, &suffix, &service);
}

/*
* Call enum_pv_query_3 with pv and suffix args and default service.
*/
Expand All @@ -1187,6 +1265,14 @@ int enum_pv_query_2(sip_msg_t *_msg, char *_sp, char *_suffix)
return enum_pv_query_helper(_msg, &ve164, &vsuffix, &service);
}

/**
*
*/
int ki_enum_pv_query_suffix(sip_msg_t *msg, str *ve164, str *vsuffix)
{
return enum_pv_query_helper(msg, ve164, vsuffix, &service);
}

/*
* See documentation in README file.
*/
Expand All @@ -1211,4 +1297,13 @@ int enum_pv_query_3(sip_msg_t *_msg, char *_sp, char *_suffix, char *_service)
}

return enum_pv_query_helper(_msg, &ve164, &vsuffix, &vservice);
}

/**
*
*/
int ki_enum_pv_query_suffix_service(sip_msg_t *msg, str *ve164, str *vsuffix,
str *vservice)
{
return enum_pv_query_helper(msg, ve164, vsuffix, vservice);
}
17 changes: 17 additions & 0 deletions src/modules/enum/enum.h
Expand Up @@ -73,5 +73,22 @@ int i_enum_query_0(struct sip_msg *_msg, char *_str1, char *_str2);
int i_enum_query_1(struct sip_msg *_msg, char *_suffix, char *_str2);
int i_enum_query_2(struct sip_msg *_msg, char *_suffix, char *_service);

/*
* Exports to Kemi framework.
*/
int ki_is_from_user_enum(sip_msg_t *msg);
int ki_is_from_user_enum_suffix(sip_msg_t *msg, str *vsuffix);
int ki_is_from_user_enum_suffix_service(sip_msg_t *msg, str *vsuffix,
str *vservice);
int ki_enum_query(sip_msg_t *msg);
int ki_enum_query_suffix(sip_msg_t *msg, str *vsuffix);
int ki_enum_query_suffix_service(sip_msg_t *msg, str *vsuffix, str *vservice);
int ki_i_enum_query(sip_msg_t *msg);
int ki_i_enum_query_suffix(sip_msg_t *msg, str *vsuffix);
int ki_i_enum_query_suffix_service(sip_msg_t *msg, str *vsuffix, str *vservice);
int ki_enum_pv_query(sip_msg_t *msg, str *ve164);
int ki_enum_pv_query_suffix(sip_msg_t *msg, str *ve164, str *vsuffix);
int ki_enum_pv_query_suffix_service(sip_msg_t *msg, str *ve164, str *vsuffix,
str *vservice);

#endif /* ENUM_H */
82 changes: 81 additions & 1 deletion src/modules/enum/enum_mod.c
Expand Up @@ -35,6 +35,7 @@
#include "../../core/sr_module.h"
#include "../../core/error.h"
#include "../../core/mod_fix.h"
#include "../../core/kemi.h"
#include "enum.h"

MODULE_VERSION
Expand Down Expand Up @@ -114,4 +115,83 @@ struct module_exports exports = {
0, /* destroy function */
0 /* per-child init function */
};
/* clang-format on */
/* clang-format on */

/**
*
*/
/* clang-format off */
static sr_kemi_t sr_kemi_enum_exports[] = {
{ str_init("enum"), str_init("enum_query"),
SR_KEMIP_INT, ki_enum_query,
{ SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},
{ str_init("enum"), str_init("enum_query_suffix"),
SR_KEMIP_INT, ki_enum_query_suffix,
{ SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},
{ str_init("enum"), str_init("enum_query_suffix_service"),
SR_KEMIP_INT, ki_enum_query_suffix_service,
{ SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},
{ str_init("enum"), str_init("enum_pv_query"),
SR_KEMIP_INT, ki_enum_pv_query,
{ SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},
{ str_init("enum"), str_init("enum_pv_query_suffix"),
SR_KEMIP_INT, ki_enum_pv_query_suffix,
{ SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},
{ str_init("enum"), str_init("enum_pv_query_suffix_service"),
SR_KEMIP_INT, ki_enum_pv_query_suffix_service,
{ SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_STR,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},
{ str_init("enum"), str_init("is_from_user_enum"),
SR_KEMIP_INT, ki_is_from_user_enum,
{ SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},
{ str_init("enum"), str_init("is_from_user_enum_suffix"),
SR_KEMIP_INT, ki_is_from_user_enum_suffix,
{ SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},
{ str_init("enum"), str_init("is_from_user_enum_suffix_service"),
SR_KEMIP_INT, ki_is_from_user_enum_suffix_service,
{ SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},
{ str_init("enum"), str_init("i_enum_query"),
SR_KEMIP_INT, ki_i_enum_query,
{ SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},
{ str_init("enum"), str_init("enum_i_query_suffix"),
SR_KEMIP_INT, ki_i_enum_query_suffix,
{ SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},
{ str_init("enum"), str_init("i_enum_query_suffix_service"),
SR_KEMIP_INT, ki_i_enum_query_suffix_service,
{ SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
},

{ {0, 0}, {0, 0}, 0, NULL, { 0, 0, 0, 0, 0, 0 } }
};
/* clang-format on */

/**
*
*/
int mod_register(char *path, int *dlflags, void *p1, void *p2)
{
sr_kemi_modules_add(sr_kemi_enum_exports);
return 0;
}

0 comments on commit d697cd5

Please sign in to comment.