www.pudn.com > openh323-v1_15_1-src.zip > t38.h


// 
// t38.h 
// 
// Code automatically generated by asnparse. 
// 
 
#if ! H323_DISABLE_T38 
 
#ifndef __T38_H 
#define __T38_H 
 
#ifdef P_USE_PRAGMA 
#pragma interface 
#endif 
 
#include  
 
// 
// Type-of-msg 
// 
 
class T38_Type_of_msg_t30_indicator; 
class T38_Type_of_msg_data; 
 
class T38_Type_of_msg : public PASN_Choice 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_Type_of_msg, PASN_Choice); 
#endif 
  public: 
    T38_Type_of_msg(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    enum Choices { 
      e_t30_indicator, 
      e_data 
    }; 
 
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 
    operator T38_Type_of_msg_t30_indicator &() const; 
#else 
    operator T38_Type_of_msg_t30_indicator &(); 
    operator const T38_Type_of_msg_t30_indicator &() const; 
#endif 
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 
    operator T38_Type_of_msg_data &() const; 
#else 
    operator T38_Type_of_msg_data &(); 
    operator const T38_Type_of_msg_data &() const; 
#endif 
 
    BOOL CreateObject(); 
    PObject * Clone() const; 
}; 
 
 
// 
// Data-Field 
// 
 
class T38_Data_Field_subtype; 
 
class T38_Data_Field : public PASN_Array 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_Data_Field, PASN_Array); 
#endif 
  public: 
    T38_Data_Field(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    PASN_Object * CreateObject() const; 
    T38_Data_Field_subtype & operator[](PINDEX i) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// PreCorrigendum-Data-Field 
// 
 
class T38_PreCorrigendum_Data_Field_subtype; 
 
class T38_PreCorrigendum_Data_Field : public PASN_Array 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_PreCorrigendum_Data_Field, PASN_Array); 
#endif 
  public: 
    T38_PreCorrigendum_Data_Field(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    PASN_Object * CreateObject() const; 
    T38_PreCorrigendum_Data_Field_subtype & operator[](PINDEX i) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// Type-of-msg_t30-indicator 
// 
 
class T38_Type_of_msg_t30_indicator : public PASN_Enumeration 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_Type_of_msg_t30_indicator, PASN_Enumeration); 
#endif 
  public: 
    T38_Type_of_msg_t30_indicator(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass); 
 
    enum Enumerations { 
      e_no_signal, 
      e_cng, 
      e_ced, 
      e_v21_preamble, 
      e_v27_2400_training, 
      e_v27_4800_training, 
      e_v29_7200_training, 
      e_v29_9600_training, 
      e_v17_7200_short_training, 
      e_v17_7200_long_training, 
      e_v17_9600_short_training, 
      e_v17_9600_long_training, 
      e_v17_12000_short_training, 
      e_v17_12000_long_training, 
      e_v17_14400_short_training, 
      e_v17_14400_long_training 
    }; 
 
    T38_Type_of_msg_t30_indicator & operator=(unsigned v); 
    PObject * Clone() const; 
}; 
 
 
// 
// Type-of-msg_data 
// 
 
class T38_Type_of_msg_data : public PASN_Enumeration 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_Type_of_msg_data, PASN_Enumeration); 
#endif 
  public: 
    T38_Type_of_msg_data(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass); 
 
    enum Enumerations { 
      e_v21, 
      e_v27_2400, 
      e_v27_4800, 
      e_v29_7200, 
      e_v29_9600, 
      e_v17_7200, 
      e_v17_9600, 
      e_v17_12000, 
      e_v17_14400 
    }; 
 
    T38_Type_of_msg_data & operator=(unsigned v); 
    PObject * Clone() const; 
}; 
 
 
// 
// UDPTLPacket_error-recovery 
// 
 
class T38_UDPTLPacket_error_recovery_secondary_ifp_packets; 
class T38_UDPTLPacket_error_recovery_fec_info; 
 
class T38_UDPTLPacket_error_recovery : public PASN_Choice 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_UDPTLPacket_error_recovery, PASN_Choice); 
#endif 
  public: 
    T38_UDPTLPacket_error_recovery(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    enum Choices { 
      e_secondary_ifp_packets, 
      e_fec_info 
    }; 
 
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 
    operator T38_UDPTLPacket_error_recovery_secondary_ifp_packets &() const; 
#else 
    operator T38_UDPTLPacket_error_recovery_secondary_ifp_packets &(); 
    operator const T38_UDPTLPacket_error_recovery_secondary_ifp_packets &() const; 
#endif 
#if defined(__GNUC__) && __GNUC__ <= 2 && __GNUC_MINOR__ < 9 
    operator T38_UDPTLPacket_error_recovery_fec_info &() const; 
#else 
    operator T38_UDPTLPacket_error_recovery_fec_info &(); 
    operator const T38_UDPTLPacket_error_recovery_fec_info &() const; 
#endif 
 
    BOOL CreateObject(); 
    PObject * Clone() const; 
}; 
 
 
// 
// Data-Field_subtype_field-type 
// 
 
class T38_Data_Field_subtype_field_type : public PASN_Enumeration 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_Data_Field_subtype_field_type, PASN_Enumeration); 
#endif 
  public: 
    T38_Data_Field_subtype_field_type(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass); 
 
    enum Enumerations { 
      e_hdlc_data, 
      e_hdlc_sig_end, 
      e_hdlc_fcs_OK, 
      e_hdlc_fcs_BAD, 
      e_hdlc_fcs_OK_sig_end, 
      e_hdlc_fcs_BAD_sig_end, 
      e_t4_non_ecm_data, 
      e_t4_non_ecm_sig_end 
    }; 
 
    T38_Data_Field_subtype_field_type & operator=(unsigned v); 
    PObject * Clone() const; 
}; 
 
 
// 
// PreCorrigendum-Data-Field_subtype_field-type 
// 
 
class T38_PreCorrigendum_Data_Field_subtype_field_type : public PASN_Enumeration 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_PreCorrigendum_Data_Field_subtype_field_type, PASN_Enumeration); 
#endif 
  public: 
    T38_PreCorrigendum_Data_Field_subtype_field_type(unsigned tag = UniversalEnumeration, TagClass tagClass = UniversalTagClass); 
 
    enum Enumerations { 
      e_hdlc_data, 
      e_hdlc_sig_end, 
      e_hdlc_fcs_OK, 
      e_hdlc_fcs_BAD, 
      e_hdlc_fcs_OK_sig_end, 
      e_hdlc_fcs_BAD_sig_end, 
      e_t4_non_ecm_data, 
      e_t4_non_ecm_sig_end 
    }; 
 
    T38_PreCorrigendum_Data_Field_subtype_field_type & operator=(unsigned v); 
    PObject * Clone() const; 
}; 
 
 
// 
// UDPTLPacket_error-recovery_secondary-ifp-packets 
// 
 
class T38_UDPTLPacket_error_recovery_secondary_ifp_packets_subtype; 
 
class T38_UDPTLPacket_error_recovery_secondary_ifp_packets : public PASN_Array 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_UDPTLPacket_error_recovery_secondary_ifp_packets, PASN_Array); 
#endif 
  public: 
    T38_UDPTLPacket_error_recovery_secondary_ifp_packets(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    PASN_Object * CreateObject() const; 
    T38_UDPTLPacket_error_recovery_secondary_ifp_packets_subtype & operator[](PINDEX i) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// ArrayOf_PASN_OctetString 
// 
 
class T38_ArrayOf_PASN_OctetString : public PASN_Array 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_ArrayOf_PASN_OctetString, PASN_Array); 
#endif 
  public: 
    T38_ArrayOf_PASN_OctetString(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    PASN_Object * CreateObject() const; 
    PASN_OctetString & operator[](PINDEX i) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// IFPPacket 
// 
 
class T38_IFPPacket : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_IFPPacket, PASN_Sequence); 
#endif 
  public: 
    T38_IFPPacket(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    enum OptionalFields { 
      e_data_field 
    }; 
 
    T38_Type_of_msg m_type_of_msg; 
    T38_Data_Field m_data_field; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// PreCorrigendum-IFPPacket 
// 
 
class T38_PreCorrigendum_IFPPacket : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_PreCorrigendum_IFPPacket, PASN_Sequence); 
#endif 
  public: 
    T38_PreCorrigendum_IFPPacket(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    enum OptionalFields { 
      e_data_field 
    }; 
 
    T38_Type_of_msg m_type_of_msg; 
    T38_PreCorrigendum_Data_Field m_data_field; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// Data-Field_subtype 
// 
 
class T38_Data_Field_subtype : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_Data_Field_subtype, PASN_Sequence); 
#endif 
  public: 
    T38_Data_Field_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    enum OptionalFields { 
      e_field_data 
    }; 
 
    T38_Data_Field_subtype_field_type m_field_type; 
    PASN_OctetString m_field_data; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// PreCorrigendum-Data-Field_subtype 
// 
 
class T38_PreCorrigendum_Data_Field_subtype : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_PreCorrigendum_Data_Field_subtype, PASN_Sequence); 
#endif 
  public: 
    T38_PreCorrigendum_Data_Field_subtype(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    enum OptionalFields { 
      e_field_data 
    }; 
 
    T38_PreCorrigendum_Data_Field_subtype_field_type m_field_type; 
    PASN_OctetString m_field_data; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// UDPTLPacket_primary-ifp-packet 
// 
 
class T38_UDPTLPacket_primary_ifp_packet : public PASN_OctetString 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_UDPTLPacket_primary_ifp_packet, PASN_OctetString); 
#endif 
  public: 
    T38_UDPTLPacket_primary_ifp_packet(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    BOOL DecodeSubType(T38_IFPPacket & obj) { return PASN_OctetString::DecodeSubType(obj); } 
    void EncodeSubType(const T38_IFPPacket & obj) { PASN_OctetString::EncodeSubType(obj); }  
 
    PObject * Clone() const; 
}; 
 
 
// 
// UDPTLPacket_error-recovery_fec-info 
// 
 
class T38_UDPTLPacket_error_recovery_fec_info : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_UDPTLPacket_error_recovery_fec_info, PASN_Sequence); 
#endif 
  public: 
    T38_UDPTLPacket_error_recovery_fec_info(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    PASN_Integer m_fec_npackets; 
    T38_ArrayOf_PASN_OctetString m_fec_data; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
// 
// UDPTLPacket_error-recovery_secondary-ifp-packets_subtype 
// 
 
class T38_UDPTLPacket_error_recovery_secondary_ifp_packets_subtype : public PASN_OctetString 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_UDPTLPacket_error_recovery_secondary_ifp_packets_subtype, PASN_OctetString); 
#endif 
  public: 
    T38_UDPTLPacket_error_recovery_secondary_ifp_packets_subtype(unsigned tag = 0, TagClass tagClass = UniversalTagClass); 
 
    BOOL DecodeSubType(T38_IFPPacket & obj) { return PASN_OctetString::DecodeSubType(obj); } 
    void EncodeSubType(const T38_IFPPacket & obj) { PASN_OctetString::EncodeSubType(obj); }  
 
    PObject * Clone() const; 
}; 
 
 
// 
// UDPTLPacket 
// 
 
class T38_UDPTLPacket : public PASN_Sequence 
{ 
#ifndef PASN_LEANANDMEAN 
    PCLASSINFO(T38_UDPTLPacket, PASN_Sequence); 
#endif 
  public: 
    T38_UDPTLPacket(unsigned tag = UniversalSequence, TagClass tagClass = UniversalTagClass); 
 
    PASN_Integer m_seq_number; 
    T38_UDPTLPacket_primary_ifp_packet m_primary_ifp_packet; 
    T38_UDPTLPacket_error_recovery m_error_recovery; 
 
    PINDEX GetDataLength() const; 
    BOOL Decode(PASN_Stream & strm); 
    void Encode(PASN_Stream & strm) const; 
#ifndef PASN_NOPRINTON 
    void PrintOn(ostream & strm) const; 
#endif 
    Comparison Compare(const PObject & obj) const; 
    PObject * Clone() const; 
}; 
 
 
#endif // __T38_H 
 
#endif // if ! H323_DISABLE_T38 
 
 
// End of t38.h