diff --git a/radio/1.6/types.hal b/radio/1.6/types.hal index 3e49cfdf5f..c7564ce4af 100644 --- a/radio/1.6/types.hal +++ b/radio/1.6/types.hal @@ -878,6 +878,11 @@ struct SliceInfo { * see: 3GPP TS 24.501 Section 9.11.2.8. */ int32_t mappedHplmnSD; + + /** + * Field to indicate the current status of the slice. + */ + SliceStatus status; }; /** @@ -984,9 +989,9 @@ struct SlicingConfig { */ vec urspRules; /** - * Struct containing all NSSAIs (list of slice info). + * List of all slices. */ - Nssais nssais; + vec sliceInfo; }; /** @@ -1009,7 +1014,6 @@ struct UrspRule { vec routeSelectionDescriptor; }; - /** * This struct represents a single route selection descriptor as defined in * 3GPP TS 24.526. @@ -1065,47 +1069,13 @@ safe_union OptionalSscMode { SscMode value; }; -/** - * This struct contains all NSSAIs (lists of slices). - */ -struct Nssais { - /** - * These are all the slices configured by the network. This includes allowed - * and rejected slices, as well as slices that are neither allowed nor rejected - * yet. Empty vector indicates that no slices are configured, and in that case - * allowed and rejected vectors must be empty as well. - */ - vec configured; - /** - * These are all the slices that the UE is allowed to use. All these slices - * must be configured as well. Empty vector indicates that no slices are - * allowed yet. - */ - vec allowed; - /** - * These are all the slices that the UE is not allowed to use. All these slices - * must be configured as well. Empty vector indicates that no slices are - * rejected yet. - */ - vec rejected; - /** - * Default configured NSSAI - */ - vec defaultConfigured; -}; - -/** - * This struct represents a network slice rejected by the network. It contains a - * rejectionCause corresponding to a rejected network slice. - */ -struct RejectedSliceInfo { - SliceInfo sliceInfo; - SliceRejectionCause rejectionCause; -}; - -enum SliceRejectionCause : int32_t { - NOT_AVAILABLE_IN_PLMN, - NOT_AVAILABLE_IN_REG_AREA, +enum SliceStatus : int32_t { + UNKNOWN, + CONFIGURED, // Configured but not allowed or rejected yet + ALLOWED, // Allowed to be used + REJECTED_NOT_AVAILABLE_IN_PLMN, // Rejected because not available in PLMN + REJECTED_NOT_AVAILABLE_IN_REG_AREA, // Rejected because not available in reg area + DEFAULT_CONFIGURED, // Considered valid when configured/allowed slices are not available }; /**