open5gs/lib/sbi/openapi/model/policy_association_request.h

112 lines
3.7 KiB
C

/*
* policy_association_request.h
*
* Information which the NF service consumer provides when requesting the creation of a policy association. The serviveName property corresponds to the serviceName in the main body of the specification.
*/
#ifndef _OpenAPI_policy_association_request_H_
#define _OpenAPI_policy_association_request_H_
#include <string.h>
#include "../external/cJSON.h"
#include "../include/list.h"
#include "../include/keyValuePair.h"
#include "../include/binary.h"
#include "access_type.h"
#include "ambr.h"
#include "guami.h"
#include "mapping_of_snssai.h"
#include "nwdaf_data.h"
#include "plmn_id_nid.h"
#include "rat_type.h"
#include "service_area_restriction.h"
#include "snssai.h"
#include "trace_data.h"
#include "ue_slice_mbr.h"
#include "user_location.h"
#include "wireline_service_area_restriction.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct OpenAPI_policy_association_request_s OpenAPI_policy_association_request_t;
typedef struct OpenAPI_policy_association_request_s {
char *notification_uri;
OpenAPI_list_t *alt_notif_ipv4_addrs;
OpenAPI_list_t *alt_notif_ipv6_addrs;
OpenAPI_list_t *alt_notif_fqdns;
char *supi;
char *gpsi;
OpenAPI_access_type_e access_type;
OpenAPI_list_t *access_types;
char *pei;
struct OpenAPI_user_location_s *user_loc;
char *time_zone;
struct OpenAPI_plmn_id_nid_s *serving_plmn;
OpenAPI_rat_type_e rat_type;
OpenAPI_list_t *rat_types;
OpenAPI_list_t *group_ids;
struct OpenAPI_service_area_restriction_s *serv_area_res;
struct OpenAPI_wireline_service_area_restriction_s *wl_serv_area_res;
bool is_rfsp;
int rfsp;
struct OpenAPI_ambr_s *ue_ambr;
OpenAPI_list_t *ue_slice_mbrs;
OpenAPI_list_t *allowed_snssais;
OpenAPI_list_t *target_snssais;
OpenAPI_list_t *mapping_snssais;
OpenAPI_list_t *n3g_allowed_snssais;
struct OpenAPI_guami_s *guami;
char *service_name;
bool is_trace_req_null;
struct OpenAPI_trace_data_s *trace_req;
OpenAPI_list_t *nwdaf_datas;
char *supp_feat;
} OpenAPI_policy_association_request_t;
OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_create(
char *notification_uri,
OpenAPI_list_t *alt_notif_ipv4_addrs,
OpenAPI_list_t *alt_notif_ipv6_addrs,
OpenAPI_list_t *alt_notif_fqdns,
char *supi,
char *gpsi,
OpenAPI_access_type_e access_type,
OpenAPI_list_t *access_types,
char *pei,
OpenAPI_user_location_t *user_loc,
char *time_zone,
OpenAPI_plmn_id_nid_t *serving_plmn,
OpenAPI_rat_type_e rat_type,
OpenAPI_list_t *rat_types,
OpenAPI_list_t *group_ids,
OpenAPI_service_area_restriction_t *serv_area_res,
OpenAPI_wireline_service_area_restriction_t *wl_serv_area_res,
bool is_rfsp,
int rfsp,
OpenAPI_ambr_t *ue_ambr,
OpenAPI_list_t *ue_slice_mbrs,
OpenAPI_list_t *allowed_snssais,
OpenAPI_list_t *target_snssais,
OpenAPI_list_t *mapping_snssais,
OpenAPI_list_t *n3g_allowed_snssais,
OpenAPI_guami_t *guami,
char *service_name,
bool is_trace_req_null,
OpenAPI_trace_data_t *trace_req,
OpenAPI_list_t *nwdaf_datas,
char *supp_feat
);
void OpenAPI_policy_association_request_free(OpenAPI_policy_association_request_t *policy_association_request);
OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_parseFromJSON(cJSON *policy_association_requestJSON);
cJSON *OpenAPI_policy_association_request_convertToJSON(OpenAPI_policy_association_request_t *policy_association_request);
OpenAPI_policy_association_request_t *OpenAPI_policy_association_request_copy(OpenAPI_policy_association_request_t *dst, OpenAPI_policy_association_request_t *src);
#ifdef __cplusplus
}
#endif
#endif /* _OpenAPI_policy_association_request_H_ */