diff options
author | Mark Probst <mark.probst@gmail.com> | 2013-02-14 21:51:03 +0400 |
---|---|---|
committer | Mark Probst <mark.probst@gmail.com> | 2013-02-15 01:49:11 +0400 |
commit | 77b16536ee869cfd1f29ccb7a4221ed459ee7766 (patch) | |
tree | 15a0fdff7d0f576ef11524af004e45db043f50ec /tools/sgen | |
parent | c5f97d9b7a03ffea6d44be7a9224595458220cba (diff) |
[sgen] Binary protocol for disappearing link updates.
Diffstat (limited to 'tools/sgen')
-rw-r--r-- | tools/sgen/sgen-grep-binprot.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/sgen/sgen-grep-binprot.c b/tools/sgen/sgen-grep-binprot.c index c8e897b6d0a..ea19d4a6caf 100644 --- a/tools/sgen/sgen-grep-binprot.c +++ b/tools/sgen/sgen-grep-binprot.c @@ -40,6 +40,7 @@ read_entry (FILE *in, void **data) case SGEN_PROTOCOL_CARD_SCAN: size = sizeof (SGenProtocolCardScan); break; case SGEN_PROTOCOL_CEMENT: size = sizeof (SGenProtocolCement); break; case SGEN_PROTOCOL_CEMENT_RESET: size = 0; break; + case SGEN_PROTOCOL_DISLINK_UPDATE: size = sizeof (SGenProtocolDislinkUpdate); break; default: assert (0); } @@ -163,6 +164,14 @@ print_entry (int type, void *data) case SGEN_PROTOCOL_CEMENT_RESET: { printf ("cement_reset\n"); break; + case SGEN_PROTOCOL_DISLINK_UPDATE: { + SGenProtocolDislinkUpdate *entry = data; + printf ("dislink_update link %p obj %p", entry->link, entry->obj); + if (entry->obj) + printf (" track %d\n", entry->track); + else + printf ("\n"); + break; } default: assert (0); @@ -239,6 +248,10 @@ is_match (gpointer ptr, int type, void *data) SGenProtocolCement *entry = data; return matches_interval (ptr, entry->obj, entry->size); } + case SGEN_PROTOCOL_DISLINK_UPDATE: { + SGenProtocolDislinkUpdate *entry = data; + return ptr == entry->obj || ptr == entry->link; + } default: assert (0); } |