Ejemplo n.º 1
0
#include "asn-config.h"
#include "asn-len.h"
#include "asn-tag.h"
#include "asn-int.h"

/*
 * encodes universal TAG LENGTH and Contents of and ASN.1 INTEGER
 */
AsnLen
BEncAsnInt PARAMS ((b, data),
    GenBuf *b _AND_
    AsnInt *data)
{
    AsnLen len;

    len =  BEncAsnIntContent (b, data);
    len += BEncDefLen (b, len);
    len += BEncTag1 (b, UNIV, PRIM, INTEGER_TAG_CODE);
    return len;
}  /* BEncAsnInt */


/*
 * decodes universal TAG LENGTH and Contents of and ASN.1 INTEGER
 */
void
BDecAsnInt PARAMS ((b, result, bytesDecoded, env),
    GenBuf *b _AND_
    AsnInt    *result _AND_
    AsnLen *bytesDecoded _AND_
    jmp_buf env)
Ejemplo n.º 2
0
Archivo: tbl.c Proyecto: yafngzh/easyMq
#include "asn-incl.h"
#include "tbl.h"


AsnLen
BEncTBLRangeContent PARAMS ((b, v),
BUF_TYPE b _AND_
TBLRange *v)
{
    AsnLen totalLen = 0;
    AsnLen itemLen;
    AsnLen listLen;
    void *component;

    itemLen = BEncAsnIntContent (b, (&v->to));
    BEncDefLenTo127 (b, itemLen);
    itemLen++;
    itemLen += BEncTag1 (b, CNTX, PRIM, 1);

    totalLen += itemLen;

    itemLen = BEncAsnIntContent (b, (&v->from));
    BEncDefLenTo127 (b, itemLen);
    itemLen++;
    itemLen += BEncTag1 (b, CNTX, PRIM, 0);

    totalLen += itemLen;

    return totalLen;