################################################
# compile_et to get unified_afs.h
-$(DESTDIR)\include\afs\unified_afs.c $(DESTDIR)\include\afs\unified_afs.h: unified_afs.et unified_afs.p.h
+INCDIR=$(DESTDIR)\include\
+
+$(INCDIR)\afs\unified_afs.c $(INCDIR)\afs\unified_afs.h: unified_afs.et unified_afs.p.h
$(DEL) unified_afs.c unified_afs.h
$(COMPILE_ET) unified_afs -h unified_afs
$(COPY) unified_afs.h $(DESTDIR)\include\afs
-install: $(DESTDIR)\include\afs\unified_afs.c
+install: $(INCDIR)\afs\unified_afs.c $(INCDIR)\afs\afs_stats.h
! IF (!EXIST($(OJT)\volser))
$(MKDIR) $(OJT)\volser
! ENDIF
+! IF (!EXIST($(OJT)\xstat))
+ $(MKDIR) $(OJT)\xstat
+! ENDIF
! IF (!EXIST($(OJT)\WINNT))
$(MKDIR) $(OJT)\WINNT
! ENDIF
--- /dev/null
+# Copyright 2000, International Business Machines Corporation and others.
+# All Rights Reserved.
+#
+# This software has been released under the terms of the IBM Public
+# License. For details, see the LICENSE file in the top-level source
+# directory or online at http://www.openafs.org/dl/license10.html
+
+# Makefile for the module providing the client side of the File Server
+# and Cache Manager extended statistics gathering.
+
+RELDIR=xstat
+!INCLUDE ..\config\NTMakefile.$(SYS_NAME)
+!INCLUDE ..\config\NTMakefile.version
+
+LIBDIR = $(DESTDIR)\lib
+INCDIR = $(DESTDIR)\include
+BINDIR = $(DESTDIR)\bin
+
+RPCINCLS=$(INCDIR)\lwp.h $(INCDIR)\rx\rx.h
+
+LIBS= \
+ $(LIBDIR)\afs\afsint.lib \
+ $(LIBDIR)\afs\afscmd.lib \
+ $(LIBDIR)\afsrx.lib \
+ $(LIBDIR)\afslwp.lib \
+ $(LIBDIR)\afs\afspioctl.lib \
+ $(LIBDIR)\afs\afsutil.lib \
+ $(LIBDIR)\afs\afsreg.lib
+
+
+install: \
+ $(INCDIR)\afs\xstat_fs.h \
+ $(INCDIR)\afs\xstat_cm.h \
+ $(LIBDIR)\afs_xstat_fs.lib \
+ $(LIBDIR)\afs_xstat_cm.lib \
+ $(BINDIR)\xstat_fs_test.exe \
+ $(BINDIR)\xstat_cm_test.exe
+
+#
+# File Server data collection
+#
+FSINCLS= $(INCDIR)\xstat_fs.h $(RPCINCLS)
+
+{.}.c{$(OUT)}.obj:
+ $(C2OBJ) $<
+
+$(LIBDIR)\afs_xstat_fs.lib: $(OUT)\xstat_fs.obj $(OUT)\xstat_fs_callback.obj $(OUT)\AFS_component_version_number.obj
+ $(LIBARCH)
+
+$(BINDIR)\xstat_fs_test.exe: $(OUT)\xstat_fs_test.obj $(LIBDIR)\afs_xstat_fs.lib $(LIBS)
+ $(EXECONLINK) rpcrt4.lib
+ $(_VC_MANIFEST_EMBED_EXE)
+ $(EXEPREP)
+
+#
+# Cache Manager data collection
+#
+CMINCLS=$(INCDIR)\xstat_cm.h $(RPCINCLS)
+
+$(LIBDIR)\afs_xstat_cm.lib: $(OUT)\xstat_cm.obj $(OUT)\AFS_component_version_number.obj
+ $(LIBARCH)
+
+$(BINDIR)\xstat_cm_test.exe: $(OUT)\xstat_cm_test.obj $(LIBDIR)\afs_xstat_cm.lib $(LIBS)
+ $(EXECONLINK)
+ $(_VC_MANIFEST_EMBED_EXE)
+ $(EXEPREP)
+
+#
+# Misc targets
+#
+clean::
+ $(DEL) -f $(OUT)\*.obj
+ $(DEL) -f $(OUT)\*.pdb
+ $(DEL) -f $(OUT)\*.ilk
+ $(DEL) -f $(INCDIR)\afs\xstat_fs.h
+ $(DEL) -f $(INCDIR)\afs\xstat_cm.h
+ $(DEL) -f $(LIBDIR)\afs_xstat_fs.lib
+ $(DEL) -f $(LIBDIR)\afs_xstat_cm.lib
+ $(DEL) -f $(BINDIR)\xstat_cm_test.exe
+ $(DEL) -f $(BINDIR)\xstat_fs_test.exe
+ $(DEL) -f AFS_component_version_number.c
char *hostNameFound; /*Ptr to returned host name */
int conn_err; /*Connection error? */
int collIDBytes; /*Num bytes in coll ID array */
+ char hoststr[16];
/*
* If we've already been called, snicker at the bozo, gently
*/
if (xstat_cm_debug) {
printf("[%s] Copying in the following socket info:\n", rn);
- printf("[%s] IP addr 0x%lx, port %d\n", rn,
- (a_socketArray + curr_srv)->sin_addr.s_addr,
- (a_socketArray + curr_srv)->sin_port);
+ printf("[%s] IP addr 0s, port %d\n", rn,
+ afs_inet_ntoa_r((a_socketArray + curr_srv)->sin_addr.s_addr,hoststr),
+ ntohs((a_socketArray + curr_srv)->sin_port));
}
memcpy(&(curr_conn->skt), a_socketArray + curr_srv,
sizeof(struct sockaddr_in));
hostutil_GetNameByINet(curr_conn->skt.sin_addr.s_addr);
if (hostNameFound == NULL) {
fprintf(stderr,
- "[%s] Can't map Internet address %lu to a string name\n",
- rn, curr_conn->skt.sin_addr.s_addr);
+ "[%s] Can't map Internet address %s to a string name\n",
+ rn, afs_inet_ntoa_r(curr_conn->skt.sin_addr.s_addr,hoststr));
curr_conn->hostName[0] = '\0';
} else {
strcpy(curr_conn->hostName, hostNameFound);
*/
if (xstat_cm_debug)
printf
- ("[%s] Connecting to srv idx %d, IP addr 0x%lx, port %d, service 1\n",
- rn, curr_srv, curr_conn->skt.sin_addr.s_addr,
- curr_conn->skt.sin_port);
+ ("[%s] Connecting to srv idx %d, IP addr %s, port %d, service 1\n",
+ rn, curr_srv, afs_inet_ntoa_r(curr_conn->skt.sin_addr.s_addr,hoststr),
+ ntohs(curr_conn->skt.sin_port));
curr_conn->rxconn = rx_NewConnection(curr_conn->skt.sin_addr.s_addr, /*Server addr */
curr_conn->skt.sin_port, /*Server port */
1, /*AFS service # */
0); /*# of above */
if (curr_conn->rxconn == (struct rx_connection *)0) {
fprintf(stderr,
- "[%s] Can't create Rx connection to server '%s' (%lu)\n",
- rn, curr_conn->hostName, curr_conn->skt.sin_addr.s_addr);
+ "[%s] Can't create Rx connection to server '%s' (%s)\n",
+ rn, curr_conn->hostName, afs_inet_ntoa_r(curr_conn->skt.sin_addr.s_addr,hoststr));
conn_err = 1;
}
if (xstat_cm_debug)
*------------------------------------------------------------------------*/
#include <sys/types.h> /*Basic system types */
+#ifndef AFS_NT40_ENV
#ifndef IPPROTO_IP
#include <netinet/in.h> /*Internet definitions */
#endif
#define _socket_h_
#include <sys/socket.h> /*Socket definitions */
#endif
+#endif /* AFS_NT40_ENV */
#include <rx/rx.h> /*Rx definitions */
#include <afs/afscbint.h> /*AFS CM callback interface */
extern afs_int32 SRXAFSCB_CallBack();
extern afs_int32 SRXAFSCB_InitCallBackState3();
extern afs_int32 SRXAFSCB_Probe();
+extern afs_int32 SRXAFSCB_ProbeUUID();
extern afs_int32 SRXAFSCB_GetCE();
extern afs_int32 SRXAFSCB_GetLock();
int conn_err; /*Connection error? */
int PortToUse; /*Callback port to use */
int collIDBytes; /*Num bytes in coll ID array */
+ char hoststr[16];
/*
* If we've already been called, snicker at the bozo, gently
* printable name if possible.
*/
if (xstat_fs_debug) {
+ char hoststr[16];
printf("[%s] Copying in the following socket info:\n", rn);
- printf("[%s] IP addr 0x%lx, port %d\n", rn,
- (a_socketArray + curr_srv)->sin_addr.s_addr,
- (a_socketArray + curr_srv)->sin_port);
+ printf("[%s] IP addr %s, port %d\n", rn,
+ afs_inet_ntoa_r((a_socketArray + curr_srv)->sin_addr.s_addr,hoststr),
+ ntohs((a_socketArray + curr_srv)->sin_port));
}
memcpy(&(curr_conn->skt), a_socketArray + curr_srv,
sizeof(struct sockaddr_in));
hostutil_GetNameByINet(curr_conn->skt.sin_addr.s_addr);
if (hostNameFound == NULL) {
fprintf(stderr,
- "[%s] Can't map Internet address %lu to a string name\n",
- rn, curr_conn->skt.sin_addr.s_addr);
+ "[%s] Can't map Internet address %s to a string name\n",
+ rn, afs_inet_ntoa_r(curr_conn->skt.sin_addr.s_addr,hoststr));
curr_conn->hostName[0] = '\0';
} else {
strcpy(curr_conn->hostName, hostNameFound);
*/
if (xstat_fs_debug)
printf
- ("[%s] Connecting to srv idx %d, IP addr 0x%lx, port %d, service 1\n",
- rn, curr_srv, curr_conn->skt.sin_addr.s_addr,
- curr_conn->skt.sin_port);
+ ("[%s] Connecting to srv idx %d, IP addr %s, port %d, service 1\n",
+ rn, curr_srv, afs_inet_ntoa_r(curr_conn->skt.sin_addr.s_addr,hoststr),
+ ntohs(curr_conn->skt.sin_port));
curr_conn->rxconn = rx_NewConnection(curr_conn->skt.sin_addr.s_addr, /*Server addr */
curr_conn->skt.sin_port, /*Server port */
0); /*# of above */
if (curr_conn->rxconn == (struct rx_connection *)0) {
fprintf(stderr,
- "[%s] Can't create Rx connection to server '%s' (%lu)\n",
- rn, curr_conn->hostName, curr_conn->skt.sin_addr.s_addr);
+ "[%s] Can't create Rx connection to server '%s' (%s)\n",
+ rn, curr_conn->hostName, afs_inet_ntoa_r(curr_conn->skt.sin_addr.s_addr,hoststr));
conn_err = 1;
}
if (xstat_fs_debug)
*------------------------------------------------------------------------*/
#include <sys/types.h> /*Basic system types */
+#ifndef AFS_NT40_ENV
#ifndef IPPROTO_IP
#include <netinet/in.h> /*Internet definitions */
#endif
#define _socket_h_
#include <sys/socket.h> /*Socket definitions */
#endif
+#endif /* AFS_NT40_ENV */
#include <rx/rx.h> /*Rx definitions */
#include <afs/afsint.h> /*AFS FileServer interface */
#include <afsconfig.h>
#include <afs/param.h>
+#ifdef AFS_NT40_ENV
+#include <windows.h>
+#include <rpc.h>
+#endif
RCSID
("$Header$");
{
int count;
+#ifdef AFS_NT40_ENV
+ UuidCreate((UUID *)&afs_cb_interface.uuid);
+#else
afs_uuid_create(&afs_cb_interface.uuid);
+#endif
count = rx_getAllAddr(&afs_cb_interface.addr_in, AFS_MAX_INTERFACE_ADDR);
if (count <= 0)
afs_cb_interface.numberOfInterfaces = 0;