X-Git-Url: http://sjero.net/git/?a=blobdiff_plain;f=encap.h;h=010cac2531da54cddf152568b34d82fb69d59cef;hb=5e3bc5722d048a5b9581cbe27c64de5048d444b0;hp=1b7abca066b0f4a5973a757cdbe2d264cf5d1e3c;hpb=693b1f41fcb64bcf4872dae265aad082bbe1af1c;p=dccp2tcp diff --git a/encap.h b/encap.h index 1b7abca..010cac2 100644 --- a/encap.h +++ b/encap.h @@ -1,10 +1,24 @@ /****************************************************************************** -Author: Samuel Jero +Utility to convert a DCCP flow to a TCP flow for DCCP analysis via + tcptrace. Header file for Encapsulation Functions for DCCP to TCP conversion. -Date: 7/2011 +Copyright (C) 2012 Samuel Jero -Description: Header file for Encapsulation Functions for DCCP to TCP conversion +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +Author: Samuel Jero +Date: 11/2012 ******************************************************************************/ #ifndef ENCAP_H_ #define ENCAP_H_ @@ -26,16 +40,22 @@ Description: Header file for Encapsulation Functions for DCCP to TCP conversion * space AND must return with this parameter containing * the length of the new packet at that layer. * - * uint32_t src_id: This is an ID for the source host. If you are going to + * int id_len: Length of the source and destination ID. + * + * u_char *src_id: This is an ID for the source host. If you are going to * demultiplex DCCP on anything but Port Numbers, you * need to set this field. Typically this would be an * IP address. * - * uint32_t dest_id: This is an ID for the destination host. If you are going to + * u_char *dest_id: This is an ID for the destination host. If you are going to * demultiplex DCCP on anything but Port Numbers, you * 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 @@ -56,7 +76,13 @@ int convert_packet(struct packet *new, const struct const_packet *old); /*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_ */