From 35c9e825fd269c6f3c19a1c9f273e047dcee6ccd Mon Sep 17 00:00:00 2001 From: Sam Hartman Date: Tue, 11 Sep 2001 14:24:29 +0000 Subject: [PATCH] Initial revision --- .cvsignore | 15 + README.CVS | 13 + configure-libafs.in | 468 ++++++++++++++++++ .../afs_setup_utils/GetWebDll/GetWebDll.cpp | 409 +++++++++++++++ .../afs_setup_utils/GetWebDll/GetWebDll.def | 7 + .../afs_setup_utils/GetWebDll/GetWebDll.dep | 5 + .../afs_setup_utils/GetWebDll/GetWebDll.h | 67 +++ .../afs_setup_utils/GetWebDll/GetWebDll.rc | 122 +++++ .../afs_setup_utils/GetWebDll/GetWebDllFun.h | 14 + .../afs_setup_utils/GetWebDll/Resource.h | 16 + src/WINNT/afs_setup_utils/GetWebDll/StdAfx.h | 44 ++ .../afs_setup_utils/GetWebDll/ntmakefile | 103 ++++ src/WINNT/afs_setup_utils/_isuser/_IsUser.RC | 188 +++++++ src/WINNT/afs_setup_utils/_isuser/_IsUser.dep | 5 + src/WINNT/afs_setup_utils/_isuser/_isuser.c | 21 + src/WINNT/afs_setup_utils/_isuser/ntmakefile | 110 ++++ src/WINNT/afs_setup_utils/_isuser/resource.h | 38 ++ src/afs/.cvsignore | 5 + src/afs/Makefile.in | 165 ++++++ 19 files changed, 1815 insertions(+) create mode 100644 .cvsignore create mode 100644 README.CVS create mode 100644 configure-libafs.in create mode 100644 src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.cpp create mode 100644 src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.def create mode 100644 src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.dep create mode 100644 src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.h create mode 100644 src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.rc create mode 100644 src/WINNT/afs_setup_utils/GetWebDll/GetWebDllFun.h create mode 100644 src/WINNT/afs_setup_utils/GetWebDll/Resource.h create mode 100644 src/WINNT/afs_setup_utils/GetWebDll/StdAfx.h create mode 100644 src/WINNT/afs_setup_utils/GetWebDll/ntmakefile create mode 100644 src/WINNT/afs_setup_utils/_isuser/_IsUser.RC create mode 100644 src/WINNT/afs_setup_utils/_isuser/_IsUser.dep create mode 100644 src/WINNT/afs_setup_utils/_isuser/_isuser.c create mode 100644 src/WINNT/afs_setup_utils/_isuser/ntmakefile create mode 100644 src/WINNT/afs_setup_utils/_isuser/resource.h create mode 100644 src/afs/.cvsignore create mode 100644 src/afs/Makefile.in diff --git a/.cvsignore b/.cvsignore new file mode 100644 index 000000000..4360cc321 --- /dev/null +++ b/.cvsignore @@ -0,0 +1,15 @@ +Makefile +aclocal.m4 +config.log +config.status +configure +configure-libafs +hp_ux102 +hp_ux110 +i386_linux22 +i386_linux24 +include +lib +sgi_65 +sun4x_56 +sun4x_57 diff --git a/README.CVS b/README.CVS new file mode 100644 index 000000000..10e708263 --- /dev/null +++ b/README.CVS @@ -0,0 +1,13 @@ +*WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING* *WARNING* +The CVS tree may not always have code which can currently be built. +While every effort is made to keep the head of the tree buildable, +you may at any time find yourself between commits and hence have a tree +which does not build, or worse, causes more serious problems! + +Do not use the CVS tree unless you know what you're doing. + +CVS snapshots do not include files generated by autoconf; You can +run regen.sh (at the top level) to create these files. You will need +to have autoconf installed on your system. + + diff --git a/configure-libafs.in b/configure-libafs.in new file mode 100644 index 000000000..0b03d484b --- /dev/null +++ b/configure-libafs.in @@ -0,0 +1,468 @@ +AC_INIT(Makefile.common) +AM_INIT_AUTOMAKE(openafs-libafs,1.2.0) +AC_CANONICAL_HOST +AC_CONFIG_HEADER(src/config/afsconfig.h) + +#BOZO_SAVE_CORES BOS_RESTRICTED_MODE BOS_NEW_CONFIG pam sia +AC_ARG_WITH(afs-sysname, +[ --with-afs-sysname=sys use sys for the afs sysname] +) +AC_ARG_ENABLE( obsolete, +[ --enable-obsolete enable obsolete portions of AFS (mpp, ntp and package)],, enable_obsolete="no") +AC_ARG_ENABLE( insecure, +[ --enable-insecure enable insecure portions of AFS (ftpd, inetd, rcp, rlogind and rsh)],, enable_insecure="no") +AC_ARG_ENABLE( afsdb, +[ --disable-afsdb disable AFSDB RR support],, enable_afsdb="yes") +AC_ARG_ENABLE( bos-restricted-mode, +[ --enable-bos-restricted-mode enable bosserver restricted mode which disables certain bosserver functionality],, enable_bos_restricted_mode="no") +AC_ARG_ENABLE( namei-fileserver, +[ --enable-namei-fileserver force compilation of namei fileserver in preference to inode fileserver],, enable_namei_fileserver="no") +AC_ARG_ENABLE( fast-restart, +[ --enable-fast-restart enable fast startup of file server without salvaging],, enable_fast_restart="no") +AC_ARG_ENABLE( bitmap-later, +[ --enable-bitmap-later enable fast startup of file server by not reading bitmap till needed],, enable_bitmap_later="no") +AC_ARG_ENABLE( full-vos-listvol-switch, +[ --enable-full-vos-listvol-switch enable vos full listvol switch for formatted output],, enable_full_vos_listvol_switch="no") +AC_ARG_WITH(dux-kernel-headers, +[ --with-dux-kernel-headers=path use the kernel headers found at path(optional, defaults to first match in /usr/sys)] +) +AC_ARG_WITH(linux-kernel-headers, +[ --with-linux-kernel-headers=path use the kernel headers found at path(optional, defaults to /usr/src/linux)] +) +AC_ARG_ENABLE(kernel-module, +[ --disable-kernel-module disable compilation of the kernel module (defaults to enabled)],, enable_kernel_module="yes" +) +AC_ARG_ENABLE(redhat-buildsys, +[ --enable-redhat-buildsys enable compilation of the redhat build system kernel (defaults to disabled)],, enable_redhat_buildsys="no" +) +AC_ARG_ENABLE(transarc-paths, +[ --enable-transarc-paths Use Transarc style paths like /usr/afs and /usr/vice],, enable_transarc_paths="no" +) + +AC_PROG_CC + +dnl weird ass systems +AC_AIX +AC_ISC_POSIX +AC_MINIX + +dnl Various compiler setup. +AC_C_INLINE +AC_C_CONST +AC_TYPE_PID_T +AC_TYPE_SIZE_T +AC_TYPE_SIGNAL + +dnl Checks for programs. +AC_PROG_INSTALL +AC_PROG_LN_S +AC_PROG_RANLIB +AC_PROG_YACC +AM_PROG_LEX + +OPENAFS_CHECK_BIGENDIAN + +AC_MSG_CHECKING(your OS) +system=$host +case $system in + *-linux*) + MKAFS_OSTYPE=LINUX + if test "x$enable_redhat_buildsys" = "xyes"; then + AC_DEFINE(ENABLE_REDHAT_BUILDSYS) + fi + if test "x$enable_kernel_module" = "xyes"; then + if test "x$with_linux_kernel_headers" != "x"; then + LINUX_KERNEL_PATH="$with_linux_kernel_headers" + else + LINUX_KERNEL_PATH="/usr/src/linux" + fi + if test -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then + linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $2 }'|tail -1` + if test "x$linux_kvers" = "x"; then + if test -f "$LINUX_KERNEL_PATH/include/linux/version-up.h"; then + linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $2 }'|tail -1` + if test "x$linux_kvers" = "x"; then + + AC_MSG_ERROR(Linux headers lack version definition [2]) + exit 1 + else + LINUX_VERSION="$linux_kvers" + fi + else + AC_MSG_ERROR(Linux headers lack version definition) + exit 1 + fi + else + LINUX_VERSION="$linux_kvers" + fi + else + enable_kernel_module="no" + fi + if test ! -f "$LINUX_KERNEL_PATH/include/linux/autoconf.h"; then + enable_kernel_module="no" + fi + if test "x$enable_kernel_module" = "xno"; then + if test "x$with_linux_kernel_headers" != "x"; then + AC_MSG_ERROR(No usable linux headers found at $LINUX_KERNEL_PATH) + exit 1 + else + AC_MSG_WARN(No usable linux headers found at $LINUX_KERNEL_PATH so disabling kernel module) + fi + fi + fi + AC_MSG_RESULT(linux) + if test "x$enable_kernel_module" = "xyes"; then + LINUX_FS_STRUCT_INODE_HAS_I_BYTES + LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK + LINUX_FS_STRUCT_INODE_HAS_I_CDEV + LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM + LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS + LINUX_FS_STRUCT_INODE_HAS_I_MAPPING_OVERLOAD + LINUX_FS_STRUCT_INODE_HAS_I_MMAP_SHARED + LINUX_INODE_SETATTR_RETURN_TYPE + LINUX_NEED_RHCONFIG + LINUX_WHICH_MODULES + if test "x$ac_cv_linux_func_inode_setattr_returns_int" = "xyes" ; then + AC_DEFINE(INODE_SETATTR_NOT_VOID) + fi + if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then + AC_DEFINE(STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS) + fi + if test "x$ac_cv_linux_fs_struct_inode_has_i_mmap_shared" = "xyes"; then + AC_DEFINE(STRUCT_INODE_HAS_I_MMAP_SHARED) + fi + if test "x$ac_cv_linux_fs_struct_inode_has_i_mapping_overload" = "xyes"; then + AC_DEFINE(STRUCT_INODE_HAS_I_MAPPING_OVERLOAD) + fi + if test "x$ac_cv_linux_fs_struct_inode_has_i_cdev" = "xyes"; then + AC_DEFINE(STRUCT_INODE_HAS_I_CDEV) + fi + if test "x$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" = "xyes"; then + AC_DEFINE(STRUCT_INODE_HAS_I_TRUNCATE_SEM) + fi + if test "x$ac_cv_linux_fs_struct_inode_has_i_bytes" = "xyes"; then + AC_DEFINE(STRUCT_INODE_HAS_I_BYTES) + fi + if test "x$ac_cv_linux_fs_struct_address_space_has_page_lock" = "xyes"; then + AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK) + fi + : + fi + ;; + *-solaris*) + MKAFS_OSTYPE=SOLARIS + AC_MSG_RESULT(sun4) + SOLARIS_UFSVFS_HAS_DQRWLOCK + ;; + *-hpux*) + MKAFS_OSTYPE=HPUX + AC_MSG_RESULT(hp_ux) + ;; + *-irix*) + MKAFS_OSTYPE=IRIX + AC_MSG_RESULT(sgi) + ;; + *-aix*) + MKAFS_OSTYPE=AIX + AC_MSG_RESULT(rs_aix) + ;; + *-osf*) + MKAFS_OSTYPE=DUX + AC_MSG_RESULT(alpha_dux) + if test "x$enable_kernel_module" = "xyes"; then + if test "x$with_dux_kernel_headers" != "x"; then + HEADER_RT=`ls ${with_dux_kernel_headers}/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'` + else + HEADER_RT=`ls /usr/sys/*/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'` + fi + fi + if test "$HEADER_RT" = "*" ; then + AC_MSG_ERROR([Need a configured kernel directory]) + fi + AC_SUBST([HEADER_RT]) + ;; + *-darwin*) + MKAFS_OSTYPE=DARWIN + AC_MSG_RESULT(ppc_darwin) + ;; + *-freebsd*) + MKAFS_OSTYPE=FBSD + AC_MSG_RESULT(i386_fbsd) + ;; + *) + AC_MSG_RESULT($system) + ;; +esac + +if test "x$with_afs_sysname" != "x"; then + AFS_SYSNAME="$with_afs_sysname" +else + AC_MSG_CHECKING(your AFS sysname) + case $host in + i?86-*-freebsd4.2*) + AFS_SYSNAME="i386_fbsd_42" + ;; + hppa*-hp-hpux11*) + AFS_SYSNAME="hp_ux110" + ;; + hppa*-hp-hpux10*) + AFS_SYSNAME="hp_ux102" + ;; + powerpc-apple-darwin1.2*) + AFS_SYSNAME="ppc_darwin_12" + DARWIN_PLIST=src/afsd/afs.${AFS_SYSNAME}.plist + ;; + powerpc-apple-darwin1.3*) + AFS_SYSNAME="ppc_darwin_13" + DARWIN_PLIST=src/afsd/afs.${AFS_SYSNAME}.plist + ;; + powerpc-apple-darwin1.4*) + AFS_SYSNAME="ppc_darwin_14" + DARWIN_PLIST=src/afsd/afs.${AFS_SYSNAME}.plist + ;; + sparc-sun-solaris2.5*) + AFS_SYSNAME="sun4x_55" + ;; + sparc-sun-solaris2.6) + AFS_SYSNAME="sun4x_56" + ;; + sparc-sun-solaris2.7) + AFS_SYSNAME="sun4x_57" + ;; + sparc-sun-solaris2.8) + AFS_SYSNAME="sun4x_58" + ;; + alpha*-dec-osf4.0*) + AFS_SYSNAME="alpha_dux40" + ;; + alpha*-dec-osf5.0*) + AFS_SYSNAME="alpha_dux50" + ;; + mips-sgi-irix6.5) + AFS_SYSNAME="sgi_65" + ;; + ia64-*-linux*) + AFS_SYSNAME="ia64_linuxXX" + ;; + powerpc-*-linux*) + AFS_SYSNAME="ppc_linuxXX" + ;; + alpha*-linux*) + AFS_SYSNAME="alpha_linux_XX" + ;; + s390-*-linux*) + AFS_SYSNAME="s390_linuxXX" + ;; + sparc-*-linux*) + AFS_SYSNAME="sparc_linuxXX" + ;; + sparc64-*-linux*) + AFS_SYSNAME="sparc64_linuxXX" + ;; + i?86-*-linux*) + AFS_SYSNAME="i386_linuxXX" + ;; + power*-ibm-aix4.2*) + AFS_SYSNAME="rs_aix42" + ;; + power*-ibm-aix4.3*) + AFS_SYSNAME="rs_aix42" + ;; + *) + AC_MSG_ERROR(An AFS sysname is required) + exit 1 + ;; + esac + case $AFS_SYSNAME in + *_linux*) + AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $1 $2}'` + if test "x${AFS_SYSKVERS}" = "x"; then + AC_MSG_ERROR(Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname.) + fi + _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/XX\$/$AFS_SYSKVERS/` + AFS_SYSNAME="$_AFS_SYSNAME" + ;; + esac + AC_MSG_RESULT($AFS_SYSNAME) +fi + + +if test "x${MKAFS_OSTYPE}" = "xIRIX"; then + echo Skipping library tests because they confuse Irix. +else + AC_CHECK_FUNCS(socket) + + if test "$ac_cv_func_socket" = no; then + for lib in socket inet; do + if test "$HAVE_SOCKET" != 1; then + AC_CHECK_LIB(${lib}, socket,LIBS="$LIBS -l$lib";HAVE_SOCKET=1;AC_DEFINE(HAVE_SOCKET)) + fi + done + fi + + AC_CHECK_FUNCS(connect) + + if test "$ac_cv_func_connect" = no; then + for lib in nsl; do + if test "$HAVE_CONNECT" != 1; then + AC_CHECK_LIB(${lib}, connect,LIBS="$LIBS -l$lib";HAVE_CONNECT=1;AC_DEFINE(HAVE_CONNECT)) + fi + done + fi + + AC_CHECK_FUNCS(gethostbyname) + if test "$ac_cv_func_gethostbyname" = no; then + for lib in dns nsl resolv; do + if test "$HAVE_GETHOSTBYNAME" != 1; then + AC_CHECK_LIB(${lib}, gethostbyname, LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;AC_DEFINE(HAVE_GETHOSTBYNAME)) + fi + done + fi + + AC_CHECK_FUNCS(res_search) + if test "$ac_cv_func_res_search" = no; then + for lib in dns nsl resolv; do + if test "$HAVE_RES_SEARCH" != 1; then + AC_CHECK_LIB(${lib}, res_search, LIBS="$LIBS -l$lib";HAVE_RES_SEARCH=1;AC_DEFINE(HAVE_RES_SEARCH)) + fi + done + if test "$HAVE_RES_SEARCH" = 1; then + LIB_res_search="-l$lib" + fi + fi +fi + +PTHREAD_LIBS=error +AC_CHECK_LIB(pthread, pthread_attr_init, + PTHREAD_LIBS="-lpthread") +if test "x$PTHREAD_LIBS" = xerror; then + AC_CHECK_LIB(pthreads, pthread_attr_init, + PTHREAD_LIBS="-lpthreads") +fi +if test "x$PTHREAD_LIBS" = xerror; then + AC_CHECK_LIB(c_r, pthread_attr_init, + PTHREAD_LIBS="-lc_r") +fi +if test "x$PTHREAD_LIBS" = xerror; then + AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="") +fi +if test "x$PTHREAD_LIBS" = xerror; then + AC_MSG_WARN(*** Unable to locate working posix thread library ***) +fi +AC_SUBST(PTHREAD_LIBS) + +WITH_OBSOLETE=NO +if test "$enable_obsolete" = "yes"; then + WITH_OBSOLETE=YES +fi + +WITH_INSECURE=NO +if test "$enable_insecure" = "yes"; then + WITH_INSECURE=YES +fi + +# Fast restart +if test "$enable_fast_restart" = "yes"; then + AC_DEFINE(FAST_RESTART) +fi + +if test "$enable_bitmap_later" = "yes"; then + AC_DEFINE(BITMAP_LATER) +fi + +if test "$enable_full_vos_listvol_switch" = "yes"; then + AC_DEFINE(FULL_LISTVOL_SWITCH) +fi + +if test "$enable_bos_restricted_mode" = "yes"; then + AC_DEFINE(BOS_RESTRICTED_MODE) +fi + +if test "$enable_namei_fileserver" = "yes"; then + AC_DEFINE(AFS_NAMEI_ENV) +fi + +if test "$enable_afsdb" = "yes"; then + LIB_AFSDB="$LIB_res_search" + AC_DEFINE(AFS_AFSDB_ENV) +fi + +SRCDIR_PARENT=`pwd` +TOP_SRCDIR="${SRCDIR_PARENT}" +DESTDIR="${SRCDIR_PARENT}/${AFS_SYSNAME}/dest/" +TOP_INCDIR="${SRCDIR_PARENT}/include" +TOP_LIBDIR="${SRCDIR_PARENT}/lib" + +dnl checks for header files. +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_HEADER_DIRENT +AC_CHECK_HEADERS(stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h) +AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h) +AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h) +AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h) +AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h) +AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h) + +AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf re_comp re_exec) + +dnl Directory PATH handling +if test "x$enable_transarc_paths" = "xyes" ; then + afsconfdir=${afsconfdir=/usr/afs/etc} + viceetcdir=${viceetcdir=/usr/vice/etc} + afskerneldir=${afskerneldir=${viceetcdir}} + afssrvbindir=${afssrvbindir=/usr/afs/bin} + afssrvsbindir=${afssrvsbindir=/usr/afs/bin} + afssrvlibexecdir=${afssrvlibexecdir=/usr/afs/bin} + afsdbdir=${afsdbdir=/usr/afs/db} + afslogsdir=${afslogsdir=/usr/afs/logs} + afslocaldir=${afslocaldir=/usr/afs/local} + afsbackupdir=${afsbackupdir=/usr/afs/backup} + afsbosconfigdir=${afsbosconfigdir=/usr/afs/local} + else + afsconfdir=${afsconfdir=$sysconfdir/openafs/server} + viceetcdir=${viceetcdir=$sysconfdir/openafs} + afskerneldir=${afskerneldir=$libdir/openafs} + afssrvbindir=${afssrvbindir=$bindir} + afssrvsbindir=${afssrvsbindir=$sbindir} + afssrvlibexecdir=${afssrvlibexecdir=$libexecdir/openafs} + afsdbdir=${afsdbdir=$localstatedir/openafs/db} + afslogsdir=${afslogsdir=$localstatedir/openafs/logs} + afslocaldir=${afslocaldir=$localstatedir/openafs} + afsbackupdir=${afsbackupdir=$localstatedir/openafs/backup} + afsbosconfigdir=${afsbosconfigdir=$sysconfdir/openafs} + +fi +AC_SUBST(afsconfdir) +AC_SUBST(viceetcdir) +AC_SUBST(afskerneldir) +AC_SUBST(afssrvbindir) +AC_SUBST(afssrvsbindir) +AC_SUBST(afssrvlibexecdir) +AC_SUBST(afsdbdir) +AC_SUBST(afslogsdir) +AC_SUBST(afslocaldir) +AC_SUBST(afsbackupdir) +AC_SUBST(afsbosconfigdir) + +if test "x$enable_kernel_module" = "xyes"; then +ENABLE_KERNEL_MODULE=libafs +fi + +AC_SUBST(AFS_SYSNAME) +AC_SUBST(ENABLE_KERNEL_MODULE) +AC_SUBST(LIB_AFSDB) +AC_SUBST(LINUX_KERNEL_PATH) +AC_SUBST(LINUX_VERSION) +AC_SUBST(MKAFS_OSTYPE) +AC_SUBST(TOP_SRCDIR) +AC_SUBST(TOP_INCDIR) +AC_SUBST(TOP_LIBDIR) +AC_SUBST(DEST) +AC_SUBST(WITH_OBSOLETE) +AC_SUBST(WITH_INSECURE) + +AC_OUTPUT( \ +Makefile \ +config/Makefile.${AFS_SYSNAME} \ +) diff --git a/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.cpp b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.cpp new file mode 100644 index 000000000..50ce00f39 --- /dev/null +++ b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.cpp @@ -0,0 +1,409 @@ +// GetWebDll.cpp : Defines the initialization routines for the DLL. +// + +#include "stdafx.h" +#include "GetWebDll.h" +#include "getwebdllfun.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +// +// Note! +// +// If this DLL is dynamically linked against the MFC +// DLLs, any functions exported from this DLL which +// call into MFC must have the AFX_MANAGE_STATE macro +// added at the very beginning of the function. +// +// For example: +// +// extern "C" BOOL PASCAL EXPORT ExportedFunction() +// { +// AFX_MANAGE_STATE(AfxGetStaticModuleState()); +// // normal function body here +// } +// +// It is very important that this macro appear in each +// function, prior to any calls into MFC. This means that +// it must appear as the first statement within the +// function, even before any object variable declarations +// as their constructors may generate calls into the MFC +// DLL. +// +// Please see MFC Technical Notes 33 and 58 for additional +// details. +// + +///////////////////////////////////////////////////////////////////////////// +// CGetWebDllApp + +BEGIN_MESSAGE_MAP(CGetWebDllApp, CWinApp) + //{{AFX_MSG_MAP(CGetWebDllApp) + // NOTE - the ClassWizard will add and remove mapping macros here. + // DO NOT EDIT what you see in these blocks of generated code! + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CGetWebDllApp construction + +CGetWebDllApp::CGetWebDllApp() +{ + // TODO: add construction code here, + // Place all significant initialization in InitInstance +} + +///////////////////////////////////////////////////////////////////////////// +// The one and only CGetWebDllApp object + +CGetWebDllApp theApp; + + +LPCTSTR pszURL = NULL; +BOOL bStripMode = FALSE; +BOOL bProgressMode = FALSE; +DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS; + +DWORD dwHttpRequestFlags = + INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT; +// +//GET /updateCellServDB.jsp?type=bunk HTTP/1.1 +//Accept: */* +//Accept -Language: en -us +//Accept -Encoding: gzip , deflate +//User-Agent: ufilerNativeClient/1.0 (1.0; Windows NT) +//Host: 192.168.0.1 +//Connection: Keep -Alive + +const TCHAR szVersion[] = + _T("HTTP/1.1"); + +const TCHAR szHeaders[] = + _T("\ +Accept: */*\r\n\ +Accept -Language: en -us\r\n\ +Accept -Encoding: gzip , deflate\r\n\ +User-Agent: ufilerNativeClient/1.0 (1.0; Windows NT)\r\n\ +Host: 192.168.0.1\r\n\ +Connection: Keep -Alive\r\n"); + +CTearSession::CTearSession(LPCTSTR pszAppName, int nMethod) + : CInternetSession(pszAppName, 1, nMethod) +{ +} + +void CTearSession::OnStatusCallback(DWORD /* dwContext */, DWORD dwInternetStatus, + LPVOID /* lpvStatusInfomration */, DWORD /* dwStatusInformationLen */) +{ + if (!bProgressMode) + return; + + if (dwInternetStatus != INTERNET_STATUS_CONNECTED_TO_SERVER) + AfxMessageBox("Connection Not Made",MB_ICONERROR | MB_OK); + return; +} + +///////////////////////////////////////////////////////////////////////////// +// CTearException -- used if something goes wrong for us + +// TEAR will throw its own exception type to handle problems it might +// encounter while fulfilling the user's request. + +IMPLEMENT_DYNCREATE(CTearException, CException) + +CTearException::CTearException(int nCode) + : m_nErrorCode(nCode) +{ +} + +void ThrowTearException(int nCode) +{ + CTearException* pEx = new CTearException(nCode); + throw pEx; +} + +// StripTags() rips through a buffer and removes HTML tags from it. +// The function uses a static variable to remember its state in case +// a HTML tag spans a buffer boundary. + +void StripTags(LPTSTR pszBuffer) +{ + static BOOL bInTag = FALSE; + LPTSTR pszSource = pszBuffer; + LPTSTR pszDest = pszBuffer; + + while (*pszSource != '\0') + { + if (bInTag) + { + if (*pszSource == '>') + bInTag = FALSE; + pszSource++; + } + else + { + if (*pszSource == '<') + bInTag = TRUE; + else + { + *pszDest = *pszSource; + pszDest++; + } + pszSource++; + } + } + *pszDest = '\0'; +} + + +extern "C" +__declspec(dllexport) INT GetWebPage(LPSTR lpErrMsg,LPSTR lpFile,LPSTR lpCmdLine) +{ + CString emsg; +// emsg.Format("p1=[%s],p2=[%s]",lpFile,lpCmdLine); +// AfxMessageBox(emsg,MB_ICONERROR | MB_OK); + if ((strlen(lpCmdLine)==0) || (strlen(lpFile)==0)) + { + emsg="Parameter Error"; + return 1; + } + + int nRetCode = 0; + + CTearSession session(_T("TEAR - MFC Sample App"), dwAccessType); + CHttpConnection* pServer = NULL; + CHttpFile* pFile = NULL; + char *szParm=strstr(lpCmdLine,"?"); + try + { + // check to see if this is a reasonable URL + CFile ofile(lpFile,CFile::modeCreate|CFile::modeWrite); + + CString strServerName; + CString strObject; + INTERNET_PORT nPort; + DWORD dwServiceType; + + if (!AfxParseURL(lpCmdLine, dwServiceType, strServerName, strObject, nPort) || + dwServiceType != INTERNET_SERVICE_HTTP) + { + emsg="Error: can only use URLs beginning with http://"; + ThrowTearException(1); + } + + if (bProgressMode) + { + VERIFY(session.EnableStatusCallback(TRUE)); + } + + pServer = session.GetHttpConnection(strServerName, nPort); + pFile = pServer->OpenRequest( + CHttpConnection::HTTP_VERB_GET, + strObject, //updateCellServDB.jsp + NULL, // URL of document + 1, // context + NULL, + szVersion, + dwHttpRequestFlags); + pFile->AddRequestHeaders(szHeaders); + pFile->SendRequest(); + + DWORD dwRet; + pFile->QueryInfoStatusCode(dwRet); + + // if access was denied, prompt the user for the password + + if (dwRet == HTTP_STATUS_DENIED) + { + DWORD dwPrompt; + dwPrompt = pFile->ErrorDlg(NULL, ERROR_INTERNET_INCORRECT_PASSWORD, + FLAGS_ERROR_UI_FLAGS_GENERATE_DATA | FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS, NULL); + + // if the user cancelled the dialog, bail out + + if (dwPrompt != ERROR_INTERNET_FORCE_RETRY) + { + emsg="Access denied: Invalid password"; + ThrowTearException(1); + } + + pFile->SendRequest(); + pFile->QueryInfoStatusCode(dwRet); + } + + CString strNewLocation; + pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, strNewLocation); + + // were we redirected? + // these response status codes come from WININET.H + + if (dwRet == HTTP_STATUS_MOVED || + dwRet == HTTP_STATUS_REDIRECT || + dwRet == HTTP_STATUS_REDIRECT_METHOD) + { + CString strNewLocation; + pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, strNewLocation); + + int nPlace = strNewLocation.Find(_T("Location: ")); + if (nPlace == -1) + { + emsg="Error: Site redirects with no new location"; + ThrowTearException(2); + } + + strNewLocation = strNewLocation.Mid(nPlace + 10); + nPlace = strNewLocation.Find('\n'); + if (nPlace > 0) + strNewLocation = strNewLocation.Left(nPlace); + + // close up the redirected site + + pFile->Close(); + delete pFile; + pServer->Close(); + delete pServer; + + if (bProgressMode) + { + emsg.Format("Caution: redirected to %s",(LPCTSTR) strNewLocation); + } + + // figure out what the old place was + if (!AfxParseURL(strNewLocation, dwServiceType, strServerName, strObject, nPort)) + { + emsg="Error: the redirected URL could not be parsed."; + ThrowTearException(2); + } + + if (dwServiceType != INTERNET_SERVICE_HTTP) + { + emsg="Error: the redirected URL does not reference a HTTP resource."; + ThrowTearException(2); + } + + // try again at the new location + pServer = session.GetHttpConnection(strServerName, nPort); + pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET, + strObject, NULL, 1, NULL, NULL, dwHttpRequestFlags); + pFile->AddRequestHeaders(szHeaders); + pFile->SendRequest(); + + pFile->QueryInfoStatusCode(dwRet); + if (dwRet != HTTP_STATUS_OK) + { + emsg.Format("Error: Got status code %d",dwRet); + ThrowTearException(2); + } + } + + + TCHAR sz[1024]; + while (pFile->ReadString(sz, 1023)) + { + if (bStripMode) + StripTags(sz); + ofile.Write(sz,strlen(sz)); + } + + pFile->Close(); + pServer->Close(); + ofile.Close(); + } + catch (CInternetException* pEx) + { + // catch errors from WinINet + + TCHAR szErr[1024]; + pEx->GetErrorMessage(szErr, 1024); + + CString emsg; + emsg.Format("Error: (%s)",szErr); + nRetCode = 2; + pEx->Delete(); + } + catch (CFileException* pEx) + { + TCHAR szErr[1024]; + pEx->GetErrorMessage(szErr, 1024); + + emsg.Format("File Error: (%s)",szErr); + nRetCode = 2; + pEx->Delete(); + } + catch (CTearException* pEx) + { + // catch things wrong with parameters, etc + + nRetCode = pEx->m_nErrorCode; + pEx->Delete(); + } + + if (pFile != NULL) + delete pFile; + if (pServer != NULL) + delete pServer; + session.Close(); + int len=strlen(lpErrMsg); + strncpy(lpErrMsg,emsg,len); + lpErrMsg[len]=0; + return nRetCode; +} + +extern "C" +__declspec(dllexport) INT GetUserLogon(LPSTR lpUserName) +{ + int nRetCode = 1; + ULONG nSize=strlen(lpUserName); + if (!GetUserName(lpUserName,&nSize)) nRetCode=0; + return nRetCode; +} + +extern "C" +__declspec(dllexport) INT BrowseFile(HWND hwndOwner,LPSTR lpstrTitle,LPSTR lpFileName,INT size) +{ + char *xptr; +// char msg[256]; + char *ptr=strrchr(lpFileName,'\\'); + int nFileOffset=0; + int nFileExtension=0; + if (ptr) + nFileOffset=ptr-lpFileName+1; + else { + ptr=strrchr(lpFileName,':'); + if (ptr) + nFileOffset=ptr-lpFileName; + } + if (ptr==NULL) + ptr=lpFileName; + if (xptr=strrchr(ptr,'.')) + nFileExtension=nFileOffset+(xptr-ptr); +// sprintf(msg,"Title: [%s] filename=[%s], %i,%i,%i",lpstrTitle,lpFileName,nFileOffset,nFileExtension,size); +// AfxMessageBox(msg,MB_OK); + OPENFILENAME data={ + sizeof(OPENFILENAME) //lStructSize + ,hwndOwner //hwndOwner + ,NULL // + ,"*.*" //lpstrFilter + ,NULL //lpstrCustomFilter + ,NULL //nMaxCustFilter + ,0 //nFilterIndex + ,lpFileName //lpstrFile + ,size //nMaxFile - at least 256 characters + ,NULL //lpstrFileTitle + ,0 //nMaxFileTitle + ,NULL //lpstrInitialDir + ,lpstrTitle //lpstrTitle + ,OFN_HIDEREADONLY|OFN_PATHMUSTEXIST //Flags + ,nFileOffset //nFileOffset + ,nFileExtension //nFileExtension + ,NULL //lpstrDefExt + ,NULL //lCustData + ,NULL //lpfnHook + ,NULL //lpTemplateName + }; + return GetOpenFileName(&data); +} \ No newline at end of file diff --git a/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.def b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.def new file mode 100644 index 000000000..4288460fe --- /dev/null +++ b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.def @@ -0,0 +1,7 @@ +; GetWebDll.def : Declares the module parameters for the DLL. + +LIBRARY "GetWebDll" +DESCRIPTION 'GetWebDll Windows Dynamic Link Library' + +EXPORTS + ; Explicit exports can go here diff --git a/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.dep b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.dep new file mode 100644 index 000000000..66661dabb --- /dev/null +++ b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.dep @@ -0,0 +1,5 @@ +# Microsoft Developer Studio Generated Dependency File, included by GetWebDll.mak + +.\GetWebDll.cpp : \ + ".\GetWebDll.h"\ + ".\GetWebDllFun.h"\ diff --git a/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.h b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.h new file mode 100644 index 000000000..314844794 --- /dev/null +++ b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.h @@ -0,0 +1,67 @@ +// GetWebDll.h : main header file for the GETWEBDLL DLL +// + +#if !defined(AFX_GETWEBDLL_H__470FBE70_389E_11D5_A375_00105A6BCA62__INCLUDED_) +#define AFX_GETWEBDLL_H__470FBE70_389E_11D5_A375_00105A6BCA62__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#ifndef __AFXWIN_H__ + #error include 'stdafx.h' before including this file for PCH +#endif + +#include "resource.h" // main symbols + +///////////////////////////////////////////////////////////////////////////// +// CGetWebDllApp +// See GetWebDll.cpp for the implementation of this class +// + +class CGetWebDllApp : public CWinApp +{ +public: + CGetWebDllApp(); + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CGetWebDllApp) + //}}AFX_VIRTUAL + + //{{AFX_MSG(CGetWebDllApp) + // NOTE - the ClassWizard will add and remove member functions here. + // DO NOT EDIT what you see in these blocks of generated code ! + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; + + +///////////////////////////////////////////////////////////////////////////// + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +class CTearSession : public CInternetSession +{ +public: + CTearSession(LPCTSTR pszAppName, int nMethod); + virtual void OnStatusCallback(DWORD dwContext, DWORD dwInternetStatus, + LPVOID lpvStatusInfomration, DWORD dwStatusInformationLen); +}; + + +class CTearException : public CException +{ + DECLARE_DYNCREATE(CTearException) + +public: + CTearException(int nCode = 0); + ~CTearException() { } + + int m_nErrorCode; +}; + +#endif // !defined(AFX_GETWEBDLL_H__470FBE70_389E_11D5_A375_00105A6BCA62__INCLUDED_) + + diff --git a/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.rc b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.rc new file mode 100644 index 000000000..7c5b0b015 --- /dev/null +++ b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.rc @@ -0,0 +1,122 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "#define _AFX_NO_SPLITTER_RESOURCES\r\n" + "#define _AFX_NO_OLE_RESOURCES\r\n" + "#define _AFX_NO_TRACKER_RESOURCES\r\n" + "#define _AFX_NO_PROPERTY_RESOURCES\r\n" + "\r\n" + "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" + "#ifdef _WIN32\r\n" + "LANGUAGE 9, 1\r\n" + "#pragma code_page(1252)\r\n" + "#endif //_WIN32\r\n" + "#include ""afxres.rc"" // Standard components\r\n" + "#endif\r\n" + "\0" +END + +///////////////////////////////////////////////////////////////////////////// +#endif // APSTUDIO_INVOKED + + + + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE 9, 1 +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,1 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + VALUE "CompanyName", "\0" + VALUE "FileDescription", "GetWebDll DLL\0" + VALUE "FileVersion", "1, 0, 0, 1\0" + VALUE "InternalName", "GetWebDll\0" + VALUE "LegalCopyright", "Copyright (C) 2001\0" + VALUE "LegalTrademarks", "\0" + VALUE "OriginalFilename","GetWebDll.DLL\0" + VALUE "ProductName", "GetWebDll Dynamic Link Library\0" + VALUE "ProductVersion", "1, 0, 0, 1\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +#define _AFX_NO_SPLITTER_RESOURCES +#define _AFX_NO_OLE_RESOURCES +#define _AFX_NO_TRACKER_RESOURCES +#define _AFX_NO_PROPERTY_RESOURCES + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE 9, 1 +#pragma code_page(1252) +#endif //_WIN32 +#include "afxres.rc" // Standard components +#endif + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/WINNT/afs_setup_utils/GetWebDll/GetWebDllFun.h b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDllFun.h new file mode 100644 index 000000000..db3d10c7a --- /dev/null +++ b/src/WINNT/afs_setup_utils/GetWebDll/GetWebDllFun.h @@ -0,0 +1,14 @@ +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +__declspec(dllexport) INT GetWebPage(LPSTR lpErrMsg,LPSTR lpFile,LPSTR lpCmdLine); + +__declspec(dllexport) INT GetUserLogon(LPSTR lpUserName); + +__declspec(dllexport) INT BrowseFile(HWND hwndOwner,LPSTR lpstrTitle,LPSTR lpFileFullName,INT fullsize); + +#ifdef __cplusplus +} +#endif + diff --git a/src/WINNT/afs_setup_utils/GetWebDll/Resource.h b/src/WINNT/afs_setup_utils/GetWebDll/Resource.h new file mode 100644 index 000000000..7f9b9e4ad --- /dev/null +++ b/src/WINNT/afs_setup_utils/GetWebDll/Resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by GETWEBDLL.RC +// + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS + +#define _APS_NEXT_RESOURCE_VALUE 18000 +#define _APS_NEXT_CONTROL_VALUE 18000 +#define _APS_NEXT_SYMED_VALUE 18000 +#define _APS_NEXT_COMMAND_VALUE 32771 +#endif +#endif diff --git a/src/WINNT/afs_setup_utils/GetWebDll/StdAfx.h b/src/WINNT/afs_setup_utils/GetWebDll/StdAfx.h new file mode 100644 index 000000000..866a939b5 --- /dev/null +++ b/src/WINNT/afs_setup_utils/GetWebDll/StdAfx.h @@ -0,0 +1,44 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#if !defined(AFX_STDAFX_H__470FBE72_389E_11D5_A375_00105A6BCA62__INCLUDED_) +#define AFX_STDAFX_H__470FBE72_389E_11D5_A375_00105A6BCA62__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers + +#include // MFC core and standard components +#include // MFC extensions + +#ifndef _AFX_NO_OLE_SUPPORT +#include // MFC OLE classes +#include // MFC OLE dialog classes +#include // MFC Automation classes +#endif // _AFX_NO_OLE_SUPPORT + + +#ifndef _AFX_NO_DB_SUPPORT +#include // MFC ODBC database classes +#endif // _AFX_NO_DB_SUPPORT + +#ifndef _AFX_NO_DAO_SUPPORT +#include // MFC DAO database classes +#endif // _AFX_NO_DAO_SUPPORT + +#include // MFC support for Internet Explorer 4 Common Controls +#ifndef _AFX_NO_AFXCMN_SUPPORT +#include // MFC support for Windows Common Controls +#endif // _AFX_NO_AFXCMN_SUPPORT + + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#include + +#endif // !defined(AFX_STDAFX_H__470FBE72_389E_11D5_A375_00105A6BCA62__INCLUDED_) diff --git a/src/WINNT/afs_setup_utils/GetWebDll/ntmakefile b/src/WINNT/afs_setup_utils/GetWebDll/ntmakefile new file mode 100644 index 000000000..27c76ba44 --- /dev/null +++ b/src/WINNT/afs_setup_utils/GetWebDll/ntmakefile @@ -0,0 +1,103 @@ +# Microsoft Developer Studio Generated NMAKE File, Based on GetWebDll.dsp +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF + +OUTDIR=. +INTDIR=. +# Begin Custom Macros +OutDir=. +# End Custom Macros + +INSTALL : "$(OUTDIR)\GetWebDll.dll" + + +CLEAN : + -@erase "$(INTDIR)\GetWebDll.pch" + -@erase "$(INTDIR)\*.obj" + -@erase "$(INTDIR)\vc60.idb" + -@erase "$(OUTDIR)\GetWebDll.dll" + -@erase "$(OUTDIR)\GetWebDll.exp" + -@erase "$(OUTDIR)\GetWebDll.lib" + -@erase "$(OUTDIR)\GetWebDll.sbl" + -@erase "$(OUTDIR)\GetWebDll.pjt" + +"$(OUTDIR)" : + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +CPP=cl.exe +CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_MBCS" /D "_USRDLL" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c + +.c{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.c{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +MTL=midl.exe +MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 +RSC=rc.exe +RSC_PROJ=/l 0x409 /fo"$(INTDIR)\GetWebDll.res" /d "NDEBUG" +BSC32=bscmake.exe +BSC32_FLAGS=/nologo /o"$(OUTDIR)\GetWebDll.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +LINK32_FLAGS=/nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\GetWebDll.pdb" /machine:I386 /def:".\GetWebDll.def" /out:"$(OUTDIR)\GetWebDll.dll" /implib:"$(OUTDIR)\GetWebDll.lib" +DEF_FILE= \ + ".\GetWebDll.def" +LINK32_OBJS= \ + "$(INTDIR)\GetWebDll.obj" \ + "$(INTDIR)\GetWebDll.res" + +"$(OUTDIR)\GetWebDll.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + + +!IF "$(NO_EXTERNAL_DEPS)" != "1" +!IF EXISTS("GetWebDll.dep") +!INCLUDE "GetWebDll.dep" +!ELSE +!MESSAGE Warning: cannot find "GetWebDll.dep" +!ENDIF +!ENDIF + + +SOURCE=.\GetWebDll.cpp + +"$(INTDIR)\GetWebDll.obj" : $(SOURCE) "$(INTDIR)" + + +SOURCE=.\GetWebDll.rc + +"$(INTDIR)\GetWebDll.res" : $(SOURCE) "$(INTDIR)" + $(RSC) $(RSC_PROJ) $(SOURCE) + diff --git a/src/WINNT/afs_setup_utils/_isuser/_IsUser.RC b/src/WINNT/afs_setup_utils/_isuser/_IsUser.RC new file mode 100644 index 000000000..ce9d4c4bd --- /dev/null +++ b/src/WINNT/afs_setup_utils/_isuser/_IsUser.RC @@ -0,0 +1,188 @@ +//Microsoft Developer Studio generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#define APSTUDIO_HIDDEN_SYMBOLS +#include "windows.h" +#undef APSTUDIO_HIDDEN_SYMBOLS +#include <.\sdrc.h> + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +DLG_DRIVEPATH DIALOGEX 0, 0, 332, 218 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Select Local Drive Mapping" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "",52,0,0,332,36 + LTEXT "Enable Assignment, choose drive letter and define AFS mount point path.", + 901,17,41,289,19,SS_NOPREFIX + LTEXT "Map local drive letter to AFS mount point.",50,10,3,220, + 8,0,WS_EX_TRANSPARENT + LTEXT "AFS service can map drive letters to AFS mount points.\nBoth Letters and mounts points can be configured!", + 51,17,12,273,22,0,WS_EX_TRANSPARENT + CONTROL "",1301,"Static",SS_ETCHEDHORZ | WS_GROUP,0,36,332,1 + DEFPUSHBUTTON "&Next >",SD_PBUT_CONTINUE,215,196,50,14 + PUSHBUTTON "Cancel",SD_PBUT_CANCEL,272,196,50,14 + PUSHBUTTON "< &Back",SD_PBUT_BACK,166,196,50,14 + CONTROL "",SD_STA_IMAGE_2,"Static",SS_BLACKFRAME,54,185,268,1 + LTEXT "",7,10,182,40,10,NOT WS_VISIBLE + COMBOBOX IDC_HOMEDRIVELIST,17,151,41,76,CBS_DROPDOWNLIST | + WS_VSCROLL | WS_GROUP | WS_TABSTOP + GROUPBOX "Root Drive Assignment",IDC_STATIC,2,62,323,52,WS_GROUP + EDITTEXT IDC_HOMEPATH,66,151,258,12,ES_AUTOHSCROLL | + ES_OEMCONVERT | WS_GROUP + LTEXT "Drive",IDC_STATIC,17,139,17,8 + LTEXT "Path",IDC_STATIC,66,139,15,8 + COMBOBOX IDC_ROOTDRIVELIST,17,94,40,76,CBS_DROPDOWNLIST | + WS_VSCROLL | WS_GROUP | WS_TABSTOP + GROUPBOX "Home Drive Assignment",IDC_STATIC,5,117,323,56,WS_GROUP + EDITTEXT IDC_ROOTPATH,66,94,254,12,ES_AUTOHSCROLL | ES_OEMCONVERT | + WS_GROUP + LTEXT "Drive",IDC_STATIC,17,84,17,8 + LTEXT "Path",IDC_STATIC,66,84,15,8 + LTEXT "@10550,10551;1;0;;0,128,128 ",1200,0,0,332,36,NOT + WS_VISIBLE,WS_EX_TRANSPARENT + PUSHBUTTON "C",3,21,200,25,12,NOT WS_VISIBLE | WS_GROUP | NOT + WS_TABSTOP + CONTROL "Enable Assigment",IDC_ENABLEROOT,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,5,72,71,10 + CONTROL "Enable Assigment",IDC_ENABLEHOME,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,9,128,71,10 +END + +DLG_CELLSERVDB DIALOGEX 0, 0, 336, 228 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Select AFS Cell Data Base (afsdcell.ini)" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "",52,0,0,336,36 + LTEXT "Select the data base from one of the following source locations.", + 901,17,41,289,15,SS_NOPREFIX + LTEXT "Choose Source location:",50,10,3,220,8,0, + WS_EX_TRANSPARENT + LTEXT "AFS Cell Data Base contains the list of available AFS cells and their IP addresses.", + 51,17,15,275,19,0,WS_EX_TRANSPARENT + CONTROL "",1301,"Static",SS_ETCHEDHORZ | WS_GROUP,0,36,336,1 + DEFPUSHBUTTON "&Next >",SD_PBUT_CONTINUE,215,196,50,14 + PUSHBUTTON "Cancel",SD_PBUT_CANCEL,272,196,50,14 + PUSHBUTTON "< &Back",SD_PBUT_BACK,166,196,50,14 + CONTROL "",SD_STA_IMAGE_2,"Static",SS_BLACKFRAME,54,185,268,1 + LTEXT "",7,10,182,40,10,NOT WS_VISIBLE + LTEXT "@10550,10551;1;0;;0,128,128 ",1200,0,0,336,36,NOT + WS_VISIBLE,WS_EX_TRANSPARENT + PUSHBUTTON "C",3,21,200,25,12,NOT WS_VISIBLE | WS_GROUP | NOT + WS_TABSTOP + PUSHBUTTON "B&rowse...",IDC_BROWSE,262,160,46,14 + GROUPBOX "Download from Web Address",IDC_STATIC,108,115,205,31 + GROUPBOX "Select File",IDC_STATIC,108,150,205,31 + EDITTEXT IDC_WEB,115,126,180,12,ES_AUTOHSCROLL | ES_OEMCONVERT | + WS_GROUP + GROUPBOX "Packaged Installation File",IDC_STATIC,108,87,205,23, + WS_GROUP + LTEXT "General.org",IDC_INSTALL,114,96,187,10 + GROUPBOX "",IDC_STATIC,90,58,15,124,NOT WS_VISIBLE | WS_GROUP + CONTROL "",IDC_CHECK_INSTALL,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,94,96,8,10 + CONTROL "",IDC_CHECK_WEB,"Button",BS_AUTORADIOBUTTON | WS_GROUP, + 94,125,8,10 + CONTROL "",IDC_CHECK_BROWSEFILE,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,94,160,8,10 + CONTROL "",IDC_CHECK_PREVIOUSFILE,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,94,70,8,10 + LTEXT "",IDC_PREVIOUSFILE,114,71,189,8 + GROUPBOX "Previous Installation",IDC_STATIC,108,58,205,26, + WS_GROUP + EDITTEXT IDC_BROWSEFILE,113,161,142,12,ES_AUTOHSCROLL +END + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" + "#include ""windows.h""\r\n" + "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n" + "#include ""sdrc.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +//10000 ICON DISCARDABLE "icon1.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + DLG_CELLSERVDB, DIALOG + BEGIN + RIGHTMARGIN, 332 + BOTTOMMARGIN, 218 + END +END +#endif // APSTUDIO_INVOKED + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/WINNT/afs_setup_utils/_isuser/_IsUser.dep b/src/WINNT/afs_setup_utils/_isuser/_IsUser.dep new file mode 100644 index 000000000..c27f74d09 --- /dev/null +++ b/src/WINNT/afs_setup_utils/_isuser/_IsUser.dep @@ -0,0 +1,5 @@ +# Microsoft Developer Studio Generated Dependency File, included by _IsUser.mak + +.\_Isuser.RC : \ + ".\sdrc.h"\ + diff --git a/src/WINNT/afs_setup_utils/_isuser/_isuser.c b/src/WINNT/afs_setup_utils/_isuser/_isuser.c new file mode 100644 index 000000000..0c1007485 --- /dev/null +++ b/src/WINNT/afs_setup_utils/_isuser/_isuser.c @@ -0,0 +1,21 @@ + +//////////////////////////////////////////////////////////////////////////////// +// +// IIIIIII SSSSSS +// II SS InstallShield (R) +// II SSSSSS (c) 1996-2000, InstallShield Software Corporation +// II SS (c) 1990-1996, InstallShield Corporation +// IIIIIII SSSSSS All Rights Reserved. +// +// +//////////////////////////////////////////////////////////////////////////////// + +#define NOCOMM +#include + + +BOOL WINAPI DllMain( PVOID hmod, ULONG ulReason, PCONTEXT pctx ) +{ + return TRUE; +} + diff --git a/src/WINNT/afs_setup_utils/_isuser/ntmakefile b/src/WINNT/afs_setup_utils/_isuser/ntmakefile new file mode 100644 index 000000000..990561647 --- /dev/null +++ b/src/WINNT/afs_setup_utils/_isuser/ntmakefile @@ -0,0 +1,110 @@ +# include the primary makefile + +!INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME) + +# Microsoft Developer Studio Generated NMAKE File, Based on _IsUser.dsp +!IF "$(OS)" == "Windows_NT" +NULL= +!ELSE +NULL=nul +!ENDIF + +OUTDIR=. +INTDIR=. +# Begin Custom Macros +OutDir=. +# End Custom Macros + +INSTALL : "$(OUTDIR)\_IsUser.dll" + $(DEL) *.PCH + $(DEL) *.IDB + +CLEAN :: + -@erase "$(INTDIR)\_isuser.obj" + -@erase "$(INTDIR)\_Isuser.res" + -@erase "$(INTDIR)\vc60.idb" + -@erase "$(OUTDIR)\_IsUser.dll" + -@erase "$(OUTDIR)\_IsUser.exp" + -@erase "$(OUTDIR)\_IsUser.lib" + +"$(OUTDIR)" :: + if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" + +HEADERS = ".\sdrc.h" + +".\sdrc.h" : $(IS5ROOT)\INCLUDE\sdrc.h + $(COPY) $(IS5ROOT)\INCLUDE\sdrc.h . +! IF EXIST($(IS5ROOT)\Script\ISRT\Include\sdrc.h) + $(COPY) $(IS5ROOT)\Script\ISRT\Include\sdrc.h . +! ENDIF + +CPP=cl.exe +CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ISUSER_EXPORTS" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c + +.c{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.obj:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.c{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cpp{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +.cxx{$(INTDIR)}.sbr:: + $(CPP) @<< + $(CPP_PROJ) $< +<< + +MTL=midl.exe +MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32 +RSC=rc.exe +RSC_PROJ=/l 0x409 /fo"$(INTDIR)\_Isuser.res" /d "NDEBUG" +BSC32=bscmake.exe +BSC32_FLAGS=/nologo /o"$(OUTDIR)\_IsUser.bsc" +BSC32_SBRS= \ + +LINK32=link.exe +LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\_IsUser.pdb" /machine:I386 /out:"$(OUTDIR)\_IsUser.dll" /implib:"$(OUTDIR)\_IsUser.lib" +LINK32_OBJS= \ + "$(INTDIR)\_isuser.obj" \ + "$(INTDIR)\_Isuser.res" + +"$(OUTDIR)\_IsUser.dll" : "$(OUTDIR)" $(HEADERS) $(DEF_FILE) $(LINK32_OBJS) + $(LINK32) @<< + $(LINK32_FLAGS) $(LINK32_OBJS) +<< + + +!IF "$(NO_EXTERNAL_DEPS)" != "1" +!IF EXISTS("_IsUser.dep") +!INCLUDE "_IsUser.dep" +!ELSE +!MESSAGE Warning: cannot find "_IsUser.dep" +!ENDIF +!ENDIF + + +SOURCE=.\_isuser.c + +"$(INTDIR)\_isuser.obj" : $(SOURCE) "$(INTDIR)" + +SOURCE=.\_Isuser.RC + +"$(INTDIR)\_Isuser.res" : $(SOURCE) "$(INTDIR)" + $(RSC) $(RSC_PROJ) $(SOURCE) diff --git a/src/WINNT/afs_setup_utils/_isuser/resource.h b/src/WINNT/afs_setup_utils/_isuser/resource.h new file mode 100644 index 000000000..6f5440c8d --- /dev/null +++ b/src/WINNT/afs_setup_utils/_isuser/resource.h @@ -0,0 +1,38 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Developer Studio generated include file. +// Used by _IsUser.RC +// +#define IDC_HOMEPATH 301 +#define IDC_ROOTPATH 302 +#define IDC_HOMEDRIVELIST 1007 +#define IDC_ROOTDRIVELIST 1008 +#define IDC_ENABLEROOT 1010 +#define IDC_ENABLEHOME 1011 +#define IDC_INSTALL 1011 +#define IDC_WEB 1016 +#define IDC_CHECK_INSTALL 1018 +#define IDC_CHECK_WEB 1019 +#define IDC_CHECK_FILE 1020 +#define IDC_CHECK_BROWSEFILE 1020 +#define IDC_CHECK_DEFAULT 1021 +#define IDC_CHECK_PREVIOUSFILE 1021 +#define IDC_PREVIOUSFILE 1024 +#define IDC_BROWSE 1025 +#define IDC_BROWSEFILE 1026 +#define DLG_TEMPLATE 13029 +#define DLG_DRIVEPATH 13030 +#define DLG_CELLSERVDB 13031 +#define IDC_PATH 13032 +#define IDC_STATIC -1 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NO_MFC 1 +#define _APS_NEXT_RESOURCE_VALUE 104 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1028 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/src/afs/.cvsignore b/src/afs/.cvsignore new file mode 100644 index 000000000..61d3b800b --- /dev/null +++ b/src/afs/.cvsignore @@ -0,0 +1,5 @@ +AFS_component_version_number.c +Makefile +afs_trace.h +afs_trace.msf +afszcm.cat diff --git a/src/afs/Makefile.in b/src/afs/Makefile.in new file mode 100644 index 000000000..8b46d8edc --- /dev/null +++ b/src/afs/Makefile.in @@ -0,0 +1,165 @@ +# 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 + +DEST=@DEST@ +TOP_INCDIR=@TOP_INCDIR@ +TOP_LIBDIR=@TOP_LIBDIR@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +bindir=@bindir@ +sbindir=@sbindir@ +libexecdir=@libexecdir@ +libdir=@libdir@ +includedir=@includedir@ +mandir=@mandir@ +afssrvbindir=@afssrvbindir@ +afssrvsbindir=@afssrvsbindir@ +afssrvlibexecdir=@afssrvlibexecdir@ +COMPILE_ET=${TOP_SRCDIR}/comerr/compile_et +RXGEN=${TOP_SRCDIR}/rxgen/rxgen +TOP_SRCDIR=@TOP_SRCDIR@ +SYS_NAME=@AFS_SYSNAME@ + +SHELL=/bin/sh +KERNELDIR = ../libafs/ +UKERNELDIR = ../libuafs/ + +include ../config/Makefile.${SYS_NAME} + +all: kinstall ukinstall ${TOP_INCDIR}/afs/afs.h ${TOP_INCDIR}/afs/osi_inode.h ${TOP_INCDIR}/afs/afs_stats.h ${TOP_INCDIR}/afs/exporter.h ${TOP_INCDIR}/afs/nfsclient.h + case ${SYS_NAME} in \ + pmax_ul43 | pmax_ul43a) \ + ${INSTALL} longc_procs.h ${TOP_INCDIR}/afs ;; \ + esac + case ${SYS_NAME} in \ + *linux* ) \ + ${INSTALL} ${AFS_OSTYPE}/osi_vfs.h ${TOP_INCDIR}/afs ;;\ + * ) \ + echo No vfs headers to install for ${SYS_NAME};; \ + esac + +# NOTE: linux case uses --new as well to work around bug in some versions of +# gencat. +kinstall: ${KERNELDIR}/afs AFS_component_version_number.c + -chmod 666 ${KERNELDIR}afs/* + ${COMPILE_ET} -v 2 afs_trace.et + ${INSTALL} *.[csh] ${KERNELDIR}afs + ${INSTALL} VNOPS/*.[csh] ${KERNELDIR}afs + ${INSTALL} ${AFS_OSTYPE}/*.[csh] ${KERNELDIR}afs + -$(RM) -f afszcm.cat + case ${SYS_NAME} in \ + sgi_* ) \ + gencat -m afszcm.cat afs_trace.msf ;; \ + *_linux* ) \ + gencat --new afszcm.cat afs_trace.msf ;; \ + ppc_darwin* | i386_fbsd*) \ + echo No gencat for ${SYS_NAME} ;; \ + * ) \ + gencat afszcm.cat afs_trace.msf ;; \ + esac + +${KERNELDIR}/afs: + mkdir -p $@ + +ukinstall: ${UKERNELDIR}/afs AFS_component_version_number.c + -chmod 666 ${UKERNELDIR}afs/* + ${COMPILE_ET} -v 2 afs_trace.et + ${INSTALL} *.[csh] ${UKERNELDIR}afs + ${INSTALL} VNOPS/*.[csh] ${UKERNELDIR}afs + ${INSTALL} UKERNEL/*.[csh] ${UKERNELDIR}afs + +${UKERNELDIR}/afs: + mkdir -p $@ + +install: ${DESTDIR}${includedir}/afs/afs.h ${DESTDIR}${includedir}/afs/osi_inode.h ${DESTDIR}${includedir}/afs/afs_stats.h ${DESTDIR}${includedir}/afs/exporter.h ${DESTDIR}${includedir}/afs/nfsclient.h + case ${SYS_NAME} in \ + pmax_ul43 | pmax_ul43a) \ + ${INSTALL} longc_procs.h ${DESTDIR}${includedir}/afs ;; \ + esac + case ${SYS_NAME} in \ + *linux* ) \ + ${INSTALL} ${AFS_OSTYPE}/osi_vfs.h ${DESTDIR}${includedir}/afs ;;\ + * ) \ + echo No vfs headers to install for ${SYS_NAME};; \ + esac + +clean: + -$(RM) -f *.o core AFS_component_version_number.c afs_trace.h afs_trace.msf afszcm.cat + +include ../config/Makefile.version +${DEST}/include/afs/afs.h: afs.h + ${INSTALL} $? $@ + +${DESTDIR}${includedir}/afs/afs.h: afs.h + ${INSTALL} $? $@ + + +${TOP_INCDIR}/afs/afs.h: afs.h + ${INSTALL} $? $@ + + +${DEST}/include/afs/osi_inode.h: ${AFS_OSTYPE}/osi_inode.h + ${INSTALL} $? $@ + +${DESTDIR}${includedir}/afs/osi_inode.h: ${AFS_OSTYPE}/osi_inode.h + ${INSTALL} $? $@ + +${TOP_INCDIR}/afs/osi_inode.h: ${AFS_OSTYPE}/osi_inode.h + ${INSTALL} $? $@ + + +${DEST}/include/afs/afs_stats.h: afs_stats.h + ${INSTALL} $? $@ + +${DESTDIR}${includedir}/afs/afs_stats.h: afs_stats.h + ${INSTALL} $? $@ + + +${TOP_INCDIR}/afs/afs_stats.h: afs_stats.h + ${INSTALL} $? $@ + + +${DEST}/include/afs/exporter.h: exporter.h + ${INSTALL} $? $@ + +${DESTDIR}${includedir}/afs/exporter.h: exporter.h + ${INSTALL} $? $@ + + +${TOP_INCDIR}/afs/exporter.h: exporter.h + ${INSTALL} $? $@ + + +${DEST}/include/afs/nfsclient.h: nfsclient.h + ${INSTALL} $? $@ + +${DESTDIR}${includedir}/afs/nfsclient.h: nfsclient.h + ${INSTALL} $? $@ + + +${TOP_INCDIR}/afs/nfsclient.h: nfsclient.h + ${INSTALL} $? $@ + + +dest: ${DEST}/include/afs/afs.h ${DEST}/include/afs/osi_inode.h ${DEST}/include/afs/afs_stats.h ${DEST}/include/afs/exporter.h ${DEST}/include/afs/nfsclient.h + case ${SYS_NAME} in \ + pmax_ul43 | pmax_ul43a) \ + ${INSTALL} longc_procs.h ${DEST}/include/afs ;; \ + esac + case ${SYS_NAME} in \ + next_mach30 | vax_ul43 | ppc_darwin* | i386_fbsd* ) \ + echo skipping afszcm.cat install for ${SYS_NAME} ;; \ + * ) \ + ${INSTALL} afszcm.cat ${DEST}/root.client/usr/vice/etc/C ;; \ + esac + case ${SYS_NAME} in \ + *linux* ) \ + ${INSTALL} ${AFS_OSTYPE}/osi_vfs.h ${DEST}/include/afs ;;\ + * ) \ + echo No vfs headers to install for ${SYS_NAME};; \ + esac + -- 2.39.5