4 ssize_t encode_RIC_subscription_request(RICsubscriptionRequest_t* pdu, void* buffer, size_t buf_size)
6 asn_enc_rval_t encode_result;
7 encode_result = aper_encode_to_buffer(&asn_DEF_RICsubscriptionRequest, NULL, pdu, buffer, buf_size);
8 if(encode_result.encoded == -1) {
11 return encode_result.encoded;
14 RICsubscriptionRequest_t* decode_RIC_subscription_request(const void *buffer, size_t buf_size)
16 asn_dec_rval_t decode_result;
17 RICsubscriptionRequest_t *pdu = 0;
18 decode_result = aper_decode_complete(NULL, &asn_DEF_RICsubscriptionRequest, (void **)&pdu, buffer, buf_size);
19 if(decode_result.code == RC_OK) {
22 ASN_STRUCT_FREE(asn_DEF_RICsubscriptionRequest, pdu);
27 long e2ap_get_ric_subscription_request_sequence_number(void *buffer, size_t buf_size)
29 RICsubscriptionRequest_t *pdu = decode_RIC_subscription_request(buffer, buf_size);
32 for (int i = 0; i < pdu->protocolIEs.list.count; ++i )
34 if ( pdu->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RICrequestID )
36 return pdu->protocolIEs.list.array[i]->value.choice.RICrequestID.ricRequestSequenceNumber;
43 ssize_t e2ap_set_ric_subscription_request_sequence_number(void *buffer, size_t buf_size, long sequence_number)
45 RICsubscriptionRequest_t *pdu = decode_RIC_subscription_request(buffer, buf_size);
48 for (int i = 0; i < pdu->protocolIEs.list.count; ++i )
50 if ( pdu->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RICrequestID )
52 pdu->protocolIEs.list.array[i]->value.choice.RICrequestID.ricRequestSequenceNumber = sequence_number;
53 return encode_RIC_subscription_request(pdu, buffer, buf_size);
60 /* RICsubscriptionResponse */
61 ssize_t encode_RIC_subscription_response(RICsubscriptionResponse_t* pdu, void* buffer, size_t buf_size)
63 asn_enc_rval_t encode_result;
64 encode_result = aper_encode_to_buffer(&asn_DEF_RICsubscriptionResponse, NULL, pdu, buffer, buf_size);
65 if(encode_result.encoded == -1) {
68 return encode_result.encoded;
71 RICsubscriptionResponse_t* decode_RIC_subscription_response(const void *buffer, size_t buf_size)
73 asn_dec_rval_t decode_result;
74 RICsubscriptionResponse_t *pdu = 0;
75 decode_result = aper_decode_complete(NULL, &asn_DEF_RICsubscriptionResponse, (void **)&pdu, buffer, buf_size);
76 if(decode_result.code == RC_OK) {
77 fprintf(stdout, "decoded bytes: %ld\n", decode_result.consumed);
80 ASN_STRUCT_FREE(asn_DEF_RICsubscriptionResponse, pdu);
85 long e2ap_get_ric_subscription_response_sequence_number(void *buffer, size_t buf_size)
87 RICsubscriptionResponse_t *pdu = decode_RIC_subscription_response(buffer, buf_size);
90 for (int i = 0; i < pdu->protocolIEs.list.count; ++i )
92 if ( pdu->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RICrequestID )
94 return pdu->protocolIEs.list.array[i]->value.choice.RICrequestID.ricRequestSequenceNumber;
101 ssize_t e2ap_set_ric_subscription_response_sequence_number(void *buffer, size_t buf_size, long sequence_number)
103 RICsubscriptionResponse_t *pdu = decode_RIC_subscription_response(buffer, buf_size);
106 for (int i = 0; i < pdu->protocolIEs.list.count; ++i )
108 if ( pdu->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RICrequestID )
110 pdu->protocolIEs.list.array[i]->value.choice.RICrequestID.ricRequestSequenceNumber = sequence_number;
111 return encode_RIC_subscription_response(pdu, buffer, buf_size);
118 /* RICsubscriptionDeleteRequest */
119 ssize_t encode_RIC_subscription_delete_request(RICsubscriptionDeleteRequest_t* pdu, void* buffer, size_t buf_size)
121 asn_enc_rval_t encode_result;
122 encode_result = aper_encode_to_buffer(&asn_DEF_RICsubscriptionDeleteRequest, NULL, pdu, buffer, buf_size);
123 if(encode_result.encoded == -1) {
126 return encode_result.encoded;
129 RICsubscriptionDeleteRequest_t* decode_RIC_subscription_delete_request(const void *buffer, size_t buf_size)
131 asn_dec_rval_t decode_result;
132 RICsubscriptionDeleteRequest_t *pdu = 0;
133 decode_result = aper_decode_complete(NULL, &asn_DEF_RICsubscriptionDeleteRequest, (void **)&pdu, buffer, buf_size);
134 if(decode_result.code == RC_OK) {
137 ASN_STRUCT_FREE(asn_DEF_RICsubscriptionDeleteRequest, pdu);
142 long e2ap_get_ric_subscription_delete_request_sequence_number(void *buffer, size_t buf_size)
144 RICsubscriptionDeleteRequest_t *pdu = decode_RIC_subscription_delete_request(buffer, buf_size);
147 for (int i = 0; i < pdu->protocolIEs.list.count; ++i )
150 if ( pdu->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RICrequestID )
152 return pdu->protocolIEs.list.array[i]->value.choice.RICrequestID.ricRequestSequenceNumber;
159 ssize_t e2ap_set_ric_subscription_delete_request_sequence_number(void *buffer, size_t buf_size, long sequence_number)
161 RICsubscriptionDeleteRequest_t *pdu = decode_RIC_subscription_delete_request(buffer, buf_size);
164 for (int i = 0; i < pdu->protocolIEs.list.count; ++i )
167 if ( pdu->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RICrequestID )
169 pdu->protocolIEs.list.array[i]->value.choice.RICrequestID.ricRequestSequenceNumber = sequence_number;
170 return encode_RIC_subscription_delete_request(pdu, buffer, buf_size);
177 /* RICsubscriptionDeleteResponse */
178 ssize_t encode_RIC_subscription_delete_response(RICsubscriptionDeleteResponse_t* pdu, void* buffer, size_t buf_size)
180 asn_enc_rval_t encode_result;
181 encode_result = aper_encode_to_buffer(&asn_DEF_RICsubscriptionDeleteResponse, NULL, pdu, buffer, buf_size);
182 if(encode_result.encoded == -1) {
185 return encode_result.encoded;
188 RICsubscriptionDeleteResponse_t* decode_RIC_subscription_delete_response(const void *buffer, size_t buf_size)
190 asn_dec_rval_t decode_result;
191 RICsubscriptionDeleteResponse_t *pdu = 0;
192 decode_result = aper_decode_complete(NULL, &asn_DEF_RICsubscriptionDeleteResponse, (void **)&pdu, buffer, buf_size);
193 if(decode_result.code == RC_OK) {
194 fprintf(stdout, "decoded bytes: %ld\n", decode_result.consumed);
197 ASN_STRUCT_FREE(asn_DEF_RICsubscriptionDeleteResponse, pdu);
202 long e2ap_get_ric_subscription_delete_response_sequence_number(void *buffer, size_t buf_size)
204 RICsubscriptionDeleteResponse_t *pdu = decode_RIC_subscription_delete_response(buffer, buf_size);
207 for (int i = 0; i < pdu->protocolIEs.list.count; ++i )
209 if ( pdu->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RICrequestID )
212 return pdu->protocolIEs.list.array[i]->value.choice.RICrequestID.ricRequestSequenceNumber;
219 ssize_t e2ap_set_ric_subscription_delete_response_sequence_number(void *buffer, size_t buf_size, long sequence_number)
221 RICsubscriptionDeleteResponse_t *pdu = decode_RIC_subscription_delete_response(buffer, buf_size);
224 for (int i = 0; i < pdu->protocolIEs.list.count; ++i )
226 if ( pdu->protocolIEs.list.array[i]->id == ProtocolIE_ID_id_RICrequestID )
229 pdu->protocolIEs.list.array[i]->value.choice.RICrequestID.ricRequestSequenceNumber = sequence_number;
230 return encode_RIC_subscription_delete_response(pdu, buffer, buf_size);