Files
ocs/plat/xapp/src/roaming_rule.h
2025-03-03 11:01:26 +08:00

45 lines
1.0 KiB
C

#ifndef _ROAMING_RULES_H
#define _ROAMING_RULES_H
#include <sys/types.h>
#define MAX_RULES 2048
#define MAX_PREFIX_LEN 16
#define PLMN_NOT_ALLOWED 8
#define UNEXPECTED_DATA_VALUE 36
typedef enum RR_NVCS
{
NO_NVCS_DISABLE,
NO_NVCS_LU_ONLY, /* Only LU is allowed, no MO service */
NO_NVCS_BOTH, /* Both LU and MO service */
}_RR_NVCS;
typedef struct roaming_rule
{
u_char used_flag;
u_short id;
char prefix[MAX_PREFIX_LEN];
u_char lu_action;
u_char reject_cause;
int vlr_counter;
char no_voice_camel;
char no_sms_camel;
char smsc_camel_if;
char routing_home;
}_roaming_rule;
typedef struct roaming_rule_table
{
_roaming_rule roaming_rule[MAX_RULES];
}_roaming_rule_table;
int snmpSetRoamingRule(u_char oidlen,u_long *oid,u_char *pdata,u_short datalen);
int snmpGetRoamingRule(u_char oidlen,u_long *oid,u_char *pdata,u_char *vartype);
int xapGetRoamingRule(_roaming_rule *rr_ptr);
int xapGetSMSCamelFlag(char *vlr_number);
int saveRoamingRule();
#endif