open5gs/lib/sbi/openapi/model/nf_profile.h
Sukchan Lee 9af4268bab arch: DB schema Changes (#796)
- New function : NSSF
- New feature : SMF selection
2021-03-08 21:25:09 +09:00

198 lines
6 KiB
C

/*
* nf_profile.h
*
* Information of an NF Instance registered in the NRF
*/
#ifndef _OpenAPI_nf_profile_H_
#define _OpenAPI_nf_profile_H_
#include <string.h>
#include "../external/cJSON.h"
#include "../include/list.h"
#include "../include/keyValuePair.h"
#include "../include/binary.h"
#include "amf_info.h"
#include "ausf_info.h"
#include "bsf_info.h"
#include "chf_info.h"
#include "default_notification_subscription.h"
#include "ext_snssai.h"
#include "gmlc_info.h"
#include "hss_info.h"
#include "lmf_info.h"
#include "nef_info.h"
#include "nf_service.h"
#include "nf_status.h"
#include "nf_type.h"
#include "nrf_info.h"
#include "nwdaf_info.h"
#include "object.h"
#include "pcf_info.h"
#include "pcscf_info.h"
#include "plmn_id.h"
#include "plmn_id_nid.h"
#include "plmn_snssai.h"
#include "scp_info.h"
#include "smf_info.h"
#include "udm_info.h"
#include "udr_info.h"
#include "udsf_info.h"
#include "upf_info.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct OpenAPI_nf_profile_s OpenAPI_nf_profile_t;
typedef struct OpenAPI_nf_profile_s {
char *nf_instance_id;
char *nf_instance_name;
OpenAPI_nf_type_e nf_type;
OpenAPI_nf_status_e nf_status;
int heart_beat_timer;
OpenAPI_list_t *plmn_list;
OpenAPI_list_t *snpn_list;
OpenAPI_list_t *s_nssais;
OpenAPI_list_t *per_plmn_snssai_list;
OpenAPI_list_t *nsi_list;
char *fqdn;
char *inter_plmn_fqdn;
OpenAPI_list_t *ipv4_addresses;
OpenAPI_list_t *ipv6_addresses;
OpenAPI_list_t *allowed_plmns;
OpenAPI_list_t *allowed_snpns;
OpenAPI_list_t *allowed_nf_types;
OpenAPI_list_t *allowed_nf_domains;
OpenAPI_list_t *allowed_nssais;
int priority;
int capacity;
int load;
char *load_time_stamp;
char *locality;
struct OpenAPI_udr_info_s *udr_info;
OpenAPI_list_t* udr_info_list;
struct OpenAPI_udm_info_s *udm_info;
OpenAPI_list_t* udm_info_list;
struct OpenAPI_ausf_info_s *ausf_info;
OpenAPI_list_t* ausf_info_list;
struct OpenAPI_amf_info_s *amf_info;
OpenAPI_list_t* amf_info_list;
struct OpenAPI_smf_info_s *smf_info;
OpenAPI_list_t* smf_info_list;
struct OpenAPI_upf_info_s *upf_info;
OpenAPI_list_t* upf_info_list;
struct OpenAPI_pcf_info_s *pcf_info;
OpenAPI_list_t* pcf_info_list;
struct OpenAPI_bsf_info_s *bsf_info;
OpenAPI_list_t* bsf_info_list;
struct OpenAPI_chf_info_s *chf_info;
OpenAPI_list_t* chf_info_list;
struct OpenAPI_nef_info_s *nef_info;
struct OpenAPI_nrf_info_s *nrf_info;
struct OpenAPI_udsf_info_s *udsf_info;
OpenAPI_list_t* udsf_info_list;
struct OpenAPI_nwdaf_info_s *nwdaf_info;
OpenAPI_list_t* pcscf_info_list;
OpenAPI_list_t* hss_info_list;
OpenAPI_object_t *custom_info;
char *recovery_time;
int nf_service_persistence;
OpenAPI_list_t *nf_services;
OpenAPI_list_t* nf_service_list;
int nf_profile_changes_support_ind;
int nf_profile_changes_ind;
OpenAPI_list_t *default_notification_subscriptions;
struct OpenAPI_lmf_info_s *lmf_info;
struct OpenAPI_gmlc_info_s *gmlc_info;
OpenAPI_list_t *nf_set_id_list;
OpenAPI_list_t *serving_scope;
int lc_h_support_ind;
int olc_h_support_ind;
OpenAPI_list_t* nf_set_recovery_time_list;
OpenAPI_list_t* service_set_recovery_time_list;
OpenAPI_list_t *scp_domains;
struct OpenAPI_scp_info_s *scp_info;
} OpenAPI_nf_profile_t;
OpenAPI_nf_profile_t *OpenAPI_nf_profile_create(
char *nf_instance_id,
char *nf_instance_name,
OpenAPI_nf_type_e nf_type,
OpenAPI_nf_status_e nf_status,
int heart_beat_timer,
OpenAPI_list_t *plmn_list,
OpenAPI_list_t *snpn_list,
OpenAPI_list_t *s_nssais,
OpenAPI_list_t *per_plmn_snssai_list,
OpenAPI_list_t *nsi_list,
char *fqdn,
char *inter_plmn_fqdn,
OpenAPI_list_t *ipv4_addresses,
OpenAPI_list_t *ipv6_addresses,
OpenAPI_list_t *allowed_plmns,
OpenAPI_list_t *allowed_snpns,
OpenAPI_list_t *allowed_nf_types,
OpenAPI_list_t *allowed_nf_domains,
OpenAPI_list_t *allowed_nssais,
int priority,
int capacity,
int load,
char *load_time_stamp,
char *locality,
OpenAPI_udr_info_t *udr_info,
OpenAPI_list_t* udr_info_list,
OpenAPI_udm_info_t *udm_info,
OpenAPI_list_t* udm_info_list,
OpenAPI_ausf_info_t *ausf_info,
OpenAPI_list_t* ausf_info_list,
OpenAPI_amf_info_t *amf_info,
OpenAPI_list_t* amf_info_list,
OpenAPI_smf_info_t *smf_info,
OpenAPI_list_t* smf_info_list,
OpenAPI_upf_info_t *upf_info,
OpenAPI_list_t* upf_info_list,
OpenAPI_pcf_info_t *pcf_info,
OpenAPI_list_t* pcf_info_list,
OpenAPI_bsf_info_t *bsf_info,
OpenAPI_list_t* bsf_info_list,
OpenAPI_chf_info_t *chf_info,
OpenAPI_list_t* chf_info_list,
OpenAPI_nef_info_t *nef_info,
OpenAPI_nrf_info_t *nrf_info,
OpenAPI_udsf_info_t *udsf_info,
OpenAPI_list_t* udsf_info_list,
OpenAPI_nwdaf_info_t *nwdaf_info,
OpenAPI_list_t* pcscf_info_list,
OpenAPI_list_t* hss_info_list,
OpenAPI_object_t *custom_info,
char *recovery_time,
int nf_service_persistence,
OpenAPI_list_t *nf_services,
OpenAPI_list_t* nf_service_list,
int nf_profile_changes_support_ind,
int nf_profile_changes_ind,
OpenAPI_list_t *default_notification_subscriptions,
OpenAPI_lmf_info_t *lmf_info,
OpenAPI_gmlc_info_t *gmlc_info,
OpenAPI_list_t *nf_set_id_list,
OpenAPI_list_t *serving_scope,
int lc_h_support_ind,
int olc_h_support_ind,
OpenAPI_list_t* nf_set_recovery_time_list,
OpenAPI_list_t* service_set_recovery_time_list,
OpenAPI_list_t *scp_domains,
OpenAPI_scp_info_t *scp_info
);
void OpenAPI_nf_profile_free(OpenAPI_nf_profile_t *nf_profile);
OpenAPI_nf_profile_t *OpenAPI_nf_profile_parseFromJSON(cJSON *nf_profileJSON);
cJSON *OpenAPI_nf_profile_convertToJSON(OpenAPI_nf_profile_t *nf_profile);
OpenAPI_nf_profile_t *OpenAPI_nf_profile_copy(OpenAPI_nf_profile_t *dst, OpenAPI_nf_profile_t *src);
#ifdef __cplusplus
}
#endif
#endif /* _OpenAPI_nf_profile_H_ */