From ecb4be6662805b879c8d309c9480506f60961938 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Fri, 15 Jul 2005 13:18:30 +0000 Subject: [PATCH] STABLE14-windows-cmdebug-20050715 add TellMeAboutYourself functionality and report on capabilities if they are known. Used instead of WhoAreYou when supported by the cache manager. (cherry picked from commit 3f3fdba33058521bc3f68edf56ef56910d32f0c8) --- src/WINNT/afsd/cmdebug.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/WINNT/afsd/cmdebug.c b/src/WINNT/afsd/cmdebug.c index 93816b881..74bcc16e8 100644 --- a/src/WINNT/afsd/cmdebug.c +++ b/src/WINNT/afsd/cmdebug.c @@ -86,14 +86,25 @@ PrintCacheConfig(struct rx_connection *aconn) } } +#ifndef CAPABILITY_BITS +#define CAPABILITY_ERRORTRANS (1<<0) +#define CAPABILITY_BITS 1 +#endif + static int PrintInterfaces(struct rx_connection *aconn) { + Capabilities caps; struct interfaceAddr addr; char * p; int i, code; - code = RXAFSCB_WhoAreYou(aconn, &addr); + caps.Capabilities_val = NULL; + caps.Capabilities_len = 0; + + code = RXAFSCB_TellMeAboutYourself(aconn, &addr, &caps); + if (code == RXGEN_OPCODE) + code = RXAFSCB_WhoAreYou(aconn, &addr); if (code) { printf("cmdebug: error checking interfaces: %s\n", error_message(code)); @@ -114,6 +125,19 @@ PrintInterfaces(struct rx_connection *aconn) printf("\n"); } + if (caps.Capabilities_val) { + printf("Capabilities:\n"); + if (caps.Capabilities_val[0] & CAPABILITY_ERRORTRANS) { + printf("Error Translation\n"); + } + printf("\n"); + } + + if (caps.Capabilities_val) + free(caps.Capabilities_val); + caps.Capabilities_val = NULL; + caps.Capabilities_len = 0; + return 0; } -- 2.39.5