Example #1
0
bool std::greater<SNACC::AsnBuf>::operator()(const SNACC::AsnBuf &x,
        const SNACC::AsnBuf &y) const
{
    AsnLen len;
    AsnTag xTag = (BDecTag(x, len) & 0xDFFFFFFF);
    AsnTag yTag = (BDecTag(y, len) & 0xDFFFFFFF);

    x.ResetMode();
    y.ResetMode();

    return (xTag > yTag);
}
Example #2
0
void AsnBool::BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env)
{
    AsnLen elmtLen;
    if (BDecTag (b, bytesDecoded, env) != MAKE_TAG_ID (UNIV, PRIM, BOOLEAN_TAG_CODE))
    {
	Asn1Error << "AsnBool::BDec: ERROR tag on BOOLEAN wrong." << endl;
	longjmp (env, -51);
    }
    elmtLen = BDecLen (b, bytesDecoded, env);

    BDecContent (b, MAKE_TAG_ID (UNIV, PRIM, BOOLEAN_TAG_CODE), elmtLen, bytesDecoded, env);
}
Example #3
0
BDecComponentCertificateListTop( void* mem_op, GenBuf* b, void *v, AsnLen* bytesDecoded,int mode) {
	AsnTag tag;
	AsnLen elmtLen;

	tag = BDecTag ( b, bytesDecoded );
	elmtLen = BDecLen ( b, bytesDecoded );
	if ( elmtLen <= 0 ) return (-1);
	if ( tag != MAKE_TAG_ID (UNIV, CONS, SEQ_TAG_CODE) ) {
		return (-1);
	}

	return BDecComponentCertificateList( mem_op, b, tag, elmtLen, ( ComponentCertificateList**)v, (AsnLen*)bytesDecoded, mode );
}
Example #4
0
void AsnNull::BDec (const AsnBuf &b, AsnLen &bytesDecoded)
{
    FUNC("AsnNull::BDec()");

    AsnLen elmtLen;
    AsnTag tagId;
    tagId = BDecTag (b, bytesDecoded); 
    if (tagId != MAKE_TAG_ID (UNIV, PRIM, NULLTYPE_TAG_CODE))
    {
       throw InvalidTagException(typeName(), tagId, STACK_ENTRY);
    }

    elmtLen = BDecLen (b, bytesDecoded);
    BDecContent (b, MAKE_TAG_ID (UNIV, PRIM, NULLTYPE_TAG_CODE), elmtLen, bytesDecoded);
}
Example #5
0
void BDecNumericString(GenBuf *b, NumericString *result, AsnLen *bytesDecoded,
					   ENV_TYPE env)
{
    AsnTag tag;
    AsnLen elmtLen1;

    if (((tag = BDecTag (b, bytesDecoded, env)) != 
		MAKE_TAG_ID (UNIV, PRIM, NUMERICSTRING_TAG_CODE)) &&
		(tag != MAKE_TAG_ID (UNIV, CONS, NUMERICSTRING_TAG_CODE)))
    {
        Asn1Error ("BDecNumericString: ERROR - wrong tag\n");
        longjmp (env, -100);
    }
    elmtLen1 = BDecLen (b, bytesDecoded, env);
    BDecNumericStringContent (b, tag, elmtLen1, result, bytesDecoded, env);

} /* end of BDecNumericString() */
Example #6
0
void BDecUniversalString(GenBuf *b, UniversalString *result,
						 AsnLen *bytesDecoded, ENV_TYPE env)
{
	AsnTag tag;
	AsnLen elmtLen1;

	if (((tag = BDecTag (b, bytesDecoded, env)) != 
		MAKE_TAG_ID (UNIV, PRIM, UNIVERSALSTRING_TAG_CODE)) &&
		(tag != MAKE_TAG_ID (UNIV, CONS, UNIVERSALSTRING_TAG_CODE)))
	{
		Asn1Error ("BDecUniversalString: ERROR - wrong tag\n");
		longjmp (env, -112);
	}

    elmtLen1 = BDecLen (b, bytesDecoded, env);
    BDecUniversalStringContent (b, tag, elmtLen1, result, bytesDecoded, env);

}  /* BDecUniversalString */