|
Protocol++® (Protocolpp®) v5.7.2
|


Public Member Functions | |
| jwimaxsa () | |
| jwimaxsa (direction_t dir, wimaxmode_t mode, cipher_t cipher, uint8_t type, uint8_t eks, uint8_t fid, uint16_t cid, uint32_t pn, uint32_t ckeylen, std::shared_ptr< jarray< uint8_t > > cipherkey, uint32_t arlen, jarray< uint8_t > arwin, bool eh, bool ht, bool ec, bool esf, bool ci) | |
| jwimaxsa (jwimaxsa &rhs) | |
| jwimaxsa (std::shared_ptr< jwimaxsa > &rhs) | |
| ~jwimaxsa () | |
| Standard deconstructor. | |
| template<typename T > | |
| void | set_field (field_t field, T fieldval) |
| template<typename T > | |
| T | get_field (field_t field) |
| void | to_xml (tinyxml2::XMLPrinter &myxml, direction_t direction) |
| void | to_json (std::ofstream &myjson, direction_t direction, std::string &indent) |
| jwimaxsa (const jwimaxsa &rhs)=delete | |
Public Member Functions inherited from ProtocolPP::jsecass | |
| jsecass () | |
| virtual | ~jsecass ()=default |
| Standard deconstructor. | |
| jsecass (jsecass &jsecass)=delete | |
| jsecass (const jsecass &jsecass)=delete | |
| ProtocolPP::jwimaxsa::jwimaxsa | ( | ) |
Standard Constructor
| field | Default Value |
|---|---|
| dir | direction_t::ENCAP |
| mode | wimaxmode_t::OFDM |
| cipher | cipher_t::AES_CCM |
| auth | auth_t::SHA256 |
| type | 0 |
| eks | 0 |
| fid | 0 |
| cid | 0 |
| pn | 0 |
| ckeylen | 16 |
| cipherkey | 0 |
| arlen | 0 |
| arwin | 0 |
| eh | false |
| ht | false |
| ec | true |
| esf | false |
| ci | true |
| ProtocolPP::jwimaxsa::jwimaxsa | ( | direction_t | dir, |
| wimaxmode_t | mode, | ||
| cipher_t | cipher, | ||
| uint8_t | type, | ||
| uint8_t | eks, | ||
| uint8_t | fid, | ||
| uint16_t | cid, | ||
| uint32_t | pn, | ||
| uint32_t | ckeylen, | ||
| std::shared_ptr< jarray< uint8_t > > | cipherkey, | ||
| uint32_t | arlen, | ||
| jarray< uint8_t > | arwin, | ||
| bool | eh, | ||
| bool | ht, | ||
| bool | ec, | ||
| bool | esf, | ||
| bool | ci | ||
| ) |
Security Association for Wimax
| dir | - Direction of processing (ENCAP or DECAP) |
| mode | - Mode of operation (OFDM, OFDMA, AGHM_OFDM, AGHM_OFDMA) |
| cipher | - Encryption (AES_CCM, SM4_CCM, NULL_CIPHER) |
| type | - types and subheaders in payload |
| eks | - Encryption key sequence |
| cid | - Connection Identifier |
| fid | - Flow Identifier (AGHM header only) |
| pn | - Packet number (for counter modes PN=ROC[7:0]|PN[23:0]) |
| ckeylen | - Length of the key |
| cipherkey | - Key for the encryption algorithm |
| arlen | - Number of packets to track in replay window |
| arwin | - Anti-replay window for tracking packets |
| eh | - Extended header group presence identifier (AGHM header only) |
| ht | - Header type |
| ec | - Encryption control |
| esf | - Extended subheader present |
| ci | - CRC Indicator |
| ProtocolPP::jwimaxsa::jwimaxsa | ( | jwimaxsa & | rhs | ) |
Copy constructor for wimax security association
| rhs | - Security association (SA) for this wimax flow |
|
explicit |
Copy constructor for wimax security association from shared pointer
| rhs | - Security association (SA) for this wimax flow |
Retrieve the field from the wimax header
| field type | field name | Example |
|---|---|---|
| direction_t | DIRECTION | direction_t mydir = get_field<direction_t>(field_t::DIRECTION) |
| wimaxmode_t | MODE | wimaxmode_t mymode = get_field<wimaxmode_t>(field_t::MODE) |
| cipher_t | CIPHER | cipher_t mycipher = get_field<cipher_t>(field_t::CIPHER) |
| bool | EH | bool myeh = get_field<bool>(field_t::EH) |
| HT | bool myht = get_field<bool>(field_t::HT) | |
| EC | bool myec = get_field<bool>(field_t::EC) | |
| ESF | bool myesf = get_field<bool>(field_t::ESF) | |
| CI | bool myci = get_field<bool>(field_t::CI) | |
| uint8_t | TYPE | uint8_t mytype = get_field<uint8_t>(field_t::TYPE) |
| EKS | uint8_t myeks = get_field<uint8_t>(field_t::EKS) | |
| FID | uint8_t myfid = get_field<uint8_t>(field_t::FID) | |
| uint16_t | CID | uint16_t mycid = get_field<uint16_t>(field_t::CID) |
| uint32_t | PN | uint32_t mypn = get_field<uint32_t>(field_t::PN) |
| CKEYLEN | uint32_t myckeylen = get_field<uint32_t>(field_t::CKEYLEN) | |
| ARLEN | uint32_t myarlen = get_field<uint32_t>(field_t::ARLEN) | |
| jarray<uint8_t> | ARWIN | jarray<uint8_t> myarwin = get_field<jarray<uint8_t>>(field_t::ARWIN) |
| std::shared_ptr<jarray<uint8_t>> | CIPHERKEY | std::shared_ptr<jarray<uint8_t>> myckey = get_field<std::shared_ptr<jarray<uint8_t>>>(field_t::CIPHERKEY) |
| field | - field to retrieve |
Update WIMAX field with the new value
| field type | field name | Example |
|---|---|---|
| direction_t | DIRECTION | set_field<direction_t>(field_t::DIRECTION, direction_t::ENCAP) |
| wimaxmode_t | MODE | set_field<wimaxmode_t>(field_t::MODE, wimaxmode_t::OFDMA) |
| cipher_t | CIPHER | set_field<cipher_t>(field_t::CIPHER, cipher_t::AES_CCM) |
| bool | EH | set_field<bool>(field_t::EH, true) |
| HT | set_field<bool>(field_t::HT, false) | |
| EC | set_field<bool>(field_t::EC, true) | |
| ESF | set_field<bool>(field_t::ESF, false) | |
| CI | set_field<bool>(field_t::CI, true) | |
| uint8_t | TYPE | set_field<uint8_t>(field_t::TYPE, 0) |
| EKS | set_field<uint8_t>(field_t::EKS, 0) | |
| FID | set_field<uint8_t>(field_t::FID, 0) | |
| uint16_t | CID | set_field<uint16_t>(field_t::CID, 0) |
| uint32_t | PN | set_field<uint32_t>(field_t::PN, 1) |
| CKEYLEN | set_field<uint32_t>(field_t::CKEYLEN, 1) | |
| ARLEN | set_field<uint32_t>(field_t::ARLEN, 1) | |
| jarray<uint8_t> | ARWIN | set_field<jarray<uint8_t>>(field_t::ARWIN, jarray<uint8_t>("000000000000000001") |
| std::shared_ptr<jarray<uint8_t>> | CIPHERKEY | set_field<std::shared_ptr<jarray<uint8_t>>>(field_t::CIPHERKEY, std::shared_ptr<jarray<uint8_t>>("000000000000000001")) |
| field | - field to update |
| fieldval | - new value for the field |
|
virtual |
Print the protocol and security objects to JSON
| myjson | - JSON object for printing |
| direction | - facilitator for random generation |
| indent | - indentation for JSON output |
Implements ProtocolPP::jsecass.
|
virtual |
Print the protocol and security objects to XML
| myxml | - XMLPrinter object for printing |
| direction | - facilitator for random generation |
Implements ProtocolPP::jsecass.