windows-cmdebug-20050715
authorJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 15 Jul 2005 13:17:53 +0000 (13:17 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 15 Jul 2005 13:17:53 +0000 (13:17 +0000)
add TellMeAboutYourself functionality and report on capabilities if they
are known.  Used instead of WhoAreYou when supported by the cache manager.

src/WINNT/afsd/cmdebug.c

index 93816b8..74bcc16 100644 (file)
@@ -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;
 }