Refactor pdus into many files

This commit is contained in:
PhatPhuckDave
2024-07-22 20:35:53 +02:00
parent 3d977b5657
commit 21e2e17f27
12 changed files with 343 additions and 298 deletions

159
pdu/const.go Normal file
View File

@@ -0,0 +1,159 @@
package pdu
var COMMAND_ID = struct {
GENERIC_NACK_ID uint32
BIND_RECEIVER_ID uint32
BIND_RECEIVER_RESP_ID uint32
BIND_TRANSMITTER_ID uint32
BIND_TRANSMITTER_RESP_ID uint32
QUERY_SM_ID uint32
QUERY_SM_RESP_ID uint32
SUBMIT_SM_ID uint32
SUBMIT_SM_RESP_ID uint32
DELIVER_SM_ID uint32
DELIVER_SM_RESP_ID uint32
UNBIND_ID uint32
UNBIND_RESP_ID uint32
REPLACE_SM_ID uint32
REPLACE_SM_RESP_ID uint32
CANCEL_SM_ID uint32
CANCEL_SM_RESP_ID uint32
BIND_TRANSCIEVER_ID uint32
BIND_TRANSCIEVER_RESP_ID uint32
OUTBIND_ID uint32
ENQUIRE_LINK_ID uint32
ENQUIRE_LINK_RESP_ID uint32
SUBMIT_MULTI_ID uint32
SUBMIT_MULTI_RESP_ID uint32
ALERT_NOTIFICATION_ID uint32
DATA_SM_ID uint32
DATA_SM_RESP_ID uint32
}{
GENERIC_NACK_ID: 0x80000000,
BIND_RECEIVER_ID: 0x00000001,
BIND_RECEIVER_RESP_ID: 0x80000001,
BIND_TRANSMITTER_ID: 0x00000002,
BIND_TRANSMITTER_RESP_ID: 0x80000002,
QUERY_SM_ID: 0x00000003,
QUERY_SM_RESP_ID: 0x80000003,
SUBMIT_SM_ID: 0x00000004,
SUBMIT_SM_RESP_ID: 0x80000004,
DELIVER_SM_ID: 0x00000005,
DELIVER_SM_RESP_ID: 0x80000005,
UNBIND_ID: 0x00000006,
UNBIND_RESP_ID: 0x80000006,
REPLACE_SM_ID: 0x00000007,
REPLACE_SM_RESP_ID: 0x80000007,
CANCEL_SM_ID: 0x00000008,
CANCEL_SM_RESP_ID: 0x80000008,
BIND_TRANSCIEVER_ID: 0x00000009,
BIND_TRANSCIEVER_RESP_ID: 0x80000009,
OUTBIND_ID: 0x0000000B,
ENQUIRE_LINK_ID: 0x00000015,
ENQUIRE_LINK_RESP_ID: 0x80000015,
SUBMIT_MULTI_ID: 0x00000021,
SUBMIT_MULTI_RESP_ID: 0x80000021,
ALERT_NOTIFICATION_ID: 0x00000102,
DATA_SM_ID: 0x00000103,
DATA_SM_RESP_ID: 0x80000103,
}
var COMMAND_STATUS = struct {
ESME_ROK uint32
ESME_RINVMSGLEN uint32
ESME_RINVCMDLEN uint32
ESME_RINVCMDID uint32
ESME_RINVBNDSTS uint32
ESME_RALYBND uint32
ESME_RINVPRTFLG uint32
ESME_RINVREGDLVFLG uint32
ESME_RSYSERR uint32
ESME_RINVSRCADR uint32
ESME_RINVDSTADR uint32
ESME_RINVMSGID uint32
ESME_RBINDFAIL uint32
ESME_RINVPASWD uint32
ESME_RINVSYSID uint32
ESME_RCANCELFAIL uint32
ESME_RREPLACEFAIL uint32
ESME_RMSGQFUL uint32
ESME_RINVSERTYP uint32
ESME_RINVNUMDESTS uint32
ESME_RINVDLNAME uint32
ESME_RINVDESTFLAG uint32
ESME_RINVSUBREP uint32
ESME_RINVESMCLASS uint32
ESME_RCNTSUBDL uint32
ESME_RSUBMITFAIL uint32
ESME_RINVSRCTON uint32
ESME_RINVSRCNPI uint32
ESME_RINVDSTTON uint32
ESME_RINVDSTNPI uint32
ESME_RINVSYSTYP uint32
ESME_RINVREPFLAG uint32
ESME_RINVNUMMSGS uint32
ESME_RTHROTTLED uint32
ESME_RINVSCHED uint32
ESME_RINVEXPIRY uint32
ESME_RINVDFTMSGID uint32
ESME_RX_T_APPN uint32
ESME_RX_P_APPN uint32
ESME_RX_R_APPN uint32
ESME_RQUERYFAIL uint32
ESME_RINVOPTPARSTREAM uint32
ESME_ROPTPARNOTALLWD uint32
ESME_RINVPARLEN uint32
ESME_RMISSINGOPTPARAM uint32
ESME_RINVOPTPARAMVAL uint32
ESME_RDELIVERYFAILURE uint32
ESME_RUNKNOWNERR uint32
}{
ESME_ROK: 0x00000000, // No Error
ESME_RINVMSGLEN: 0x00000001, // Message Length is invalid
ESME_RINVCMDLEN: 0x00000002, // Command Length is invalid
ESME_RINVCMDID: 0x00000003, // Invalid Command ID
ESME_RINVBNDSTS: 0x00000004, // Incorrect BIND Status for given command
ESME_RALYBND: 0x00000005, // ESME Already in Bound State
ESME_RINVPRTFLG: 0x00000006, // Invalid Priority Flag
ESME_RINVREGDLVFLG: 0x00000007, // Invalid Registered Delivery Flag
ESME_RSYSERR: 0x00000008, // System Error
ESME_RINVSRCADR: 0x0000000A, // Invalid Source Address
ESME_RINVDSTADR: 0x0000000B, // Invalid Dest Addr
ESME_RINVMSGID: 0x0000000C, // Message ID is invalid
ESME_RBINDFAIL: 0x0000000D, // Bind Failed
ESME_RINVPASWD: 0x0000000E, // Invalid Password
ESME_RINVSYSID: 0x0000000F, // Invalid System ID
ESME_RCANCELFAIL: 0x00000011, // Cancel SM Failed
ESME_RREPLACEFAIL: 0x00000013, // Replace SM Failed
ESME_RMSGQFUL: 0x00000014, // Message Queue Full
ESME_RINVSERTYP: 0x00000015, // Invalid Service Type
ESME_RINVNUMDESTS: 0x00000033, // Invalid number of destinations
ESME_RINVDLNAME: 0x00000034, // Invalid Distribution List name
ESME_RINVDESTFLAG: 0x00000040, // Destination flag is invalid
ESME_RINVSUBREP: 0x00000042, // Invalid submit with replace request
ESME_RINVESMCLASS: 0x00000043, // Invalid esm_class field data
ESME_RCNTSUBDL: 0x00000044, // Cannot Submit to Distribution List
ESME_RSUBMITFAIL: 0x00000045, // submit_sm or submit_multi failed
ESME_RINVSRCTON: 0x00000048, // Invalid Source address TON
ESME_RINVSRCNPI: 0x00000049, // Invalid Source address NPI
ESME_RINVDSTTON: 0x00000050, // Invalid Destination address TON
ESME_RINVDSTNPI: 0x00000051, // Invalid Destination address NPI
ESME_RINVSYSTYP: 0x00000053, // Invalid system_type field
ESME_RINVREPFLAG: 0x00000054, // Invalid replace_if_present flag
ESME_RINVNUMMSGS: 0x00000055, // Invalid number of messages
ESME_RTHROTTLED: 0x00000058, // Throttling error (ESME has exceeded allowed message limits)
ESME_RINVSCHED: 0x00000061, // Invalid Scheduled Delivery Time
ESME_RINVEXPIRY: 0x00000062, // Invalid message validity period
ESME_RINVDFTMSGID: 0x00000063, // Predefined Message Invalid or Not Found
ESME_RX_T_APPN: 0x00000064, // ESME Receiver Temporary App Error Code
ESME_RX_P_APPN: 0x00000065, // ESME Receiver Permanent App Error Code
ESME_RX_R_APPN: 0x00000066, // ESME Receiver Reject Message Error Code
ESME_RQUERYFAIL: 0x00000067, // query_sm request failed
ESME_RINVOPTPARSTREAM: 0x000000C0, // Error in the optional part of the PDU
ESME_ROPTPARNOTALLWD: 0x000000C1, // Optional Parameter not allowed
ESME_RINVPARLEN: 0x000000C2, // Invalid Parameter Length.
ESME_RMISSINGOPTPARAM: 0x000000C3, // Expected Optional Parameter missing
ESME_RINVOPTPARAMVAL: 0x000000C4, // Invalid Optional Parameter Value
ESME_RDELIVERYFAILURE: 0x000000FE, // Delivery Failure (used for
ESME_RUNKNOWNERR: 0x000000FF, // Unknown Error
}