diff options
author | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2012-02-24 07:57:48 +0000 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2012-02-24 07:57:48 +0000 |
commit | fc88f5558ad682448286614f2c303f50cc591896 (patch) | |
tree | 48d8c79a70f21e08161407729d94f8c18b725ffb /epan/dissectors/packet-i2c.c | |
parent | 1b6a35348b9f26c15b7a6dc09041489776f53b73 (diff) |
From Martin Kaiser via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6838
Support HDCP version 1 over I2c
the attached patch adds support for HDCP version 1. This is the authentication that runs between your DVD/Bluray player and your TV when they're connected via an HDMI cable.
svn path=/trunk/; revision=41172
Diffstat (limited to 'epan/dissectors/packet-i2c.c')
-rw-r--r-- | epan/dissectors/packet-i2c.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/epan/dissectors/packet-i2c.c b/epan/dissectors/packet-i2c.c index e11ef026ae..84f369cfb4 100644 --- a/epan/dissectors/packet-i2c.c +++ b/epan/dissectors/packet-i2c.c @@ -35,6 +35,7 @@ #include <epan/prefs.h> #include "packet-i2c.h" +#include "packet-hdcp.h" static int proto_i2c = -1; @@ -48,6 +49,7 @@ static gint ett_i2c = -1; enum { SUB_DATA = 0, SUB_IPMB, + SUB_HDCP, SUB_MAX }; @@ -178,7 +180,8 @@ sub_check_ipmb(packet_info *pinfo) static sub_checkfunc_t sub_check[SUB_MAX] = { NULL, /* raw data */ - sub_check_ipmb /* IPMI */ + sub_check_ipmb, /* IPMI */ + sub_check_hdcp /* HDCP */ }; static void @@ -277,6 +280,7 @@ proto_register_i2c(void) static const enum_val_t sub_enum_vals[] = { { "none", "None (raw I2C)", SUB_DATA }, { "ipmb", "IPMB", SUB_IPMB }, + { "hdcp", "HDCP", SUB_HDCP }, { NULL, NULL, 0 } }; module_t *m; @@ -286,7 +290,8 @@ proto_register_i2c(void) proto_register_subtree_array(ett, array_length(ett)); m = prefs_register_protocol(proto_i2c, NULL); - prefs_register_enum_preference(m, "type", "Bus type", "How the I2C messages are interpreted", + prefs_register_enum_preference(m, "type", "Bus/Data type", + "How the I2C messages are interpreted", &sub_selected, sub_enum_vals, FALSE); } @@ -297,6 +302,7 @@ proto_reg_handoff_i2c(void) sub_handles[SUB_DATA] = find_dissector("data"); sub_handles[SUB_IPMB] = find_dissector("ipmi"); + sub_handles[SUB_HDCP] = find_dissector("hdcp"); i2c_handle = create_dissector_handle(dissect_i2c, proto_i2c); dissector_add_uint("wtap_encap", WTAP_ENCAP_I2C, i2c_handle); } |