forked from acouzens/open5gs
148 lines
4.4 KiB
C
148 lines
4.4 KiB
C
/*
|
|
* media_component.h
|
|
*
|
|
* Identifies a media component.
|
|
*/
|
|
|
|
#ifndef _OpenAPI_media_component_H_
|
|
#define _OpenAPI_media_component_H_
|
|
|
|
#include <string.h>
|
|
#include "../external/cJSON.h"
|
|
#include "../include/list.h"
|
|
#include "../include/keyValuePair.h"
|
|
#include "../include/binary.h"
|
|
#include "af_routing_requirement.h"
|
|
#include "alternative_service_requirements_data.h"
|
|
#include "flow_status.h"
|
|
#include "media_sub_component.h"
|
|
#include "media_type.h"
|
|
#include "preemption_capability.h"
|
|
#include "preemption_vulnerability.h"
|
|
#include "priority_sharing_indicator.h"
|
|
#include "reserv_priority.h"
|
|
#include "tscai_input_container.h"
|
|
#include "tsn_qos_container.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct OpenAPI_media_component_s OpenAPI_media_component_t;
|
|
typedef struct OpenAPI_media_component_s {
|
|
char *af_app_id;
|
|
struct OpenAPI_af_routing_requirement_s *af_rout_req;
|
|
char *qos_reference;
|
|
bool is_dis_ue_notif;
|
|
int dis_ue_notif;
|
|
OpenAPI_list_t *alt_ser_reqs;
|
|
OpenAPI_list_t *alt_ser_reqs_data;
|
|
bool is_cont_ver;
|
|
int cont_ver;
|
|
OpenAPI_list_t *codecs;
|
|
bool is_des_max_latency;
|
|
float des_max_latency;
|
|
bool is_des_max_loss;
|
|
float des_max_loss;
|
|
char *flus_id;
|
|
OpenAPI_flow_status_e f_status;
|
|
char *mar_bw_dl;
|
|
char *mar_bw_ul;
|
|
bool is_max_packet_loss_rate_dl_null;
|
|
bool is_max_packet_loss_rate_dl;
|
|
int max_packet_loss_rate_dl;
|
|
bool is_max_packet_loss_rate_ul_null;
|
|
bool is_max_packet_loss_rate_ul;
|
|
int max_packet_loss_rate_ul;
|
|
char *max_supp_bw_dl;
|
|
char *max_supp_bw_ul;
|
|
int med_comp_n;
|
|
OpenAPI_list_t* med_sub_comps;
|
|
OpenAPI_media_type_e med_type;
|
|
char *min_des_bw_dl;
|
|
char *min_des_bw_ul;
|
|
char *mir_bw_dl;
|
|
char *mir_bw_ul;
|
|
OpenAPI_preemption_capability_e preempt_cap;
|
|
OpenAPI_preemption_vulnerability_e preempt_vuln;
|
|
OpenAPI_priority_sharing_indicator_e prio_sharing_ind;
|
|
OpenAPI_reserv_priority_e res_prio;
|
|
char *rr_bw;
|
|
char *rs_bw;
|
|
bool is_sharing_key_dl;
|
|
int sharing_key_dl;
|
|
bool is_sharing_key_ul;
|
|
int sharing_key_ul;
|
|
struct OpenAPI_tsn_qos_container_s *tsn_qos;
|
|
bool is_tscai_input_dl_null;
|
|
struct OpenAPI_tscai_input_container_s *tscai_input_dl;
|
|
bool is_tscai_input_ul_null;
|
|
struct OpenAPI_tscai_input_container_s *tscai_input_ul;
|
|
bool is_tscai_time_dom;
|
|
int tscai_time_dom;
|
|
} OpenAPI_media_component_t;
|
|
|
|
OpenAPI_media_component_t *OpenAPI_media_component_create(
|
|
char *af_app_id,
|
|
OpenAPI_af_routing_requirement_t *af_rout_req,
|
|
char *qos_reference,
|
|
bool is_dis_ue_notif,
|
|
int dis_ue_notif,
|
|
OpenAPI_list_t *alt_ser_reqs,
|
|
OpenAPI_list_t *alt_ser_reqs_data,
|
|
bool is_cont_ver,
|
|
int cont_ver,
|
|
OpenAPI_list_t *codecs,
|
|
bool is_des_max_latency,
|
|
float des_max_latency,
|
|
bool is_des_max_loss,
|
|
float des_max_loss,
|
|
char *flus_id,
|
|
OpenAPI_flow_status_e f_status,
|
|
char *mar_bw_dl,
|
|
char *mar_bw_ul,
|
|
bool is_max_packet_loss_rate_dl_null,
|
|
bool is_max_packet_loss_rate_dl,
|
|
int max_packet_loss_rate_dl,
|
|
bool is_max_packet_loss_rate_ul_null,
|
|
bool is_max_packet_loss_rate_ul,
|
|
int max_packet_loss_rate_ul,
|
|
char *max_supp_bw_dl,
|
|
char *max_supp_bw_ul,
|
|
int med_comp_n,
|
|
OpenAPI_list_t* med_sub_comps,
|
|
OpenAPI_media_type_e med_type,
|
|
char *min_des_bw_dl,
|
|
char *min_des_bw_ul,
|
|
char *mir_bw_dl,
|
|
char *mir_bw_ul,
|
|
OpenAPI_preemption_capability_e preempt_cap,
|
|
OpenAPI_preemption_vulnerability_e preempt_vuln,
|
|
OpenAPI_priority_sharing_indicator_e prio_sharing_ind,
|
|
OpenAPI_reserv_priority_e res_prio,
|
|
char *rr_bw,
|
|
char *rs_bw,
|
|
bool is_sharing_key_dl,
|
|
int sharing_key_dl,
|
|
bool is_sharing_key_ul,
|
|
int sharing_key_ul,
|
|
OpenAPI_tsn_qos_container_t *tsn_qos,
|
|
bool is_tscai_input_dl_null,
|
|
OpenAPI_tscai_input_container_t *tscai_input_dl,
|
|
bool is_tscai_input_ul_null,
|
|
OpenAPI_tscai_input_container_t *tscai_input_ul,
|
|
bool is_tscai_time_dom,
|
|
int tscai_time_dom
|
|
);
|
|
void OpenAPI_media_component_free(OpenAPI_media_component_t *media_component);
|
|
OpenAPI_media_component_t *OpenAPI_media_component_parseFromJSON(cJSON *media_componentJSON);
|
|
cJSON *OpenAPI_media_component_convertToJSON(OpenAPI_media_component_t *media_component);
|
|
OpenAPI_media_component_t *OpenAPI_media_component_copy(OpenAPI_media_component_t *dst, OpenAPI_media_component_t *src);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _OpenAPI_media_component_H_ */
|
|
|