# ******************************************************************************* # * Copyright 2020 Samsung Electronics All Rights Reserved. # * # * Licensed under the Apache License, Version 2.0 (the "License"); # * you may not use this file except in compliance with the License. # * You may obtain a copy of the License at # * # * http://www.apache.org/licenses/LICENSE-2.0 # * # * Unless required by applicable law or agreed to in writing, software # * distributed under the License is distributed on an "AS IS" BASIS, # * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # * See the License for the specific language governing permissions and # * limitations under the License. # * # ******************************************************************************* from ctypes import POINTER, Structure from ctypes import c_long, c_size_t, c_int, c_uint8 class indication_msg_t(Structure): """ A class that mirrored E2AP's RICIndicationMessage with python c-type struct of RICIndicationMessage --------------------------------------- typedef struct RICindicationMessage { long requestorID; long requestSequenceNumber; long ranfunctionID; long actionID; long indicationSN; long indicationType; uint8_t *indicationHeader; size_t indicationHeaderSize; uint8_t *indicationMessage; size_t indicationMessageSize; uint8_t *callProcessID; size_t callProcessIDSize; } RICindicationMsg; --------------------------------------- """ _fields_ = [ ("request_id", c_long), ("request_sequence_number", c_long), ("function_id", c_long), ("action_id", c_long), ("indication_sequence_number", c_long), ("indication_type", c_long), ("indication_header", POINTER(c_uint8)), ("indication_header_length", c_size_t), ("indication_message", POINTER(c_uint8)), ("indication_message_length", c_size_t), ("call_process_id", POINTER(c_uint8)), ("call_process_id_length", c_size_t), ] class causeItem_msg_t(Structure): """ A class that mirrored E2AP's RICcauseItem with python c-type struct of RICcauseItem ----------------------------- typedef struct RICcauseItem { int ricCauseType; long ricCauseID; } RICcauseItem; ----------------------------- """ _fields_ = [ ("cause_type", c_int), ("cause_id", c_long), ] class actionAdmittedList_msg_t(Structure): """ A class that mirrored E2AP's RICactionAdmittedList with python c-type struct of RICactionAdmittedList -------------------------------------- typedef struct RICactionAdmittedList { long ricActionID[16]; int count; } RICactionAdmittedList; -------------------------------------- """ _fields_ = [ ("request_id", c_long * 16), ("count", c_int), ] class actionNotAdmittedList_msg_t(Structure): """ A class that mirrored E2AP's RICactionNotAdmittedList with python c-type struct of RICactionNotAdmittedList ------------------------------------------------------- typedef struct RICactionNotAdmittedList { long ricActionID[16]; RICcauseItem ricCause[16]; int count; } RICactionNotAdmittedList; ------------------------------------------------------- """ _fields_ = [ ("request_id", c_long * 16), ("cause", causeItem_msg_t * 16), ("count", c_int), ] class subResp_msg_t(Structure): """ A class that mirrored E2AP's subscriptionResponseMessage with python c-type struct of subscriptionResponseMessage ------------------------------------------------------- typedef struct RICsubscriptionResponseMessage { long requestorID; long requestSequenceNumber; long ranfunctionID; RICactionAdmittedList ricActionAdmittedList; RICactionNotAdmittedList ricActionNotAdmittedList; } RICsubscriptionResponseMsg; ------------------------------------------------------- """ _fields_ = [ ("request_id", c_long), ("request_sequence_number", c_long), ("function_id", c_long), ("action_admitted_list", actionAdmittedList_msg_t), ("action_not_admitted_list", actionNotAdmittedList_msg_t), ] class ric_action_definition_t(Structure): """ A class that mirrored E2AP's RICactionDefinition with python c-type struct of RICactionDefinition ------------------------------------------------------- typedef struct RICactionDefinition { uint8_t *actionDefinition; int size; } RICactionDefinition; ------------------------------------------------------- """ _fields_ = [ ("action_definition", POINTER(c_uint8)), ("size", c_int), ] class ric_subsequent_action_t(Structure): """ A class that mirrored E2AP's RICSubsequentAction with python c-type struct of RICSubsequentAction ------------------------------------------------------- typedef struct RICSubsequentAction { int isValid; long subsequentActionType; long timeToWait; } RICSubsequentAction; ------------------------------------------------------- """ _fields_ = [ ("is_valid", c_int), ("subsequent_action_type", c_long), ("time_to_wait", c_long), ]