summaryrefslogtreecommitdiff
path: root/protocol.h
diff options
context:
space:
mode:
authorHåkon Nessjøen <haakon.nessjoen@gmail.com>2011-02-21 15:53:35 +0100
committerHåkon Nessjøen <haakon.nessjoen@gmail.com>2011-02-21 15:53:35 +0100
commit0058ac3010d79bf086ddfa0be9a44ee419bf7058 (patch)
tree7044300a72c731ffc6f9d6bca94d2ef2bdd76b0b /protocol.h
parentd3f4e55538788ec7569c5eb4a21622c516aa0d92 (diff)
downloadMAC-Telnet-0058ac3010d79bf086ddfa0be9a44ee419bf7058.tar.gz
MAC-Telnet-0058ac3010d79bf086ddfa0be9a44ee419bf7058.zip
Added MT_PTYPE_PING/PONG support in mactelnetd and added a macping tool. For this udp-checksum code was also added for raw packets.
Diffstat (limited to 'protocol.h')
-rw-r--r--protocol.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/protocol.h b/protocol.h
index b2066ba..3ca641f 100644
--- a/protocol.h
+++ b/protocol.h
@@ -38,6 +38,8 @@ enum mt_ptype {
MT_PTYPE_SESSIONSTART,
MT_PTYPE_DATA,
MT_PTYPE_ACK,
+ MT_PTYPE_PING = 4,
+ MT_PTYPE_PONG,
MT_PTYPE_END = 255
};
@@ -114,6 +116,11 @@ extern int add_control_packet(struct mt_packet *packet, enum mt_cptype cptype, v
extern void parse_packet(unsigned char *data, struct mt_mactelnet_hdr *pkthdr);
extern int parse_control_packet(unsigned char *data, int data_len, struct mt_mactelnet_control_hdr *cpkthdr);
+/* MAC-Ping packets */
+int init_pingpacket(struct mt_packet *packet, unsigned char *srcmac, unsigned char *dstmac);
+int init_pongpacket(struct mt_packet *packet, unsigned char *srcmac, unsigned char *dstmac);
+int add_packetdata(struct mt_packet *packet, unsigned char *data, unsigned short length);
+
/* MNDP packets */
extern int mndp_init_packet(struct mt_packet *packet, unsigned char version, unsigned char ttl);
extern int mndp_add_attribute(struct mt_packet *packet, enum mt_mndp_attrtype attrtype, void *attrdata, unsigned short data_len);