AsnLen BEncBMPStringContent(GenBuf *b, BMPString *octs) { if ((octs->octetLen % 2) != 0) { BufSetWriteError (b, TRUE); } return BEncAsnOctsContent(b, octs); } /* end of BEncBMPStringContent() */
AsnLen BEncUniversalStringContent(GenBuf *b, UniversalString *octs) { if ((octs->octetLen % 4) != 0) { Asn1Error ("BEncUniversalStringContent: ERROR - Invalid UniversalString Format"); GenBufSetWriteError (b, TRUE); } return BEncAsnOctsContent(b, octs); } /* end of BEncUniversalStringContent() */
AsnLen BEncNumericStringContent(GenBuf *b, NumericString *octs) { if (chkNumericString (octs) < 0) { Asn1Error ("BEncNumericStringContent: ERROR - Format Error"); GenBufSetWriteError (b, TRUE); } return (BEncAsnOctsContent (b, octs)); } /* end of BEncNumericStringContent() */
#include "asn-bits.h" /* for TO_HEX macro */ #include "asn-octs.h" #include <memory.h> /* * encodes universal TAG LENGTH and Contents of and ASN.1 OCTET STRING */ AsnLen BEncAsnOcts PARAMS ((b, data), GenBuf *b _AND_ AsnOcts *data) { AsnLen len; len = BEncAsnOctsContent (b, data); len += BEncDefLen (b, len); len += BEncTag1 (b, UNIV, PRIM, OCTETSTRING_TAG_CODE); return len; } /* BEncAsnOcts */ /* * decodes universal TAG LENGTH and Contents of and ASN.1 OCTET STRING */ void BDecAsnOcts PARAMS ((b, result, bytesDecoded, env), GenBuf *b _AND_ AsnOcts *result _AND_ AsnLen *bytesDecoded _AND_ jmp_buf env)