75     #define OPTIONAL_BEGIN    76     #define TLV_INTEGER(name, max_len)    77     #define TLV_NULTERMINATED(name, max_len)    78     #define TLV_OCTETS(name, min_len, max_len)    80     #define INTEGER(name, octets)    81     #define NULTERMINATED(name, max_octets)    82     #define OCTETS(name, field_giving_octets)    83     #define PDU(name, id, fields) name = id,    94         #define OPTIONAL_BEGIN    95         #define TLV_INTEGER(name, octets) long name;    96         #define TLV_NULTERMINATED(name, max_len) Octstr *name;    97         #define TLV_OCTETS(name, min_len, max_len) Octstr *name;    98         #define OPTIONAL_END Dict *tlv;    99         #define INTEGER(name, octets) unsigned long name;   100         #define NULTERMINATED(name, max_octets) Octstr *name;   101         #define OCTETS(name, field_giving_octets) Octstr *name;   102         #define PDU(name, id, fields) struct name { fields } name;   113 #define GSM_ADDR_TON_UNKNOWN          0x00000000   114 #define GSM_ADDR_TON_INTERNATIONAL    0x00000001   115 #define GSM_ADDR_TON_NATIONAL         0x00000002   116 #define GSM_ADDR_TON_NETWORKSPECIFIC  0x00000003   117 #define GSM_ADDR_TON_SUBSCRIBER       0x00000004   118 #define GSM_ADDR_TON_ALPHANUMERIC     0x00000005    119 #define GSM_ADDR_TON_ABBREVIATED      0x00000006   120 #define GSM_ADDR_TON_EXTENSION        0x00000007    122 #define GSM_ADDR_NPI_UNKNOWN          0x00000000   123 #define GSM_ADDR_NPI_E164             0x00000001   124 #define GSM_ADDR_NPI_X121             0x00000003   125 #define GSM_ADDR_NPI_TELEX            0x00000004   126 #define GSM_ADDR_NPI_NATIONAL         0x00000008   127 #define GSM_ADDR_NPI_PRIVATE          0x00000009   128 #define GSM_ADDR_NPI_ERMES            0x0000000A    129 #define GSM_ADDR_NPI_INTERNET         0x0000000E    130 #define GSM_ADDR_NPI_EXTENSION        0x0000000F    131 #define GSM_ADDR_NPI_WAP_CLIENT_ID    0x00000012    136 #define ESM_CLASS_SUBMIT_DEFAULT_SMSC_MODE        0x00000000   137 #define ESM_CLASS_SUBMIT_DATAGRAM_MODE            0x00000001   138 #define ESM_CLASS_SUBMIT_FORWARD_MODE             0x00000002   139 #define ESM_CLASS_SUBMIT_STORE_AND_FORWARD_MODE   0x00000003   140 #define ESM_CLASS_SUBMIT_DELIVERY_ACK             0x00000008   141 #define ESM_CLASS_SUBMIT_USER_ACK                 0x00000010   142 #define ESM_CLASS_SUBMIT_UDH_INDICATOR            0x00000040   143 #define ESM_CLASS_SUBMIT_RPI                      0x00000080   144 #define ESM_CLASS_SUBMIT_UDH_AND_RPI              0x000000C0   146 #define ESM_CLASS_DELIVER_DEFAULT_TYPE            0x00000000   147 #define ESM_CLASS_DELIVER_SMSC_DELIVER_ACK        0x00000004   148 #define ESM_CLASS_DELIVER_SME_DELIVER_ACK         0x00000008   149 #define ESM_CLASS_DELIVER_SME_MANULAL_ACK         0x00000010   150 #define ESM_CLASS_DELIVER_INTERM_DEL_NOTIFICATION 0x00000020   151 #define ESM_CLASS_DELIVER_UDH_INDICATOR           0x00000040   152 #define ESM_CLASS_DELIVER_RPI                     0x00000080   153 #define ESM_CLASS_DELIVER_UDH_AND_RPI             0x000000C0 void smpp_pdu_dump_line(Octstr *smsc_id, SMPP_PDU *pdu)
 
void error(int err, const char *fmt,...)
 
SMPP_PDU * smpp_pdu_create(unsigned long type, unsigned long seq_no)
 
void smpp_tlv_add_constant(Octstr *smsc_id, Dict **tlvs)
 
long smpp_pdu_read_len(Connection *conn)
 
void smpp_pdu_destroy(SMPP_PDU *pdu)
 
int smpp_pdu_is_valid(SMPP_PDU *pdu)
 
Octstr * smpp_pdu_pack(Octstr *smsc_id, SMPP_PDU *pdu)
 
SMPP_PDU * smpp_pdu_unpack(Octstr *smsc_id, Octstr *data_without_len)
 
void smpp_pdu_dump(Octstr *smsc_id, SMPP_PDU *pdu)
 
int smpp_pdu_init(Cfg *cfg)
 
Octstr * smpp_pdu_read_data(Connection *conn, long len)
 
const char * smpp_error_to_string(enum SMPP_ERROR_MESSAGES error)
 
int smpp_pdu_shutdown(void)