static void verify(int testNo, T_t *ti) { asn_enc_rval_t er; asn_dec_rval_t rv; unsigned char buf[16]; T_t *to = 0; fprintf(stderr, "%d IN: { %ld, %ld, %lu, %lu }\n", testNo, ti->small32range, ti->full32range, ti->unsigned32, ti->unsplit32); er = uper_encode_to_buffer(&asn_DEF_T, ti, buf, sizeof buf); assert(er.encoded == 8 * sizeof(buf)); rv = uper_decode(0, &asn_DEF_T, (void *)&to, buf, sizeof buf, 0, 0); assert(rv.code == RC_OK); fprintf(stderr, "%d ENC: %2x%2x%2x%2x %2x%2x%2x%2x\n", testNo, buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6], buf[7]); fprintf(stderr, "%d OUT: { %ld, %ld, %lu, %lu } vs { %ld, %ld, %lu, %lu }\n", testNo, ti->small32range, ti->full32range, ti->unsigned32, ti->unsplit32, to->small32range, to->full32range, to->unsigned32, to->unsplit32); assert(ti->small32range == to->small32range); assert(ti->full32range == to->full32range); assert(ti->unsigned32 == to->unsigned32); assert(ti->unsplit32 == to->unsplit32); xer_fprint(stderr, &asn_DEF_T, ti); xer_fprint(stderr, &asn_DEF_T, to); }
static void verify(int testNo, T_t *ti) { asn_enc_rval_t er; asn_dec_rval_t rv; unsigned char buf[20]; T_t *to = 0; fprintf(stderr, "%d IN: { %lu, %lu, %ld, %ld }\n", testNo, i2ul(&ti->unsigned33), i2ul(&ti->unsigned42), i2l(&ti->signed33), i2l(&ti->signed33ext) ); er = uper_encode_to_buffer(&asn_DEF_T, ti, buf, sizeof buf); assert(er.encoded >= 33 + 42 + 33 + 1 + 33); rv = uper_decode(0, &asn_DEF_T, (void *)&to, buf, sizeof buf, 0, 0); assert(rv.code == RC_OK); fprintf(stderr, "%d ENC: %2x%2x%2x%2x %2x%2x%2x%2x\n", testNo, buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6], buf[7]); fprintf(stderr, "%d OUT: { %lu, %lu, %ld, %ld } vs { %lu, %lu, %ld, %ld }\n", testNo, i2ul(&ti->unsigned33), i2ul(&ti->unsigned42), i2l(&ti->signed33), i2l(&ti->signed33ext), i2ul(&to->unsigned33), i2ul(&to->unsigned42), i2l(&to->signed33), i2l(&to->signed33ext)); assert(i2ul(&ti->unsigned33) == i2ul(&to->unsigned33)); assert(i2ul(&ti->unsigned42) == i2ul(&to->unsigned42)); assert(i2l(&ti->signed33) == i2l(&to->signed33)); assert(i2l(&ti->signed33ext) == i2l(&to->signed33ext)); xer_fprint(stderr, &asn_DEF_T, ti); xer_fprint(stderr, &asn_DEF_T, to); }
int StartATCMsg::getBitStream(vector<uchar>& bitstream){ uchar buf[MAX_START_ATC_MESSAGE_SIZE]; /* Temporary buffer - 1K*/ asn_enc_rval_t ec; ec = uper_encode_to_buffer(&asn_DEF_StartATCMessage,internal_msg, buf, MAX_START_ATC_MESSAGE_SIZE); for(int i=0;i<ceil(double(ec.encoded)/8);i++){ bitstream.push_back(buf[i]); } return ec.encoded; }
static void NO_encode(int testNo, T_t *ti) { asn_enc_rval_t er; unsigned char buf[16]; fprintf(stderr, "%d IN: { %lu, %lu, %ld, %ld }\n", testNo, i2ul(&ti->unsigned33), i2ul(&ti->unsigned42), i2l(&ti->signed33), i2l(&ti->signed33ext) ); er = uper_encode_to_buffer(&asn_DEF_T, ti, buf, sizeof buf); assert(er.encoded == -1); }
//---------------------------------------------------------------------------- void RRC2RRMMessageAddUserConfirm::Serialize () //---------------------------------------------------------------------------- { if (m_asn1_message != NULL) { asn_enc_rval_t enc_rval; memset(&m_message_serialize_buffer[0], 0, MESSAGE_SERIALIZE_BUFFER_SIZE); enc_rval = uper_encode_to_buffer(&asn_DEF_RRC_RRM_Message, (void*)m_asn1_message, &m_message_serialize_buffer[0], MESSAGE_SERIALIZE_BUFFER_SIZE); cout << "[RRM][RRC2RRMMessageAddUserConfirm] asn_DEF_RRC_RRM_Message Encoded " << enc_rval.encoded << " bits (" << (enc_rval.encoded+7)/8 << " bytes)" << endl; m_msg_length = (enc_rval.encoded+7)/8; if (enc_rval.encoded==-1) { cerr << "[RRM][RRC2RRMMessageAddUserConfirm] ASN1 : asn_DEF_RRC_RRM_Message encoding FAILED, EXITING" << endl; throw asn1_encoding_error(); } } }