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


| Public Types | |
| enum | tcpopt_t { END , NOP , MSS , WINSCALE , SELACK , SACK , TIMESTAMP } | 
| Options that TCP may add to the standard header.  More... | |
| enum | tcpstate_t { LISTEN , SYN_SENT , SYN_RCVD , ESTABLISHED , FIN_WAIT_1 , FIN_WAIT_2 , CLOSE_WAIT , LAST_ACK , TIME_WAIT , CLOSED } | 
| TCP states of operation.  More... | |
| Public Member Functions | |
| jtcp (tcpstate_t state, std::shared_ptr< jtcpsa > &security) | |
| jtcp (tcpstate_t state, std::shared_ptr< jtcpsa > &security, std::string &file) | |
| virtual | ~jtcp ()=default | 
| Standard deconstructor. | |
| void | encap_packet (std::shared_ptr< jarray< uint8_t >> &input, std::shared_ptr< jarray< uint8_t >> &output) | 
| void | decap_packet (std::shared_ptr< jarray< uint8_t >> &input, std::shared_ptr< jarray< uint8_t >> &output) | 
| void | set_field (field_t field, uint64_t value) | 
| void | set_hdr (jarray< uint8_t > &hdr) | 
| void | add_option (tcpopt_t OPT, jarray< uint8_t > &value) | 
| uint64_t | get_field (field_t field, jarray< uint8_t > &header) | 
| uint64_t | get_field (field_t field) | 
| jarray< uint8_t > | get_hdr () | 
| void | get_security (std::shared_ptr< jtcpsa > &sec) | 
| void | to_xml (tinyxml2::XMLPrinter &myxml, direction_t direction) | 
| void | to_json (std::ofstream &myjson, direction_t direction, std::string &indent) | 
| jtcp (jtcp &jtcp)=delete | |
| jtcp (const jtcp &jtcp)=delete | |
|  Public Member Functions inherited from ProtocolPP::jprotocol | |
| jprotocol (direction_t dir) | |
| jprotocol (direction_t dir, std::string &file) | |
| jprotocol (direction_t dir, std::shared_ptr< jrand > &rand) | |
| jprotocol (direction_t dir, std::shared_ptr< jrand > &rand, std::string &file) | |
| virtual | ~jprotocol () | 
| Standard deconstructor. | |
| virtual void | encap_packet (std::shared_ptr< jarray< uint8_t >> &output) | 
| virtual void | decap_packet (std::shared_ptr< jarray< uint8_t >> &input) | 
| bool | hasfile () | 
| uint32_t | get_status () | 
| jarray< uint8_t > | checksum (iana_t prot, direction_t dir, jarray< uint8_t > &check, uint32_t offset=0) | 
| jarray< uint8_t > | pad (pad_t padtype, uint32_t len) | 
| jprotocol (jprotocol &jprotocol)=delete | |
| jprotocol (const jprotocol &jprotocol)=delete | |
| Additional Inherited Members | |
|  Static Public Member Functions inherited from ProtocolPP::jprotocol | |
| const static std::string | currentDateTime () | 
| static std::string | str_status (uint32_t status) | 
| static jarray< uint8_t > | to_array (uint8_t input) | 
| static jarray< uint8_t > | to_array (uint16_t input) | 
| static jarray< uint8_t > | to_array (uint32_t input) | 
| static jarray< uint8_t > | to_array (uint64_t input) | 
| static uint8_t | to_u8 (jarray< uint8_t > src_array) | 
| static uint16_t | to_u16 (jarray< uint8_t > src_array) | 
| static uint32_t | to_u32 (jarray< uint8_t > src_array) | 
| static uint64_t | to_u64 (jarray< uint8_t > src_array) | 
| static uint32_t | fnv_hash (std::shared_ptr< jarray< uint8_t >> &header, jarray< uint8_t > &mask, uint32_t hdrlen) | 
|  Protected Member Functions inherited from ProtocolPP::jprotocol | |
| template<typename T , typename TE > | |
| std::shared_ptr< jreplay< T, TE > > | update_replay (protocol_t prot, T &seqnum, TE &extseq, bool usext, uint32_t size) | 
| template<typename T , typename TE > | |
| std::shared_ptr< jreplay< T, TE > > | update_replay (protocol_t prot, T &seqnum, TE &extseq, bool usext, uint32_t size, jarray< uint8_t > &window) | 
| void | update_status (uint32_t stat) | 
| void | get_data (std::shared_ptr< jarray< uint8_t >> &data) | 
| void | put_data (std::shared_ptr< jarray< uint8_t >> &wdata) | 
| void | encryptdat (std::shared_ptr< jarray< uint8_t >> &red, std::shared_ptr< jarray< uint8_t >> &black) | 
| void | decryptdat (std::shared_ptr< jarray< uint8_t >> &black, std::shared_ptr< jarray< uint8_t >> &red) | 
| uint32_t | roundup (uint32_t value, uint32_t mult) | 
|  Protected Attributes inherited from ProtocolPP::jprotocol | |
| direction_t | m_dir | 
| direction of processing | |
| uint32_t | m_status | 
| std::shared_ptr< jrand > | m_rand | 
| random data generator passed into constructor | |
| std::string | m_filename | 
| file input string for this protocol | |
| std::fstream | m_file | 
| input file stream object for this protocol | |
| endian_t | m_endian | 
| endianess string for this protocol | |
Options that TCP may add to the standard header.
TCP states of operation.
| ProtocolPP::jtcp::jtcp | ( | tcpstate_t | state, | 
| std::shared_ptr< jtcpsa > & | security | ||
| ) | 
constructor for normal TCP containing all necessary fields to setup and run a TCP connection. All fields are accessible with the set_field() and get_field() functions
| state | - Initial state of the engine (either LISTEN for SERVER or SYN_SENT for CLIENT). Can be ESTABLISHED | 
| security | - Parameters to setup a TCP flow | 
| ProtocolPP::jtcp::jtcp | ( | tcpstate_t | state, | 
| std::shared_ptr< jtcpsa > & | security, | ||
| std::string & | file | ||
| ) | 
constructor for normal TCP with file input containing all necessary fields to setup and run a TCP connection. All fields are accessible with the set_field() and get_field() functions
| state | - Initial state of the engine (either LISTEN for SERVER or SYN_SENT for CLIENT). Can be ESTABLISHED | 
| security | - Parameters to setup a TCP flow | 
| file | - path to file to use to source packet payloads | 
Allows the user to add options to the TCP header
| OPT | - option to add to the TCP header | 
| value | - value of the option to add to the TCP header | 
| 
 | virtual | 
This function is for use with the constructor without a file handle. Decap will produce a payload from the packet passed in check the flags, and update the window
| input | - TCP packet to decapsulate | 
| output | - decapsulated payload | 
Implements ProtocolPP::jprotocol.
| 
 | virtual | 
This function is for use with the constructor without a file handle. Encap will produce a packet from the payload passed in
| input | - payload to encapsulate with TCP | 
| output | - encapsulated TCP packet | 
Implements ProtocolPP::jprotocol.
| 
 | virtual | 
Retrieves the field from the TCP security association
| field | - field from TCP security association to retrieve | 
Reimplemented from ProtocolPP::jprotocol.
Retrieves the field from the TCP header
| field | - field from TCP header to retrieve | 
| header | - TCP header to retrieve field from | 
Implements ProtocolPP::jprotocol.
| 
 | virtual | 
| void ProtocolPP::jtcp::get_security | ( | std::shared_ptr< jtcpsa > & | sec | ) | 
get_security
| sec | - Shared pointer to hold the security association | 
| 
 | virtual | 
Allows the user to update a field in the header
| field | - field to update in the TCP header | 
| value | - new value to add to the TCP header | 
Implements ProtocolPP::jprotocol.
| 
 | virtual | 
Allows the user to update complete TCP header
| hdr | - new header to add to the TCP header | 
Implements ProtocolPP::jprotocol.
| 
 | virtual | 
Writes the protocol and security objects to JSON
| myjson | - JSON object | 
| direction | - randomization | 
| indent | - indentation for JSON output | 
Implements ProtocolPP::jprotocol.
| 
 | virtual | 
Writes the XML protocol and security objects to XML
| myxml | - XMLPrinter object | 
| direction | - randomization | 
Implements ProtocolPP::jprotocol.