Author: Samuel Jero <sj323707@ohio.edu>
Date: 11/2012
-
-Notes:
- 1)CCID2 ONLY
- 2)DCCP MUST use 48 bit sequence numbers
- 3)Checksums are not computed (they are zeroed)
- 4)DCCP DATA packets are not implemented (Linux doesn't use them)
- 5)DCCP Ack packets show up as TCP packets containing one byte
******************************************************************************/
#ifndef ENCAP_H_
#define ENCAP_H_
* need to set this field. Typically this would be an
* IP address.
*
+ * char* (*print_id)(char* buf, int len, u_char* id, int id_len):
+ * This is a function to pretty-print the destination or
+ * source ID to the given buffer.
+ *
* struct const_packet *old: The Old packet. It contains the following fields.
*
* u_char* data: This is a pointer to the buffer containing the
/*Standard Encapsulation Functions*/
int ethernet_encap(struct packet *new, const struct const_packet *old);
+int ethernet_vlan_encap(struct packet *new, const struct const_packet *old);
int linux_cooked_encap(struct packet *new, const struct const_packet *old);
int ipv4_encap(struct packet *new, const struct const_packet *old);
int ipv6_encap(struct packet *new, const struct const_packet *old);
+/*Standard Print Functions*/
+char* print_ipv6(char* buf, int len, u_char* id, int id_len);
+char* print_ipv4(char* buf, int len, u_char* id, int id_len);
+
#endif /* ENCAP_H_ */