|
| | 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 |
| |
| | jsecass () |
| |
|
virtual | ~jsecass ()=default |
| | Standard deconstructor.
|
| |
|
| jsecass (jsecass &jsecass)=delete |
| |
|
| jsecass (const jsecass &jsecass)=delete |
| |
◆ jwimaxsa() [1/4]
| ProtocolPP::jwimaxsa::jwimaxsa |
( |
| ) |
|
Standard Constructor
WIMAX Defaults
| 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 |
◆ jwimaxsa() [2/4]
| 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
- Parameters
-
| 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 |
◆ jwimaxsa() [3/4]
| ProtocolPP::jwimaxsa::jwimaxsa |
( |
jwimaxsa & |
rhs | ) |
|
Copy constructor for wimax security association
- Parameters
-
| rhs | - Security association (SA) for this wimax flow |
◆ jwimaxsa() [4/4]
| ProtocolPP::jwimaxsa::jwimaxsa |
( |
std::shared_ptr< jwimaxsa > & |
rhs | ) |
|
|
explicit |
Copy constructor for wimax security association from shared pointer
- Parameters
-
| rhs | - Security association (SA) for this wimax flow |
◆ get_field()
template<typename T >
| T ProtocolPP::jwimaxsa::get_field |
( |
field_t |
field | ) |
|
Retrieve the field from the wimax header
WIMAX Get Fields
| 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) |
- Parameters
-
- Returns
- field value
◆ set_field()
template<typename T >
| void ProtocolPP::jwimaxsa::set_field |
( |
field_t |
field, |
|
|
T |
fieldval |
|
) |
| |
Update WIMAX field with the new value
WIMAX Set Fields
| 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")) |
- Parameters
-
| field | - field to update |
| fieldval | - new value for the field |
◆ to_json()
| void ProtocolPP::jwimaxsa::to_json |
( |
std::ofstream & |
myjson, |
|
|
direction_t |
direction, |
|
|
std::string & |
indent |
|
) |
| |
|
virtual |
Print the protocol and security objects to JSON
- Parameters
-
| myjson | - JSON object for printing |
| direction | - facilitator for random generation |
| indent | - indentation for JSON output |
Implements ProtocolPP::jsecass.
◆ to_xml()
Print the protocol and security objects to XML
- Parameters
-
| myxml | - XMLPrinter object for printing |
| direction | - facilitator for random generation |
Implements ProtocolPP::jsecass.
The documentation for this class was generated from the following file: