a445696ff64892ed9bb6702f0b16785cdacc55a0
[sip-router] / modparam.c
1 #include "modparam.h"
2 #include "dprint.h"
3 #include <string.h>
4
5
6 int set_mod_param(char* _mod, char* _name, modparam_t _type, void* _val)
7 {
8         void* ptr;
9         
10         if (!_mod) {
11                 LOG(L_ERR, "set_mod_param(): Invalid _mod parameter value\n");
12                 return -1;
13         }
14
15         if (!_name) {
16                 LOG(L_ERR, "set_mod_param(): Invalid _name parameter value\n");
17                 return -2;
18         }
19
20         ptr = find_param_export(_mod, _name, _type);
21         if (!ptr) {
22                 LOG(L_ERR, "set_mod_param(): Parameter not found\n");
23                 return -3;
24         }
25
26         switch(_type) {
27         case STR_PARAM:
28                 *((char**)ptr) = strdup((char*)_val);
29                 break;
30
31         case INT_PARAM:
32                 *((int*)ptr) = (int)_val;
33                 break;
34         }
35
36         return 0;
37 }