asnper.h

来自「pwlib源码库」· C头文件 代码 · 共 85 行

H
85
字号
/* * asnper.h * * Abstract Syntax Notation Encoding Rules classes * * Portable Windows Library * */#ifdef P_INCLUDE_PER/** Class for ASN Packed Encoding Rules stream.*/class PPER_Stream : public PASN_Stream{    PCLASSINFO(PPER_Stream, PASN_Stream);  public:    PPER_Stream(BOOL aligned = TRUE);    PPER_Stream(const PBYTEArray & bytes, BOOL aligned = TRUE);    PPER_Stream(const BYTE * buf, PINDEX size, BOOL aligned = TRUE);    PPER_Stream & operator=(const PBYTEArray & bytes);    unsigned GetBitsLeft() const;    virtual BOOL Read(PChannel & chan);    virtual BOOL Write(PChannel & chan);    virtual BOOL NullDecode(PASN_Null &);    virtual void NullEncode(const PASN_Null &);    virtual BOOL BooleanDecode(PASN_Boolean &);    virtual void BooleanEncode(const PASN_Boolean &);    virtual BOOL IntegerDecode(PASN_Integer &);    virtual void IntegerEncode(const PASN_Integer &);    virtual BOOL EnumerationDecode(PASN_Enumeration &);    virtual void EnumerationEncode(const PASN_Enumeration &);    virtual BOOL RealDecode(PASN_Real &);    virtual void RealEncode(const PASN_Real &);    virtual BOOL ObjectIdDecode(PASN_ObjectId &);    virtual void ObjectIdEncode(const PASN_ObjectId &);    virtual BOOL BitStringDecode(PASN_BitString &);    virtual void BitStringEncode(const PASN_BitString &);    virtual BOOL OctetStringDecode(PASN_OctetString &);    virtual void OctetStringEncode(const PASN_OctetString &);    virtual BOOL ConstrainedStringDecode(PASN_ConstrainedString &);    virtual void ConstrainedStringEncode(const PASN_ConstrainedString &);    virtual BOOL BMPStringDecode(PASN_BMPString &);    virtual void BMPStringEncode(const PASN_BMPString &);    virtual BOOL ChoiceDecode(PASN_Choice &);    virtual void ChoiceEncode(const PASN_Choice &);    virtual BOOL ArrayDecode(PASN_Array &);    virtual void ArrayEncode(const PASN_Array &);    virtual BOOL SequencePreambleDecode(PASN_Sequence &);    virtual void SequencePreambleEncode(const PASN_Sequence &);    virtual BOOL SequenceKnownDecode(PASN_Sequence &, PINDEX, PASN_Object &);    virtual void SequenceKnownEncode(const PASN_Sequence &, PINDEX, const PASN_Object &);    virtual BOOL SequenceUnknownDecode(PASN_Sequence &);    virtual void SequenceUnknownEncode(const PASN_Sequence &);    BOOL IsAligned() const { return aligned; }    BOOL SingleBitDecode();    void SingleBitEncode(BOOL value);    BOOL MultiBitDecode(unsigned nBits, unsigned & value);    void MultiBitEncode(unsigned value, unsigned nBits);    BOOL SmallUnsignedDecode(unsigned & value);    void SmallUnsignedEncode(unsigned value);    BOOL LengthDecode(unsigned lower, unsigned upper, unsigned & len);    void LengthEncode(unsigned len, unsigned lower, unsigned upper);    BOOL UnsignedDecode(unsigned lower, unsigned upper, unsigned & value);    void UnsignedEncode(int value, unsigned lower, unsigned upper);    void AnyTypeEncode(const PASN_Object * value);  protected:    BOOL aligned;};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?