From e37022955202b7eb478081c6053eee7e85e22879 Mon Sep 17 00:00:00 2001 From: Sam Hartman Date: Wed, 11 Dec 2002 02:46:26 +0000 Subject: [PATCH] This commit was generated by cvs2svn to compensate for changes in r545, which included commits to RCS files with non-trunk default branches. --- README | 30 +- acconfig.h | 3 + acinclude.m4 | 84 +- configure-libafs.in | 2 +- src/WINNT/afsapplib/NTMakefile | 4 - src/WINNT/afsd/cm_config.c | 10 +- src/WINNT/afsd/cm_conn.c | 6 +- src/WINNT/afsd/smb.c | 54 +- src/WINNT/afsd/smb3.c | 7 +- src/WINNT/client_config/NTMakefile | 4 - src/WINNT/client_creds/NTMakefile | 8 +- src/WINNT/client_creds/shortcut.cpp | 1 + src/WINNT/client_exp/afs_shl_ext.cpp | 71 +- src/WINNT/client_exp/gui2fs.cpp | 111 +- src/WINNT/client_exp/gui2fs.h | 6 +- .../client_exp/lang/en_US/afs_shl_ext.rc | 3 + .../client_exp/lang/es_ES/afs_shl_ext.rc | 1303 ++++++++-------- .../client_exp/lang/ja_JP/afs_shl_ext.rc | 1269 ++++++++-------- .../client_exp/lang/ko_KR/afs_shl_ext.rc | 1267 ++++++++-------- .../client_exp/lang/pt_BR/afs_shl_ext.rc | 1269 ++++++++-------- .../client_exp/lang/zh_CN/afs_shl_ext.rc | 1257 ++++++++-------- .../client_exp/lang/zh_TW/afs_shl_ext.rc | 1259 ++++++++-------- src/WINNT/client_exp/resource.h | 28 +- src/WINNT/client_exp/shell_ext.cpp | 203 ++- src/WINNT/client_exp/shell_ext.h | 29 +- src/WINNT/eventlog/lang/NTMakefile | 2 +- src/WINNT/install/InstallShield5/NTMakefile | 12 +- src/afs/HPUX/osi_machdep.h | 11 +- src/afs/HPUX/osi_vnodeops.c | 6 +- src/afs/LINUX/osi_groups.c | 4 +- src/afs/LINUX/osi_prototypes.h | 2 + src/afs/LINUX/osi_vfs.hin | 1 + src/afs/SOLARIS/osi_file.c | 9 +- src/afs/SOLARIS/osi_vnodeops.c | 15 +- src/afs/UKERNEL/afs_usrops.c | 4 +- src/afs/VNOPS/afs_vnop_create.c | 16 +- src/afs/afs_dynroot.c | 34 +- src/afs/afs_init.c | 6 +- src/afs/afs_nfsdisp.c | 1305 +++++++++++------ src/afs/afs_prototypes.h | 1 + src/afs/afs_trace.et | 2 +- src/afs/afs_util.c | 12 +- src/afs/afs_vcache.c | 154 +- src/afs/sysincludes.h | 3 + src/afsd/afsd.c | 11 +- src/cf/linux-test4.m4 | 73 +- src/config/Makefile.hp_ux110.in | 2 +- src/config/NTMakefile.i386_nt40 | 95 +- src/config/NTMakefile.i386_win95 | 15 - src/config/NTMakefile.version-NOCML | 8 +- src/config/param.hp_ux110.h | 4 + src/config/util_cr.c | 154 +- src/des/read_pssword.c | 4 +- src/libafs/MakefileProto.HPUX.in | 2 +- src/libafs/MakefileProto.SOLARIS.in | 14 +- src/libafsrpc/Makefile.in | 14 +- src/libafsrpc/NTMakefile | 3 +- src/rx/HPUX/rx_kmutex.h | 132 +- src/rx/Makefile.in | 4 +- src/rx/rx_kcommon.c | 3 +- src/rx/rx_kcommon.h | 2 + src/rx/rx_kernel.h | 2 +- src/rx/xdr.h | 8 +- src/rx/xdr_rx.c | 8 +- src/rxkad/Makefile.in | 10 +- src/rxkad/NTMakefile | 2 + src/rxkad/rxkad.p.h | 3 + src/rxkad/rxkad_server.c | 19 +- src/rxkad/test/Makefile.in | 31 +- src/rxkad/test/stress.c | 15 +- src/rxkad/test/stress_c.c | 35 +- src/rxkad/test/stress_internal.h | 9 +- src/rxkad/test/stress_s.c | 69 +- src/shlibafsauthent/mapfile | 3 + src/shlibafsrpc/Makefile.in | 10 +- src/util/afs_lhash.c | 6 +- src/viced/callback.c | 24 +- src/viced/host.c | 10 +- src/vol/fssync.c | 2 +- src/vol/ihandle.c | 5 +- src/vol/volume.c | 7 +- 81 files changed, 6140 insertions(+), 4565 deletions(-) diff --git a/README b/README index c99bbe203..c3bf7103e 100644 --- a/README +++ b/README @@ -31,28 +31,28 @@ A. Creating the proper directory structure. into with this name when you build. alpha_dux40 - alpha_dux50 (only tested on 5.0A) - i386_fbsd42 (gmake is required to build for FreeBSD) + alpha_dux50 (only tested on 5.0A, does not work with 5.1) + i386_fbsd42, i386_fbsd43, i386_fbsd44, i386_fbsd45, + i386_fbsd46 (gmake is required to build for FreeBSD) i386_linux22 i386_linux24 rs_aix42 sgi_65 (file server not tested) - sun4x_56 - sun4x_57 - sun4x_58 - sun4x_59 - ppc_darwin_13 + sun4_413 (No client support, no fileserver support, db servers only) + sun4x_56, sun4x_57, sun4x_58, sun4x_59 (logging UFS not supported + for mixed-use partitions containing client cache) + ppc_darwin_13, ppc_darwin_14, ppc_darwin_60 (file server not tested) ppc_linux22 ppc_linux24 - alpha_linux22 - alpha_linux24 + alpha_linux22 + alpha_linux24 ia64_linux24 sparc_linux22 sparc_linux24 sparc64_linux22 sparc64_linux24 - hp_ux110 (No client support, but db servers and utilities work) - hp_ux102 (No client support, but db servers and utilities work) + hp_ux110 (See notes below for information on getting missing header) + hp_ux102 (Client port possible, but db servers and utilities work) 2. Using configure in the top level directory, configure for your AFS system type, providing the necessary flags: @@ -136,3 +136,11 @@ C Problems Mailing lists have been set up to help; More details can be found on the openafs.org site. +D Notes + HP-UX 11.0 requires a header called vfs_vm.h which HP has provided on their + web site: http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,687,00.html + To navigate down from the top level of the portal, one would do + + www.hp.com/dspp -> i want to... -> download software -> operating systems + + to get to the same page. diff --git a/acconfig.h b/acconfig.h index cbac0c04c..6244b45a9 100644 --- a/acconfig.h +++ b/acconfig.h @@ -36,6 +36,9 @@ static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg } #undef STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS #undef STRUCT_INODE_HAS_I_DEVICES #undef EXPORTED_TASKLIST_LOCK +#undef EXPORTED_SYS_CALL_TABLE +#undef EXPORTED_KALLSYMS_SYMBOL +#undef EXPORTED_KALLSYMS_ADDRESS #undef COMPLETION_H_EXISTS #undef ssize_t diff --git a/acinclude.m4 b/acinclude.m4 index 3edbf24d5..5f0f74363 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -81,7 +81,7 @@ case $system in *-linux*) MKAFS_OSTYPE=LINUX if test "x$enable_redhat_buildsys" = "xyes"; then - AC_DEFINE(ENABLE_REDHAT_BUILDSYS) + AC_DEFINE(ENABLE_REDHAT_BUILDSYS, 1, [define if you have redhat buildsystem]) fi if test "x$enable_kernel_module" = "xyes"; then if test "x$with_linux_kernel_headers" != "x"; then @@ -130,6 +130,12 @@ case $system in OMIT_FRAME_POINTER=-fomit-frame-pointer fi AC_SUBST(OMIT_FRAME_POINTER) + OPENAFS_GCC_SUPPORTS_MARCH + AC_SUBST(P5PLUS_KOPTS) + OPENAFS_GCC_NEEDS_NO_STRENGTH_REDUCE + OPENAFS_GCC_NEEDS_NO_STRICT_ALIASING + OPENAFS_GCC_SUPPORTS_NO_COMMON + AC_SUBST(LINUX_GCC_KOPTS) ifdef([OPENAFS_CONFIGURE_LIBAFS], [LINUX_BUILD_VNODE_FROM_INODE(config,afs)], [LINUX_BUILD_VNODE_FROM_INODE(src/config,src/afs/LINUX)] @@ -144,29 +150,62 @@ case $system in LINUX_EXPORTS_TASKLIST_LOCK LINUX_NEED_RHCONFIG LINUX_WHICH_MODULES + if test "x$ac_cv_linux_config_modversions" = "xno"; then + AC_MSG_WARN([Cannot determine sys_call_table status. assuming it's exported]) + ac_cv_linux_exports_sys_call_table=yes + else + LINUX_EXPORTS_SYS_CALL_TABLE + LINUX_EXPORTS_KALLSYMS_SYMBOL + LINUX_EXPORTS_KALLSYMS_ADDRESS + LINUX_EXPORTS_INIT_MM + if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then + linux_syscall_method=none + if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then + linux_syscall_method=scan + if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then + linux_syscall_method=scan_with_kallsyms_address + fi + fi + if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then + linux_syscall_method=kallsyms_symbol + fi + if test "x$linux_syscall_method" = "xnone"; then + AC_MSG_ERROR([no available sys_call_table access method]) + fi + fi + fi if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then - AC_DEFINE(EXPORTED_TASKLIST_LOCK) + AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if your linux kernel exports tasklist_lock]) fi + if test "x$ac_cv_linux_exports_sys_call_table" = "xyes"; then + AC_DEFINE(EXPORTED_SYS_CALL_TABLE) + fi + if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then + AC_DEFINE(EXPORTED_KALLSYMS_SYMBOL) + fi + if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then + AC_DEFINE(EXPORTED_KALLSYMS_ADDRESS) + fi if test "x$ac_cv_linux_completion_h_exists" = "xyes" ; then - AC_DEFINE(COMPLETION_H_EXISTS) + AC_DEFINE(COMPLETION_H_EXISTS, 1, [define if your h_exists exists]) fi if test "x$ac_cv_linux_func_inode_setattr_returns_int" = "xyes" ; then - AC_DEFINE(INODE_SETATTR_NOT_VOID) + AC_DEFINE(INODE_SETATTR_NOT_VOID, 1, [define if your setattr return return non-void]) fi if test "x$ac_cv_linux_fs_struct_address_space_has_page_lock" = "xyes"; then - AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK) + AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK, 1, [define if your struct address_space has page_lock]) fi if test "x$ac_cv_linux_fs_struct_address_space_has_gfp_mask" = "xyes"; then - AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_GFP_MASK) + AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_GFP_MASK, 1, [define if your struct address_space has gfp_mask]) fi if test "x$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" = "xyes"; then - AC_DEFINE(STRUCT_INODE_HAS_I_TRUNCATE_SEM) + AC_DEFINE(STRUCT_INODE_HAS_I_TRUNCATE_SEM, 1, [define if your struct inode has truncate_sem]) fi if test "x$ac_cv_linux_fs_struct_inode_has_i_devices" = "xyes"; then - AC_DEFINE(STRUCT_INODE_HAS_I_DEVICES) + AC_DEFINE(STRUCT_INODE_HAS_I_DEVICES, 1, [define if you struct inode has i_devices]) 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) + AC_DEFINE(STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS, 1, [define if you struct inode has data_buffers]) fi : fi @@ -286,6 +325,9 @@ else powerpc-apple-darwin6.1*) AFS_SYSNAME="ppc_darwin_60" ;; + powerpc-apple-darwin6.2*) + AFS_SYSNAME="ppc_darwin_60" + ;; sparc-sun-solaris2.5*) AFS_SYSNAME="sun4x_55" ;; @@ -385,7 +427,7 @@ AC_TRY_COMPILE( [#include a->sa_len=0;], ac_cv_sockaddr_len=yes, ac_cv_sockaddr_len=no) AC_MSG_RESULT($ac_cv_sockaddr_len)]) if test "$ac_cv_sockaddr_len" = "yes"; then - AC_DEFINE(STRUCT_SOCKADDR_HAS_SA_LEN) + AC_DEFINE(STRUCT_SOCKADDR_HAS_SA_LEN, 1, [define if you struct sockaddr sa_len]) fi if test "x${MKAFS_OSTYPE}" = "xIRIX"; then echo Skipping library tests because they confuse Irix. @@ -395,7 +437,7 @@ else 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)) + AC_CHECK_LIB(${lib}, socket,LIBS="$LIBS -l$lib";HAVE_SOCKET=1;AC_DEFINE(HAVE_SOCKET, 1, [define if you have socket])) fi done fi @@ -405,7 +447,7 @@ else 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)) + AC_CHECK_LIB(${lib}, connect,LIBS="$LIBS -l$lib";HAVE_CONNECT=1;AC_DEFINE(HAVE_CONNECT, 1, [define if you have connect])) fi done fi @@ -414,7 +456,7 @@ else 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)) + AC_CHECK_LIB(${lib}, gethostbyname, LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;AC_DEFINE(HAVE_GETHOSTBYNAME, 1, [define if you have gethostbyname])) fi done fi @@ -423,7 +465,7 @@ else 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)) + AC_CHECK_LIB(${lib}, res_search, LIBS="$LIBS -l$lib";HAVE_RES_SEARCH=1;AC_DEFINE(HAVE_RES_SEARCH, 1, [define if you have res_search])) fi done if test "$HAVE_RES_SEARCH" = 1; then @@ -463,28 +505,28 @@ fi # Fast restart if test "$enable_fast_restart" = "yes"; then - AC_DEFINE(FAST_RESTART) + AC_DEFINE(FAST_RESTART, 1, [define if you want to have fast restart]) fi if test "$enable_bitmap_later" = "yes"; then - AC_DEFINE(BITMAP_LATER) + AC_DEFINE(BITMAP_LATER, 1, [define if you want to salvager to check bitmasks later]) fi if test "$enable_full_vos_listvol_switch" = "yes"; then - AC_DEFINE(FULL_LISTVOL_SWITCH) + AC_DEFINE(FULL_LISTVOL_SWITCH, 1, [define if you want to want listvol switch]) fi if test "$enable_bos_restricted_mode" = "yes"; then - AC_DEFINE(BOS_RESTRICTED_MODE) + AC_DEFINE(BOS_RESTRICTED_MODE, 1, [define if you want to want bos restricted mode]) fi if test "$enable_namei_fileserver" = "yes"; then - AC_DEFINE(AFS_NAMEI_ENV) + AC_DEFINE(AFS_NAMEI_ENV, 1, [define if you want to want namei fileserver]) fi if test "$enable_afsdb" = "yes"; then LIB_AFSDB="$LIB_res_search" - AC_DEFINE(AFS_AFSDB_ENV) + AC_DEFINE(AFS_AFSDB_ENV, 1, [define if you want to want search afsdb rr]) fi dnl check for tivoli @@ -523,6 +565,8 @@ AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf re_comp re_exec) AC_CHECK_FUNCS(setprogname getprogname sigaction) AC_CHECK_TYPE(ssize_t, int) +AC_CHECK_FUNCS(timegm) + dnl Directory PATH handling if test "x$enable_transarc_paths" = "xyes" ; then afsconfdir=${afsconfdir=/usr/afs/etc} diff --git a/configure-libafs.in b/configure-libafs.in index 8180d4b05..ddcde4c1c 100644 --- a/configure-libafs.in +++ b/configure-libafs.in @@ -1,5 +1,5 @@ AC_INIT(Makefile.common) -AM_INIT_AUTOMAKE(openafs-libafs,1.2.7) +AM_INIT_AUTOMAKE(openafs-libafs,1.2.8) AC_CONFIG_HEADER(config/afsconfig.h) define(OPENAFS_CONFIGURE_LIBAFS) diff --git a/src/WINNT/afsapplib/NTMakefile b/src/WINNT/afsapplib/NTMakefile index c19d74065..44ef0a61f 100644 --- a/src/WINNT/afsapplib/NTMakefile +++ b/src/WINNT/afsapplib/NTMakefile @@ -5,10 +5,6 @@ # License. For details, see the LICENSE file in the top-level source # directory or online at http://www.openafs.org/dl/license10.html -# make compiler warnings fatal - -AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -WX - # indicate that the functions in this library should be exported AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -DEXPORT_AFSAPPLIB -DEXPORTED=_declspec(dllexport) diff --git a/src/WINNT/afsd/cm_config.c b/src/WINNT/afsd/cm_config.c index f09e9fcc6..2501ff85a 100644 --- a/src/WINNT/afsd/cm_config.c +++ b/src/WINNT/afsd/cm_config.c @@ -241,8 +241,14 @@ long cm_SearchCellFile(char *cellNamep, char *newCellNamep, return -4; } valuep++; /* skip the "#" */ - - valuep += strspn(valuep, " "); /* skip SP & TAB */ + valuep += strspn(valuep, " \t"); /* skip SP & TAB */ + /* strip spaces and tabs in the end. They should not be there according to CellServDB format + so do this just in case */ + while (valuep[strlen(valuep) - 1] == ' ' || valuep[strlen(valuep) - 1] == '\t') valuep[strlen(valuep) - 1] = '\0'; + + /* strip spaces and tabs in the end. They should not be there according to CellServDB format + so do this just in case */ + while (valuep[strlen(valuep) - 1] == ' ' || valuep[strlen(valuep) - 1] == '\t') valuep[strlen(valuep) - 1] = '\0'; #endif /* !DJGPP */ if (inRightCell) { #if !defined(DJGPP) && !defined(AFS_WIN95_ENV) diff --git a/src/WINNT/afsd/cm_conn.c b/src/WINNT/afsd/cm_conn.c index 0f7406032..3b326022e 100644 --- a/src/WINNT/afsd/cm_conn.c +++ b/src/WINNT/afsd/cm_conn.c @@ -63,9 +63,9 @@ long cm_GetServerList(struct cm_fid *fidp, struct cm_user *userp, struct cm_req *reqp, cm_serverRef_t **serverspp) { long code; - cm_volume_t *volp; - cm_serverRef_t *serversp; - cm_cell_t *cellp; + cm_volume_t *volp = NULL; + cm_serverRef_t *serversp = NULL; + cm_cell_t *cellp = NULL; if (!fidp) { *serverspp = NULL; diff --git a/src/WINNT/afsd/smb.c b/src/WINNT/afsd/smb.c index e32a57d47..f740e00b5 100644 --- a/src/WINNT/afsd/smb.c +++ b/src/WINNT/afsd/smb.c @@ -3831,6 +3831,7 @@ long smb_ReceiveCoreRename(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp) smb_renameRock_t rock; cm_scache_t *oldDscp; cm_scache_t *newDscp; + cm_scache_t *tmpscp; char *oldLastNamep; char *newLastNamep; osi_hyper_t thyper; @@ -3914,6 +3915,14 @@ long smb_ReceiveCoreRename(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp) */ thyper.LowPart = 0; /* search dir from here */ thyper.HighPart = 0; + /* search for file to already exhist, if so return error*/ + + code = cm_Lookup(newDscp,newLastNamep,CM_FLAG_CHECKPATH,userp,&req,&tmpscp); + if((code != CM_ERROR_NOSUCHFILE) && (code != CM_ERROR_NOSUCHPATH) && (code != CM_ERROR_NOSUCHVOLUME) ) { + cm_ReleaseSCache(tmpscp); + return CM_ERROR_EXISTS; /* file exist, do not rename, also + fixes move*/ + } code = cm_ApplyDir(oldDscp, smb_RenameProc, &rock, &thyper, userp, &req, NULL); if (code == CM_ERROR_STOPNOW) @@ -6050,6 +6059,22 @@ void smb_NetbiosInit() int len; int lana_found = 0; + /*******************************************************************/ + /* ms loopback adapter scan */ + /*******************************************************************/ + struct + { + ADAPTER_STATUS status; + NAME_BUFFER NameBuff [30]; + } Adapter; + + int j; + BOOL wla_found; + + /* AFAIK, this is the default for the ms loopback adapter.*/ + unsigned char kWLA_MAC[6] = { 0x02, 0x00, 0x4c, 0x4f, 0x4f, 0x50 }; + /*******************************************************************/ + /* setup the NCB system */ ncbp = GetNCB(); #ifdef DJGPP @@ -6087,11 +6112,34 @@ void smb_NetbiosInit() sprintf(s, "Netbios NCBRESET lana %d error code %d", lana_list.lana[i], code); afsi_log(s); lana_list.lana[i] = 255; /* invalid lana */ - } - else { + } else { sprintf(s, "Netbios NCBRESET lana %d succeeded", lana_list.lana[i]); afsi_log(s); - } + /* check to see if this is the "Microsoft Loopback Adapter" */ + memset( ncbp, 0, sizeof (*ncbp) ); + ncbp->ncb_command = NCBASTAT; + ncbp->ncb_lana_num = lana_list.lana[i]; + strcpy( ncbp->ncb_callname, "* " ); + ncbp->ncb_buffer = (char *) &Adapter; + ncbp->ncb_length = sizeof(Adapter); + code = Netbios( ncbp ); + + if ( code == 0 ) { + wla_found = TRUE; + for (j=0; wla_found && (j<6); j++) + wla_found = ( Adapter.status.adapter_address[j] == kWLA_MAC[j] ); + + if ( wla_found ) { + sprintf(s, "Windows Loopback Adapter detected lana %d", lana_list.lana[i]); + afsi_log(s); + + /* select this lana; no need to continue */ + lana_list.length = 1; + lana_list.lana[0] = lana_list.lana[i]; + break; + } + } + } } #else /* for DJGPP, there is no NCBENUM and NCBRESET is a real reset. so diff --git a/src/WINNT/afsd/smb3.c b/src/WINNT/afsd/smb3.c index ef4e7e2b8..0fa49bc84 100644 --- a/src/WINNT/afsd/smb3.c +++ b/src/WINNT/afsd/smb3.c @@ -1448,7 +1448,10 @@ long smb_ReceiveTran2SetFileInfo(smb_vc_t *vcp, smb_tran2Packet_t *p, smb_packet /* prepare for setattr call */ attr.mask = 0; lastMod = *((FILETIME *)(p->datap + 16)); - if (LargeIntegerNotEqualToZero(*((LARGE_INTEGER *)&lastMod))) { + /* when called as result of move a b, lastMod is (-1, -1). If the check for -1 is not present, timestamp + of the resulting file will be 1969 (-1) + */ + if (LargeIntegerNotEqualToZero(*((LARGE_INTEGER *)&lastMod)) && lastMod.dwLowDateTime != -1 && lastMod.dwHighDateTime != -1) { attr.mask |= CM_ATTRMASK_CLIENTMODTIME; smb_UnixTimeFromLargeSearchTime(&attr.clientModTime, &lastMod); @@ -4064,7 +4067,7 @@ long smb_ReceiveNTCancel(smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp) osi_Log3(afsd_logp, "Cancelling change notification for fid %d wtree %d file %s", fid, watchtree, - osi_LogSaveString(afsd_logp, fidp->NTopen_wholepathp)); + osi_LogSaveString(afsd_logp, (fidp)?fidp->NTopen_wholepathp:"")); scp = fidp->scp; lock_ObtainMutex(&scp->mx); diff --git a/src/WINNT/client_config/NTMakefile b/src/WINNT/client_config/NTMakefile index fc20442dd..0d1d17610 100644 --- a/src/WINNT/client_config/NTMakefile +++ b/src/WINNT/client_config/NTMakefile @@ -5,10 +5,6 @@ # License. For details, see the LICENSE file in the top-level source # directory or online at http://www.openafs.org/dl/license10.html -# make compiler warnings fatal - -AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -WX - # include the AFSD source tree on our inclusion path AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -I ..\afsd diff --git a/src/WINNT/client_creds/NTMakefile b/src/WINNT/client_creds/NTMakefile index cd4d6a2d5..98b1f4dad 100644 --- a/src/WINNT/client_creds/NTMakefile +++ b/src/WINNT/client_creds/NTMakefile @@ -5,12 +5,6 @@ # License. For details, see the LICENSE file in the top-level source # directory or online at http://www.openafs.org/dl/license10.html -# make compiler warnings fatal - -AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -WX - -# include the AFSD source tree on our inclusion path - AFSDEV_AUXCDEFINES = $(AFSDEV_AUXCDEFINES) -I ..\afsd # include the primary makefile @@ -100,7 +94,7 @@ COPYSOURCES = \ ############################################################################ $(EXEFILE) : $(EXEOBJS) $(EXELIBS) - $(EXEGUILINK) $(VCLIBS) + $(EXEMFCLINK) $(VCLIBS) $(EXEPREP) install : $(COPYSOURCES) $(COPYHEADERS) $(EXEFILE) lang diff --git a/src/WINNT/client_creds/shortcut.cpp b/src/WINNT/client_creds/shortcut.cpp index ee66dd9a6..b6c4adef7 100644 --- a/src/WINNT/client_creds/shortcut.cpp +++ b/src/WINNT/client_creds/shortcut.cpp @@ -16,6 +16,7 @@ extern "C" { #include #include #include +#undef INITGUID #include #include #include "shortcut.h" diff --git a/src/WINNT/client_exp/afs_shl_ext.cpp b/src/WINNT/client_exp/afs_shl_ext.cpp index 7f41589c6..d0917b201 100644 --- a/src/WINNT/client_exp/afs_shl_ext.cpp +++ b/src/WINNT/client_exp/afs_shl_ext.cpp @@ -80,7 +80,7 @@ STDAPI DllCanUnloadNow(void) { AFX_MANAGE_STATE(AfxGetStaticModuleState()); - if (!nCMRefCount && !nSERefCount) + if (!nCMRefCount && !nSERefCount && !nICRefCount && !nTPRefCount && !nXPRefCount) return S_OK; return S_FALSE; @@ -89,7 +89,76 @@ STDAPI DllCanUnloadNow(void) // by exporting DllRegisterServer, you can use regsvr.exe STDAPI DllRegisterServer(void) { + int i; + HKEY hKey; + LRESULT lResult; + DWORD dwDisp; + TCHAR szSubKey[MAX_PATH]; + TCHAR szCLSID[MAX_PATH]; + TCHAR szModule[MAX_PATH]; + LPWSTR pwsz; AFX_MANAGE_STATE(AfxGetStaticModuleState()); COleObjectFactory::UpdateRegistryAll(); + wsprintf(szSubKey, TEXT("%s\\%s"), STR_REG_PATH, STR_EXT_TITLE); + lResult = RegCreateKeyEx( HKEY_LOCAL_MACHINE, + szSubKey, + 0, + NULL, + REG_OPTION_NON_VOLATILE, + KEY_WRITE, + NULL, + &hKey, + &dwDisp); + + if(NOERROR == lResult) + { + //Create the value string. + lResult = RegSetValueEx( hKey, + NULL, + 0, + REG_SZ, + (LPBYTE)szCLSID, + (lstrlen(szCLSID) + 1) * sizeof(TCHAR)); + RegCloseKey(hKey); + } + else + return SELFREG_E_CLASS; + + //If running on NT, register the extension as approved. + OSVERSIONINFO osvi; + osvi.dwOSVersionInfoSize = sizeof(osvi); + GetVersionEx(&osvi); + if(VER_PLATFORM_WIN32_NT == osvi.dwPlatformId) + { + lstrcpy( szSubKey, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved")); + + lResult = RegCreateKeyEx( HKEY_LOCAL_MACHINE, + szSubKey, + 0, + NULL, + REG_OPTION_NON_VOLATILE, + KEY_WRITE, + NULL, + &hKey, + &dwDisp); + + if(NOERROR == lResult) + { + TCHAR szData[MAX_PATH]; + + //Create the value string. + lstrcpy(szData, STR_EXT_TITLE); + + lResult = RegSetValueEx( hKey, + szCLSID, + 0, + REG_SZ, + (LPBYTE)szData, + (lstrlen(szData) + 1) * sizeof(TCHAR)); + + RegCloseKey(hKey); + } else + return SELFREG_E_CLASS; + } return S_OK; } diff --git a/src/WINNT/client_exp/gui2fs.cpp b/src/WINNT/client_exp/gui2fs.cpp index cf769ddf6..4b5283bd0 100644 --- a/src/WINNT/client_exp/gui2fs.cpp +++ b/src/WINNT/client_exp/gui2fs.cpp @@ -1115,6 +1115,115 @@ defect #3069 return TRUE; } +/* +*/ +long fs_ExtractDriveLetter(const char *inPathp, char *outPathp) +{ + if (inPathp[0] != 0 && inPathp[1] == ':') { + /* there is a drive letter */ + *outPathp++ = *inPathp++; + *outPathp++ = *inPathp++; + *outPathp++ = 0; + } + else *outPathp = 0; + + return 0; +} + +/* strip the drive letter from a component */ +long fs_StripDriveLetter(const char *inPathp, char *outPathp, long outSize) +{ + char tempBuffer[1000]; + strcpy(tempBuffer, inPathp); + if (tempBuffer[0] != 0 && tempBuffer[1] == ':') { + /* drive letter present */ + strcpy(outPathp, tempBuffer+2); + } + else { + /* no drive letter present */ + strcpy(outPathp, tempBuffer); + } + return 0; +} + + +BOOL RemoveSymlink(const char * linkName) +{ + BOOL error = FALSE; + INT code=0; + struct ViceIoctl blob; + char tbuffer[1024]; + char lsbuffer[1024]; + char tpbuffer[1024]; + char *tp; + + tp = (char *) strrchr(linkName, '\\'); + if (!tp) + tp = (char *) strrchr(linkName, '/'); + if (tp) { + strncpy(tbuffer, linkName, code=tp-linkName+1); /* the dir name */ + tbuffer[code] = 0; + tp++; /* skip the slash */ + } + else { + fs_ExtractDriveLetter(linkName, tbuffer); + strcat(tbuffer, "."); + fs_StripDriveLetter(tp, tpbuffer, 0); + tp=tpbuffer; + } + blob.in = tp; + blob.in_size = strlen(tp)+1; + blob.out = lsbuffer; + blob.out_size = sizeof(lsbuffer); + code = pioctl(tbuffer, VIOC_LISTSYMLINK, &blob, 0); + if (code) + return FALSE; + blob.out_size = 0; + blob.in = tp; + blob.in_size = strlen(tp)+1; + return (pioctl(tbuffer, VIOC_DELSYMLINK, &blob, 0)==0); +} + +BOOL IsSymlink(const char * true_name) +{ + char parent_dir[MAXSIZE]; /*Parent directory of true name*/ + char strip_name[MAXSIZE]; + struct ViceIoctl blob; + char *last_component; + int code; + last_component = (char *) strrchr(true_name, '\\'); + if (!last_component) + last_component = (char *) strrchr(true_name, '/'); + if (last_component) { + /* + * Found it. Designate everything before it as the parent directory, + * everything after it as the final component. + */ + strncpy(parent_dir, true_name, last_component - true_name + 1); + parent_dir[last_component - true_name + 1] = 0; + last_component++; /*Skip the slash*/ + } + else { + /* + * No slash appears in the given file name. Set parent_dir to the current + * directory, and the last component as the given name. + */ + fs_ExtractDriveLetter(true_name, parent_dir); + strcat(parent_dir, "."); + last_component = strip_name; + fs_StripDriveLetter(true_name, strip_name, sizeof(strip_name)); + } + + blob.in = last_component; + blob.in_size = strlen(last_component)+1; + blob.out_size = MAXSIZE; + blob.out = space; + memset(space, 0, MAXSIZE); + code = pioctl(parent_dir, VIOC_LISTSYMLINK, &blob, 1); + return (code==0); +} + + /* * Delete AFS mount points. Variables are used as follows: * tbuffer: Set to point to the null-terminated directory name of the mount point @@ -1461,7 +1570,7 @@ BOOL GetTokenInfo(CStringArray& tokenInfo) return TRUE; } -BOOL IsPathInAfs(const CString& strPath) +BOOL IsPathInAfs(const CHAR *strPath) { struct ViceIoctl blob; int code; diff --git a/src/WINNT/client_exp/gui2fs.h b/src/WINNT/client_exp/gui2fs.h index 381abaa71..cca21a271 100644 --- a/src/WINNT/client_exp/gui2fs.h +++ b/src/WINNT/client_exp/gui2fs.h @@ -28,12 +28,16 @@ BOOL CopyACL(const CString& strToDir, const CStringArray& normal, const CStringA BOOL ListMount(CStringArray& files); BOOL MakeMount(const CString& strDir, const CString& strVolName, const CString& strCellName, BOOL bRW); BOOL RemoveMount(CStringArray& files); +BOOL RemoveSymlink(const char *); BOOL GetVolumeInfo(CString strFile, CVolInfo& volInfo); BOOL SetVolInfo(CVolInfo& volInfo); enum WHICH_CELLS { LOCAL_CELL = 0, SPECIFIC_CELL = 1, ALL_CELLS = 2 }; BOOL CheckServers(const CString& strCellName, WHICH_CELLS nCellsToCheck, BOOL bFast); BOOL GetTokenInfo(CStringArray& tokenInfo); -BOOL IsPathInAfs(const CString& strPath); +BOOL IsPathInAfs(const CHAR *strPath); int GetCellName(char *baseNamep, struct afsconf_cell *infop); +long fs_StripDriveLetter(const char *inPathp, char *outPathp, long outSize); +long fs_ExtractDriveLetter(const char *inPathp, char *outPathp); +BOOL IsSymlink(const char * true_name); #endif //__GUI2FS_H__ diff --git a/src/WINNT/client_exp/lang/en_US/afs_shl_ext.rc b/src/WINNT/client_exp/lang/en_US/afs_shl_ext.rc index c67c2dfa2..f2d3d08ec 100644 --- a/src/WINNT/client_exp/lang/en_US/afs_shl_ext.rc +++ b/src/WINNT/client_exp/lang/en_US/afs_shl_ext.rc @@ -105,6 +105,7 @@ BEGIN MENUITEM "Show &File Servers...", IDM_SHOW_SERVER MENUITEM "Show &Cell...", IDM_SHOWCELL MENUITEM "Show Server Status...", IDM_SERVER_STATUS + MENUITEM "Remove SymLink", IDM_REMOVE_SYMLINK END @@ -629,6 +630,8 @@ BEGIN IDS_SHOW_FS_COLUMN "File Server(s)" IDS_REMOVE_MP "Remove Mount Points" IDS_REMOVE_MP_COLUMN "Result" + IDS_REMOVE_SYMLINK_ITEM "&Remove Symbolic Link" + IDS_REALLY_REMOVE_SYMLINK "Are you sure you want to remove the selected Symbolic Link?" END #endif // English (U.S.) resources diff --git a/src/WINNT/client_exp/lang/es_ES/afs_shl_ext.rc b/src/WINNT/client_exp/lang/es_ES/afs_shl_ext.rc index 324b52ade..f7ba1eca4 100644 --- a/src/WINNT/client_exp/lang/es_ES/afs_shl_ext.rc +++ b/src/WINNT/client_exp/lang/es_ES/afs_shl_ext.rc @@ -7,654 +7,655 @@ * directory or online at http://www.openafs.org/dl/license10.html */ -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.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 -#endif //_WIN32 - -#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" - "#endif\r\n" - "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" - "#include ""afxres.rc"" // Standard components\r\n" - "#endif\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU_FILE MENU DISCARDABLE -BEGIN - MENUITEM "Autentificación...", IDM_AUTHENTICATION - MENUITEM "Listas de control de acceso...", IDM_ACL_SET - POPUP "Vo&lumen/Partición" - BEGIN - MENUITEM "&Propiedades...", IDM_VOLUME_PROPERTIES - MENUITEM "&Actualizar nombre/mapa de ID", - IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE - - END - POPUP "Punto de monta&je" - BEGIN - MENUITEM "&Mostrar...", IDM_MOUNTPOINT_SHOW - MENUITEM "&Eliminar...", IDM_MOUNTPOINT_REMOVE - MENUITEM "&Crear...", IDM_MOUNTPOINT_MAKE - END - MENUITEM "&Descargar archivo/dir", IDM_FLUSH - MENUITEM "Descargar vol&umen", IDM_FLUSH_VOLUME - MENUITEM "Mostrar ser&vidores de archivo...", IDM_SHOW_SERVER - MENUITEM "Mostrar &célula...", IDM_SHOWCELL - MENUITEM "Mostrar estado de servidor...", IDM_SERVER_STATUS -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "Información de volumen" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Aceptar",IDOK,60,150,50,14,WS_DISABLED - PUSHBUTTON "Ayuda",9,240,150,50,14 - PUSHBUTTON "Cancelar",IDCANCEL,150,150,50,14 - LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP - LTEXT "Archivo/directorio",IDC_STATIC,10,10,74,10 - LTEXT "Nombre",IDC_STATIC,90,10,71,8 - LTEXT "Cuota",IDC_STATIC,225,10,38,8 - LTEXT "Utilizado",IDC_STATIC,270,10,32,8 - LTEXT "%Utilizado",IDC_STATIC,305,10,34,8 - LTEXT "ID",IDC_STATIC,175,10,42,8 - LTEXT "Cuota nueva:",IDC_STATIC,10,127,46,10 - EDITTEXT IDC_NEW_QUOTA,58,126,50,12,ES_AUTOHSCROLL | WS_DISABLED - PUSHBUTTON "Mostrar información de partición",IDC_PARTITION_INFO, - 205,125,112,14,WS_DISABLED - LTEXT "KBytes",IDC_STATIC,128,127,25,10 - CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | - UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | - WS_DISABLED,115,125,10,14 -END - -IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Establecer ACL de AFS" -FONT 8, "MS Sans Serif" -BEGIN - LTEXT "",IDC_DIR_NAME,51,12,259,10 - LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - CONTROL "r - Leer",IDC_READ,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,52,55,10 - CONTROL "w - Grabar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,111,55,10 - CONTROL "l - Buscar",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,66,55,10 - CONTROL "d - Suprimir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,96,55,10 - CONTROL "i - Insertar",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,81,55,10 - CONTROL "k - Bloquear",IDC_LOCK,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,126,55,10 - CONTROL "a - Administrar",IDC_ADMINISTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,200,141,61,10 - PUSHBUTTON "Aña&dir...",IDC_ADD,270,45,45,14 - PUSHBUTTON "&Eliminar",IDC_REMOVE,270,70,45,14,WS_DISABLED - PUSHBUTTON "&Borrar",IDC_CLEAN,270,95,45,14 - DEFPUSHBUTTON "&Aceptar",IDOK,270,150,45,14 - PUSHBUTTON "Ca&ncelar",IDCANCEL,270,175,45,14 - PUSHBUTTON "A&yuda",9,270,201,45,14 - LTEXT "Directorio:",IDC_STATIC,15,12,34,10 - GROUPBOX "Permisos",IDC_STATIC,195,41,71,115 - LTEXT "normales",IDC_STATIC,10,36,30,8 - LTEXT "Nombre",IDC_COLUMN_3,69,38,36,8 - LTEXT "Permisos",IDC_STATIC,10,28,37,8 - LTEXT "negativos",IDC_STATIC,9,132,38,8 - LTEXT "Permisos",IDC_STATIC,9,124,38,8 - LTEXT "Nombre",IDC_COLUMN_4,69,133,42,8 - GROUPBOX "",IDC_STATIC,10,5,305,20 - PUSHBUTTON "Co&piar...",IDC_COPY,270,120,45,14 -END - -IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 223, 103 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Crear punto de montaje" -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_DIR,45,10,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_VOLUME,45,25,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_CELL,45,40,170,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "Aceptar",IDOK,20,81,50,14 - PUSHBUTTON "Cancelar",IDCANCEL,85,81,50,14 - PUSHBUTTON "Ayuda",9,150,81,50,14 - LTEXT "Directorio:",IDC_STATIC,8,12,33,10 - LTEXT "Volumen:",IDC_STATIC,10,28,33,10 - LTEXT "Célula:",IDC_STATIC,18,42,25,10 - GROUPBOX "",IDC_STATIC,47,52,115,20 - LTEXT "Opciones:",IDC_STATIC,10,59,35,10 - CONTROL "Normales",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | - WS_GROUP,51,59,41,10 - CONTROL "Leer/Grabar",IDC_RW,"Button",BS_AUTORADIOBUTTON,103,59, - 57,10 -END - -IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 250, 114 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Añadir entrada de ACL" -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_NAME,48,70,190,12,ES_AUTOHSCROLL - CONTROL "r - Leer",IDC_READ,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,15,45,10 - CONTROL "l - Buscar",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,25,50,10 - CONTROL "i - Insertar",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,35,50,10 - CONTROL "d - Suprimir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,45,50,10 - CONTROL "w - Grabar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,15,50,10 - CONTROL "k - Bloquear",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,25,55,10 - CONTROL "a - Administrar",IDC_ADMINISTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,80,35,60,10 - CONTROL "Entrada normal",IDC_ADD_NORMAL_ENTRY,"Button", - BS_AUTORADIOBUTTON | WS_GROUP,161,16,69,10 - CONTROL "Entrada negativa",IDC_ADD_NEGATIVE_ENTRY,"Button", - BS_AUTORADIOBUTTON,161,26,72,10 - PUSHBUTTON "Aceptar",IDOK,22,90,50,14 - PUSHBUTTON "Cancelar",IDCANCEL,92,90,50,14 - PUSHBUTTON "Ayuda",9,162,90,50,14 - LTEXT "Nombre:",IDC_STATIC,10,72,32,8 - GROUPBOX "Permisos",IDC_STATIC,10,5,135,55 - GROUPBOX "Tipo de entrada",IDC_STATIC,155,6,84,34 -END - -IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 152, 82 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Información de partición" -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_TOTAL_SIZE,61,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_BLOCKS_FREE,61,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_PERCENT_USED,61,40,40,12,ES_AUTOHSCROLL | - WS_DISABLED | NOT WS_TABSTOP - DEFPUSHBUTTON "Cerrar",IDOK,14,62,40,14 - PUSHBUTTON "Ayuda",9,69,62,40,14 - LTEXT "% Utilizado:",IDC_STATIC,19,42,38,8 - LTEXT "Bloques libres:",IDC_STATIC,10,27,47,8 - LTEXT "Tamaño total:",IDC_STATIC,12,12,46,8 - LTEXT "Kilobytes",IDC_STATIC,106,12,33,8 - LTEXT "Kilobytes",IDC_STATIC,105,27,37,8 -END - -IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Copiar ACL" -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY - EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL - PUSHBUTTON "Examinar",IDC_BROWSE,191,25,39,15 - CONTROL "Borrar entradas actuales:",IDC_CLEAR,"Button", - BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,10,46,97,10 - DEFPUSHBUTTON "Aceptar",IDOK,20,65,50,14,WS_DISABLED - PUSHBUTTON "Cancelar",IDCANCEL,95,65,50,14 - PUSHBUTTON "Ayuda",9,170,65,50,14 - LTEXT "Copiar desde:",IDC_STATIC,8,12,44,8 - LTEXT "Copiar a:",IDC_STATIC,22,29,30,8 -END - -IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Dónde está" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Cerrar",IDOK,65,145,50,14 - PUSHBUTTON "Ayuda",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "Archivo/directorio",IDC_STATIC,10,10,111,8 - LTEXT "Servidor(es) de archivos",IDC_STATIC,128,10,130,8 -END - -IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Resultados" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Cerrar",IDOK,65,145,50,14 - PUSHBUTTON "Ayuda",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "Archivo/directorio",-1,10,10,105,8 - LTEXT "Resultado",IDC_RESULTS_LABEL,128,10,148,8 -END - -IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Puntos de montaje" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Cerrar",IDOK,65,145,50,14 - PUSHBUTTON "Ayuda",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "Archivo",IDC_STATIC,10,11,53,8 - LTEXT "Volumen",IDC_STATIC,75,11,66,8 - LTEXT "Célula",IDC_STATIC,155,11,63,8 - LTEXT "Tipo",IDC_STATIC,230,11,55,8 -END - -IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Servidores no activos" -FONT 8, "MS Sans Serif" -BEGIN - LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL - LTEXT "Estos servidores siguen sin estar activos:",IDC_STATIC, - 10,10,182,8 - DEFPUSHBUTTON "Aceptar",IDOK,82,140,45,15 -END - -IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "Estado de servidor" -FONT 8, "MS Sans Serif" -BEGIN - CONTROL "Célula local",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | - WS_GROUP | WS_TABSTOP,20,20,136,8 - CONTROL "Célula especificada:",IDC_SPECIFIEDCELL,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,136,10 - CONTROL "Todas las células",IDC_ALL_CELLS,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,20,65,135,10 - CONTROL "No investigar servidores",IDC_DONTPROBESERVERS,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,24,87,93,10 - PUSHBUTTON "Mostrar estado",IDC_SHOWSTATUS,10,120,54,14 - GROUPBOX "Célula",IDC_STATIC,10,5,160,105,WS_GROUP - GROUPBOX "",IDC_STATIC,20,80,100,20,WS_GROUP - EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL - PUSHBUTTON "Cerrar",IDCANCEL,67,120,48,14 - PUSHBUTTON "Ayuda",9,119,120,50,14 -END - -IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Autentificación" -FONT 8, "MS Sans Serif" -BEGIN - LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - PUSHBUTTON "Obtener señales",ID_GET_TOKENS,12,137,57,14 - PUSHBUTTON "Descartar señales",ID_DISCARD_TOKENS,79,137,62,14 - PUSHBUTTON "Cerrar",IDCANCEL,151,137,55,14 - PUSHBUTTON "Ayuda",9,217,137,55,14 - LTEXT "Nombre de usuario",IDC_STATIC,10,9,88,8 - LTEXT "Nombre de célula",IDC_STATIC,104,9,113,8 - LTEXT "Caducidad",IDC_STATIC,222,9,49,8 -END - -IDD_KLOG_DIALOG DIALOGEX 0, 0, 179, 93 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "Obtener señales" -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_NAME,54,10,115,12,ES_AUTOHSCROLL - EDITTEXT IDC_PASSWORD,53,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL - EDITTEXT IDC_CELL_NAME,53,50,115,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "Aceptar",IDOK,20,70,35,14,WS_DISABLED - PUSHBUTTON "Cancelar",IDCANCEL,70,70,35,14 - PUSHBUTTON "Ayuda",9,120,70,35,14 - LTEXT "Nombre:",IDC_STATIC,21,12,29,8 - LTEXT "Contraseña:",IDC_STATIC,9,32,41,8 - LTEXT "Célula:",IDC_STATIC,25,52,24,8 -END - -IDD_UNLOG_DIALOG DIALOGEX 0, 0, 192, 63 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "Descartar señales" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Aceptar",IDOK,27,40,35,14 - PUSHBUTTON "Cancelar",IDCANCEL,77,40,37,14 - PUSHBUTTON "Ayuda",9,129,40,35,14 - LTEXT "Célula:",IDC_STATIC,10,17,23,8 - EDITTEXT IDC_CELL_NAME,37,15,145,12,ES_AUTOHSCROLL -END - -IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Submontajes" -FONT 8, "MS Sans Serif" -BEGIN - LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "Añadir ",IDC_ADD,202,20,45,14 - PUSHBUTTON "Suprimir",IDC_DELETE,202,39,45,14,WS_DISABLED - PUSHBUTTON "Cambiar",IDC_CHANGE,202,58,45,14,WS_DISABLED - LTEXT "Submontajes:",IDC_STATIC,10,10,50,8 - PUSHBUTTON "Aceptar",IDOK,202,145,45,14 - PUSHBUTTON "Cancelar",IDCANCEL,202,163,45,14 -END - -IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 282, 79 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Añadir submontaje" -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_SHARE_NAME,107,8,163,12,ES_AUTOHSCROLL - EDITTEXT IDC_PATH_NAME,107,23,163,12,ES_AUTOHSCROLL - PUSHBUTTON "Aceptar",IDOK,22,53,45,14 - PUSHBUTTON "Cancelar",IDCANCEL,92,53,45,14 - PUSHBUTTON "Ayuda",9,167,53,45,14 - LTEXT "Nombre de compartición:",IDC_STATIC,18,10,87,8 - LTEXT "Nombre de vía de acceso:",IDC_STATIC,19,25,86,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE -BEGIN - IDD_MAKE_MOUNT_POINT, DIALOG - BEGIN - RIGHTMARGIN, 222 - END - - IDD_ADD_ACL, DIALOG - BEGIN - RIGHTMARGIN, 235 - BOTTOMMARGIN, 113 - END - - IDD_PARTITION_INFO, DIALOG - BEGIN - RIGHTMARGIN, 123 - END - - IDD_SERVERSTATUS, DIALOG - BEGIN - RIGHTMARGIN, 171 - END - - IDD_AUTHENTICATION, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 278 - TOPMARGIN, 7 - BOTTOMMARGIN, 151 - END - - IDD_KLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 172 - TOPMARGIN, 7 - BOTTOMMARGIN, 86 - END - - IDD_UNLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 185 - TOPMARGIN, 7 - BOTTOMMARGIN, 56 - END - - IDD_SUBMTINFO, DIALOG - BEGIN - LEFTMARGIN, 10 - RIGHTMARGIN, 247 - BOTTOMMARGIN, 177 - END - - IDD_ADD_SUBMOUNT, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 275 - TOPMARGIN, 7 - BOTTOMMARGIN, 25 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE DISCARDABLE -BEGIN - ID_ACL_CLEAN "fs cleanacl" - ID_ACL_COPY "fs copyacl" - ID_ACL_LIST "fs listacl" - ID_ACL_SET "fs setacl" - ID_VOLUME_CHECK "fs checkvolumes" - ID_VOLUME_DISKFREE "fs diskfree" - ID_VOLUME_EXAMINE "fs examine" - ID_VOLUME_FLUSH "fs flushvolume" - ID_VOLUME_QUOTA_BRIEF "fs quota" - ID_VOLUME_QUOTA_FULL "fs listquota" - ID_VOLUME_QUOTA_SET "fs setvol" - ID_VOLUME_SET "fs setvol" -END - -STRINGTABLE DISCARDABLE -BEGIN - ID_FLUSH "fs flush" - ID_WHEREIS "fs whereis" - ID_SHOWCELL "fs whichcell" - ID_MOUNTPOINT_SHOW "fs lsmount" - ID_MOUNTPOINT_REMOVE "fs rmmount" - ID_SHOW_SERVER "fs whereis" - ID_AUTHENTICATE "Iniciar o finalizar la sesión de AFS" - ID_SERVER_STATUS "Comprobar servidores" - ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" - ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" - ID_MOUNTPOINT_MAKE "fs mkmount" - IDS_FLUSH_FAILED "No puede descargarse archivo activo %o" - IDS_FLUSH_ERROR "Error al descargar archivo %o: %s" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_FLUSH_OK "Archivo(s) seleccionado(s) descargado(s) satisfactoriamente" - IDS_CANT_GET_CELL "Error al determinar célula:" - IDS_FLUSH_VOLUME_ERROR "Error al descargar volumen para %o: %s" - IDS_FLUSH_VOLUME_OK "Volumen descargado satisfactoriamente" - IDS_WHERE_IS "Archivo %o está en sistema principal %s" - IDS_CLEANACL_NOT_SUPPORTED - "No puede limpiarse ACL para archivo %o: borrado de Acl no soportado para listas de acceso de DFS" - IDS_ACL_IS_FINE "Lista de acceso para %o correcta" - IDS_CLEANACL_INVALID_ARG - "No puede limpiarse ACL para archivo %o: Argumento no válido, los posibles motivos incluyen: archivo no en servicio o demasiados usuarios de la lista de control de acceso. " - IDS_ANY_STRING "%o" - IDS_CLEANACL_DONE "Se han eliminado entradas de ACL obsoletas." - ID_SUBMOUNTS "Crear o eliminar un submontaje de AFS" - IDS_GETRIGHTS_ERROR "No se ha podido leer lista de acceso para directorio %o: %o" - IDS_DFSACL_ERROR "No se han podido editar las ACL de DFS con este mandato" - IDS_SAVE_ACL_ERROR "No se puede guardar ACL para %o: %o" - IDS_SAVE_ACL_EINVAL_ERROR - "No se puede guardar ACL para %o: Argumento no válido, los posibles motivos incluyen: archivo no en AFS, demasiados usuarios en la lista de control de acceso, se ha intentado añadir un usuario no existente a la lista de control de acceso" - IDS_ACL_READ_ERROR "No se puede leer ACL para %o: %o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_NO_DFS_COPY_ACL "No puede copiarse ACL en dir %o: copiar ACL no soportado para listas de acceso de DFS" - IDS_COPY_ACL_EINVAL_ERROR - "No se puede copiar ACL en dir %o: Argumento no válido, los posibles motivos incluyen: Archivo no en AFS." - IDS_COPY_ACL_ERROR "No se puede copiar ACL en %o: %o" - IDS_NOT_MOUNT_POINT_ERROR "%o no es un punto de montaje." - IDS_LIST_MOUNT_POINT_ERROR "Error: %o" - IDS_MAKE_MP_NOT_AFS_ERROR - "Deben crearse puntos de montaje en el sistema de archivos de AFS" - IDS_MOUNT_POINT_ERROR "Error al crear punto de montaje: %o" - IDS_ERROR "Error: %o" - IDS_DELETED "Suprimido satisfactoriamente" - IDS_SET_QUOTA_ERROR "Error al definir cuota: %o" - ID_SUBMOUNTS_CREATE "Crear un submontaje de AFS" - ID_SUBMOUNTS_EDIT "Añadir, cambiar o suprimir submontajes de AFS" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_CHECK_SERVERS_ERROR "Error al comprobar el estado de máquinas de servidor de archivo: %o" - IDS_ALL_SERVERS_RUNNING "Se están ejecutando todos los servidores." - IDS_CHECK_VOLUMES_OK "Se están comprobando todas las correlaciones de ID de volumen/nombre." - IDS_CHECK_VOLUMES_ERROR "Error al comprobar las correlaciones de ID de volumen/nombre: %o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_ACL_ENTRY_NAME_IN_USE - "El nombre elegido ya se está utilizando. Por favor, entre un nombre diferente." - IDS_REALLY_DEL_MOUNT_POINTS - "¿Está seguro de que desea eliminar el (los) punto(s) de montaje seleccionado(s)?" - IDS_DIR_DOES_NOT_EXIST_ERROR "El directorio '%o' no existe." - IDS_CLEANACL_MSG "¡Las ACL obsoletas se eliminarán!" - IDS_COPY_ACL_OK "ACL copiada satisfactoriamente." - IDS_GET_TOKENS_NO_AFS_SERVICE - "No puede leerse la información de señal: Es posible que no se haya iniciado el servicio de AFS." - IDS_GET_TOKENS_UNEXPECTED_ERROR - "No puede leerse la información de señal: Error inesperado, código %d." - IDS_GET_TOKENS_UNEXPECTED_ERROR2 - "No puede leerse la información de señal: Error inesperado, servicio %s.%s.%s, código %d." - IDS_ENTER_QUOTA "Por favor, entre una cuota válida." - IDS_AUTHENTICATION_ITEM "&Autentificación..." - IDS_ACLS_ITEM "Listas de &control de acceso..." - IDS_VOL_PART_ITEM "&Volumen/Partición" - IDS_VOL_PART_PROPS_ITEM "&Propiedades" - IDS_VOL_PART_REFRESH_ITEM "&Actualizar nombre/mapa de ID" - IDS_MOUNT_POINT_ITEM "Punto de &montaje" - IDS_MP_SHOW_ITEM "&Mostrar..." -END - -STRINGTABLE DISCARDABLE -BEGIN - AFX_IDS_APP_TITLE "AFS Client" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_MP_REMOVE_ITEM "&Eliminar..." - IDS_MP_MAKE_ITEM "&Crear..." - IDS_FLUSH_FILE_DIR_ITEM "&Descargar archivo/dir" - IDS_FLUSH_VOLUME_ITEM "Descargar vol&umen" - IDS_SHOW_FILE_SERVERS_ITEM "Mostrar ser&vidores de archivo..." - IDS_SHOW_CELL_ITEM "Mostrar &célula..." - IDS_SHOW_SERVER_STATUS_ITEM "Mostrar estado de servidor..." - IDS_AFS_ITEM "&AFS" - IDS_SUBMOUNTS_ITEM "Su&bmontajes" - IDS_GET_SUBMT_INFO_ERROR - "No se ha podido leer información de submontaje para el nombre de recurso compartido %o." - IDS_REALLY_DELETE_SUBMT "Suprimir nombre de recurso compartido %o?" - IDS_SUBMT_SAVE_FAILED "Han fallado los cambios en la base de datos de submontaje." - IDS_SUBMOUNTS_CREATE_ITEM "&Añadir" - IDS_SUBMOUNTS_EDIT_ITEM "&Editar..." - IDS_EDIT_PATH_NAME "Editar nombre de vía de acceso" - IDS_SHOW_CELL "Mostrar célula" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_SHOW_CELL_COLUMN "Célula" - IDS_SHOW_FS "Mostrar servidores de archivo" - IDS_SHOW_FS_COLUMN "Servidor(es) de archivo" - IDS_REMOVE_MP "Eliminar puntos de montaje" - IDS_REMOVE_MP_COLUMN "Resultado" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#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 -#endif -#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources -#include "afxres.rc" // Standard components -#endif -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.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 +#endif //_WIN32 + +#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" + "#endif\r\n" + "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" + "#include ""afxres.rc"" // Standard components\r\n" + "#endif\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU_FILE MENU DISCARDABLE +BEGIN + MENUITEM "Autentificación...", IDM_AUTHENTICATION + MENUITEM "Listas de control de acceso...", IDM_ACL_SET + POPUP "Vo&lumen/Partición" + BEGIN + MENUITEM "&Propiedades...", IDM_VOLUME_PROPERTIES + MENUITEM "&Actualizar nombre/mapa de ID", + IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE + + END + POPUP "Punto de monta&je" + BEGIN + MENUITEM "&Mostrar...", IDM_MOUNTPOINT_SHOW + MENUITEM "&Eliminar...", IDM_MOUNTPOINT_REMOVE + MENUITEM "&Crear...", IDM_MOUNTPOINT_MAKE + END + MENUITEM "&Descargar archivo/dir", IDM_FLUSH + MENUITEM "Descargar vol&umen", IDM_FLUSH_VOLUME + MENUITEM "Mostrar ser&vidores de archivo...", IDM_SHOW_SERVER + MENUITEM "Mostrar &célula...", IDM_SHOWCELL + MENUITEM "Mostrar estado de servidor...", IDM_SERVER_STATUS + MENUITEM "Remove SymLink", IDM_REMOVE_SYMLINK +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "Información de volumen" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Aceptar",IDOK,60,150,50,14,WS_DISABLED + PUSHBUTTON "Ayuda",9,240,150,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,150,150,50,14 + LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + LTEXT "Archivo/directorio",IDC_STATIC,10,10,74,10 + LTEXT "Nombre",IDC_STATIC,90,10,71,8 + LTEXT "Cuota",IDC_STATIC,225,10,38,8 + LTEXT "Utilizado",IDC_STATIC,270,10,32,8 + LTEXT "%Utilizado",IDC_STATIC,305,10,34,8 + LTEXT "ID",IDC_STATIC,175,10,42,8 + LTEXT "Cuota nueva:",IDC_STATIC,10,127,46,10 + EDITTEXT IDC_NEW_QUOTA,58,126,50,12,ES_AUTOHSCROLL | WS_DISABLED + PUSHBUTTON "Mostrar información de partición",IDC_PARTITION_INFO, + 205,125,112,14,WS_DISABLED + LTEXT "KBytes",IDC_STATIC,128,127,25,10 + CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | + UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | + WS_DISABLED,115,125,10,14 +END + +IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Establecer ACL de AFS" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "",IDC_DIR_NAME,51,12,259,10 + LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + CONTROL "r - Leer",IDC_READ,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,52,55,10 + CONTROL "w - Grabar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,111,55,10 + CONTROL "l - Buscar",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,66,55,10 + CONTROL "d - Suprimir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,96,55,10 + CONTROL "i - Insertar",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,81,55,10 + CONTROL "k - Bloquear",IDC_LOCK,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,126,55,10 + CONTROL "a - Administrar",IDC_ADMINISTER,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,200,141,61,10 + PUSHBUTTON "Aña&dir...",IDC_ADD,270,45,45,14 + PUSHBUTTON "&Eliminar",IDC_REMOVE,270,70,45,14,WS_DISABLED + PUSHBUTTON "&Borrar",IDC_CLEAN,270,95,45,14 + DEFPUSHBUTTON "&Aceptar",IDOK,270,150,45,14 + PUSHBUTTON "Ca&ncelar",IDCANCEL,270,175,45,14 + PUSHBUTTON "A&yuda",9,270,201,45,14 + LTEXT "Directorio:",IDC_STATIC,15,12,34,10 + GROUPBOX "Permisos",IDC_STATIC,195,41,71,115 + LTEXT "normales",IDC_STATIC,10,36,30,8 + LTEXT "Nombre",IDC_COLUMN_3,69,38,36,8 + LTEXT "Permisos",IDC_STATIC,10,28,37,8 + LTEXT "negativos",IDC_STATIC,9,132,38,8 + LTEXT "Permisos",IDC_STATIC,9,124,38,8 + LTEXT "Nombre",IDC_COLUMN_4,69,133,42,8 + GROUPBOX "",IDC_STATIC,10,5,305,20 + PUSHBUTTON "Co&piar...",IDC_COPY,270,120,45,14 +END + +IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 223, 103 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Crear punto de montaje" +FONT 8, "MS Sans Serif" +BEGIN + EDITTEXT IDC_DIR,45,10,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_VOLUME,45,25,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_CELL,45,40,170,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "Aceptar",IDOK,20,81,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,85,81,50,14 + PUSHBUTTON "Ayuda",9,150,81,50,14 + LTEXT "Directorio:",IDC_STATIC,8,12,33,10 + LTEXT "Volumen:",IDC_STATIC,10,28,33,10 + LTEXT "Célula:",IDC_STATIC,18,42,25,10 + GROUPBOX "",IDC_STATIC,47,52,115,20 + LTEXT "Opciones:",IDC_STATIC,10,59,35,10 + CONTROL "Normales",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,51,59,41,10 + CONTROL "Leer/Grabar",IDC_RW,"Button",BS_AUTORADIOBUTTON,103,59, + 57,10 +END + +IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 250, 114 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Añadir entrada de ACL" +FONT 8, "MS Sans Serif" +BEGIN + EDITTEXT IDC_NAME,48,70,190,12,ES_AUTOHSCROLL + CONTROL "r - Leer",IDC_READ,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,15,45,10 + CONTROL "l - Buscar",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,25,50,10 + CONTROL "i - Insertar",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,35,50,10 + CONTROL "d - Suprimir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,45,50,10 + CONTROL "w - Grabar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,15,50,10 + CONTROL "k - Bloquear",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,25,55,10 + CONTROL "a - Administrar",IDC_ADMINISTER,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,80,35,60,10 + CONTROL "Entrada normal",IDC_ADD_NORMAL_ENTRY,"Button", + BS_AUTORADIOBUTTON | WS_GROUP,161,16,69,10 + CONTROL "Entrada negativa",IDC_ADD_NEGATIVE_ENTRY,"Button", + BS_AUTORADIOBUTTON,161,26,72,10 + PUSHBUTTON "Aceptar",IDOK,22,90,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,92,90,50,14 + PUSHBUTTON "Ayuda",9,162,90,50,14 + LTEXT "Nombre:",IDC_STATIC,10,72,32,8 + GROUPBOX "Permisos",IDC_STATIC,10,5,135,55 + GROUPBOX "Tipo de entrada",IDC_STATIC,155,6,84,34 +END + +IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 152, 82 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Información de partición" +FONT 8, "MS Sans Serif" +BEGIN + EDITTEXT IDC_TOTAL_SIZE,61,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_BLOCKS_FREE,61,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_PERCENT_USED,61,40,40,12,ES_AUTOHSCROLL | + WS_DISABLED | NOT WS_TABSTOP + DEFPUSHBUTTON "Cerrar",IDOK,14,62,40,14 + PUSHBUTTON "Ayuda",9,69,62,40,14 + LTEXT "% Utilizado:",IDC_STATIC,19,42,38,8 + LTEXT "Bloques libres:",IDC_STATIC,10,27,47,8 + LTEXT "Tamaño total:",IDC_STATIC,12,12,46,8 + LTEXT "Kilobytes",IDC_STATIC,106,12,33,8 + LTEXT "Kilobytes",IDC_STATIC,105,27,37,8 +END + +IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Copiar ACL" +FONT 8, "MS Sans Serif" +BEGIN + EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY + EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL + PUSHBUTTON "Examinar",IDC_BROWSE,191,25,39,15 + CONTROL "Borrar entradas actuales:",IDC_CLEAR,"Button", + BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,10,46,97,10 + DEFPUSHBUTTON "Aceptar",IDOK,20,65,50,14,WS_DISABLED + PUSHBUTTON "Cancelar",IDCANCEL,95,65,50,14 + PUSHBUTTON "Ayuda",9,170,65,50,14 + LTEXT "Copiar desde:",IDC_STATIC,8,12,44,8 + LTEXT "Copiar a:",IDC_STATIC,22,29,30,8 +END + +IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Dónde está" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Cerrar",IDOK,65,145,50,14 + PUSHBUTTON "Ayuda",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "Archivo/directorio",IDC_STATIC,10,10,111,8 + LTEXT "Servidor(es) de archivos",IDC_STATIC,128,10,130,8 +END + +IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Resultados" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Cerrar",IDOK,65,145,50,14 + PUSHBUTTON "Ayuda",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "Archivo/directorio",-1,10,10,105,8 + LTEXT "Resultado",IDC_RESULTS_LABEL,128,10,148,8 +END + +IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Puntos de montaje" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Cerrar",IDOK,65,145,50,14 + PUSHBUTTON "Ayuda",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "Archivo",IDC_STATIC,10,11,53,8 + LTEXT "Volumen",IDC_STATIC,75,11,66,8 + LTEXT "Célula",IDC_STATIC,155,11,63,8 + LTEXT "Tipo",IDC_STATIC,230,11,55,8 +END + +IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Servidores no activos" +FONT 8, "MS Sans Serif" +BEGIN + LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL + LTEXT "Estos servidores siguen sin estar activos:",IDC_STATIC, + 10,10,182,8 + DEFPUSHBUTTON "Aceptar",IDOK,82,140,45,15 +END + +IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "Estado de servidor" +FONT 8, "MS Sans Serif" +BEGIN + CONTROL "Célula local",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | + WS_GROUP | WS_TABSTOP,20,20,136,8 + CONTROL "Célula especificada:",IDC_SPECIFIEDCELL,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,136,10 + CONTROL "Todas las células",IDC_ALL_CELLS,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,20,65,135,10 + CONTROL "No investigar servidores",IDC_DONTPROBESERVERS,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,24,87,93,10 + PUSHBUTTON "Mostrar estado",IDC_SHOWSTATUS,10,120,54,14 + GROUPBOX "Célula",IDC_STATIC,10,5,160,105,WS_GROUP + GROUPBOX "",IDC_STATIC,20,80,100,20,WS_GROUP + EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL + PUSHBUTTON "Cerrar",IDCANCEL,67,120,48,14 + PUSHBUTTON "Ayuda",9,119,120,50,14 +END + +IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Autentificación" +FONT 8, "MS Sans Serif" +BEGIN + LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + PUSHBUTTON "Obtener señales",ID_GET_TOKENS,12,137,57,14 + PUSHBUTTON "Descartar señales",ID_DISCARD_TOKENS,79,137,62,14 + PUSHBUTTON "Cerrar",IDCANCEL,151,137,55,14 + PUSHBUTTON "Ayuda",9,217,137,55,14 + LTEXT "Nombre de usuario",IDC_STATIC,10,9,88,8 + LTEXT "Nombre de célula",IDC_STATIC,104,9,113,8 + LTEXT "Caducidad",IDC_STATIC,222,9,49,8 +END + +IDD_KLOG_DIALOG DIALOGEX 0, 0, 179, 93 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Obtener señales" +FONT 8, "MS Sans Serif" +BEGIN + EDITTEXT IDC_NAME,54,10,115,12,ES_AUTOHSCROLL + EDITTEXT IDC_PASSWORD,53,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL + EDITTEXT IDC_CELL_NAME,53,50,115,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "Aceptar",IDOK,20,70,35,14,WS_DISABLED + PUSHBUTTON "Cancelar",IDCANCEL,70,70,35,14 + PUSHBUTTON "Ayuda",9,120,70,35,14 + LTEXT "Nombre:",IDC_STATIC,21,12,29,8 + LTEXT "Contraseña:",IDC_STATIC,9,32,41,8 + LTEXT "Célula:",IDC_STATIC,25,52,24,8 +END + +IDD_UNLOG_DIALOG DIALOGEX 0, 0, 192, 63 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Descartar señales" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Aceptar",IDOK,27,40,35,14 + PUSHBUTTON "Cancelar",IDCANCEL,77,40,37,14 + PUSHBUTTON "Ayuda",9,129,40,35,14 + LTEXT "Célula:",IDC_STATIC,10,17,23,8 + EDITTEXT IDC_CELL_NAME,37,15,145,12,ES_AUTOHSCROLL +END + +IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Submontajes" +FONT 8, "MS Sans Serif" +BEGIN + LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "Añadir ",IDC_ADD,202,20,45,14 + PUSHBUTTON "Suprimir",IDC_DELETE,202,39,45,14,WS_DISABLED + PUSHBUTTON "Cambiar",IDC_CHANGE,202,58,45,14,WS_DISABLED + LTEXT "Submontajes:",IDC_STATIC,10,10,50,8 + PUSHBUTTON "Aceptar",IDOK,202,145,45,14 + PUSHBUTTON "Cancelar",IDCANCEL,202,163,45,14 +END + +IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 282, 79 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Añadir submontaje" +FONT 8, "MS Sans Serif" +BEGIN + EDITTEXT IDC_SHARE_NAME,107,8,163,12,ES_AUTOHSCROLL + EDITTEXT IDC_PATH_NAME,107,23,163,12,ES_AUTOHSCROLL + PUSHBUTTON "Aceptar",IDOK,22,53,45,14 + PUSHBUTTON "Cancelar",IDCANCEL,92,53,45,14 + PUSHBUTTON "Ayuda",9,167,53,45,14 + LTEXT "Nombre de compartición:",IDC_STATIC,18,10,87,8 + LTEXT "Nombre de vía de acceso:",IDC_STATIC,19,25,86,8 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_MAKE_MOUNT_POINT, DIALOG + BEGIN + RIGHTMARGIN, 222 + END + + IDD_ADD_ACL, DIALOG + BEGIN + RIGHTMARGIN, 235 + BOTTOMMARGIN, 113 + END + + IDD_PARTITION_INFO, DIALOG + BEGIN + RIGHTMARGIN, 123 + END + + IDD_SERVERSTATUS, DIALOG + BEGIN + RIGHTMARGIN, 171 + END + + IDD_AUTHENTICATION, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 278 + TOPMARGIN, 7 + BOTTOMMARGIN, 151 + END + + IDD_KLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 172 + TOPMARGIN, 7 + BOTTOMMARGIN, 86 + END + + IDD_UNLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 185 + TOPMARGIN, 7 + BOTTOMMARGIN, 56 + END + + IDD_SUBMTINFO, DIALOG + BEGIN + LEFTMARGIN, 10 + RIGHTMARGIN, 247 + BOTTOMMARGIN, 177 + END + + IDD_ADD_SUBMOUNT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 275 + TOPMARGIN, 7 + BOTTOMMARGIN, 25 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + ID_ACL_CLEAN "fs cleanacl" + ID_ACL_COPY "fs copyacl" + ID_ACL_LIST "fs listacl" + ID_ACL_SET "fs setacl" + ID_VOLUME_CHECK "fs checkvolumes" + ID_VOLUME_DISKFREE "fs diskfree" + ID_VOLUME_EXAMINE "fs examine" + ID_VOLUME_FLUSH "fs flushvolume" + ID_VOLUME_QUOTA_BRIEF "fs quota" + ID_VOLUME_QUOTA_FULL "fs listquota" + ID_VOLUME_QUOTA_SET "fs setvol" + ID_VOLUME_SET "fs setvol" +END + +STRINGTABLE DISCARDABLE +BEGIN + ID_FLUSH "fs flush" + ID_WHEREIS "fs whereis" + ID_SHOWCELL "fs whichcell" + ID_MOUNTPOINT_SHOW "fs lsmount" + ID_MOUNTPOINT_REMOVE "fs rmmount" + ID_SHOW_SERVER "fs whereis" + ID_AUTHENTICATE "Iniciar o finalizar la sesión de AFS" + ID_SERVER_STATUS "Comprobar servidores" + ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" + ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" + ID_MOUNTPOINT_MAKE "fs mkmount" + IDS_FLUSH_FAILED "No puede descargarse archivo activo %o" + IDS_FLUSH_ERROR "Error al descargar archivo %o: %s" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_FLUSH_OK "Archivo(s) seleccionado(s) descargado(s) satisfactoriamente" + IDS_CANT_GET_CELL "Error al determinar célula:" + IDS_FLUSH_VOLUME_ERROR "Error al descargar volumen para %o: %s" + IDS_FLUSH_VOLUME_OK "Volumen descargado satisfactoriamente" + IDS_WHERE_IS "Archivo %o está en sistema principal %s" + IDS_CLEANACL_NOT_SUPPORTED + "No puede limpiarse ACL para archivo %o: borrado de Acl no soportado para listas de acceso de DFS" + IDS_ACL_IS_FINE "Lista de acceso para %o correcta" + IDS_CLEANACL_INVALID_ARG + "No puede limpiarse ACL para archivo %o: Argumento no válido, los posibles motivos incluyen: archivo no en servicio o demasiados usuarios de la lista de control de acceso. " + IDS_ANY_STRING "%o" + IDS_CLEANACL_DONE "Se han eliminado entradas de ACL obsoletas." + ID_SUBMOUNTS "Crear o eliminar un submontaje de AFS" + IDS_GETRIGHTS_ERROR "No se ha podido leer lista de acceso para directorio %o: %o" + IDS_DFSACL_ERROR "No se han podido editar las ACL de DFS con este mandato" + IDS_SAVE_ACL_ERROR "No se puede guardar ACL para %o: %o" + IDS_SAVE_ACL_EINVAL_ERROR + "No se puede guardar ACL para %o: Argumento no válido, los posibles motivos incluyen: archivo no en AFS, demasiados usuarios en la lista de control de acceso, se ha intentado añadir un usuario no existente a la lista de control de acceso" + IDS_ACL_READ_ERROR "No se puede leer ACL para %o: %o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_NO_DFS_COPY_ACL "No puede copiarse ACL en dir %o: copiar ACL no soportado para listas de acceso de DFS" + IDS_COPY_ACL_EINVAL_ERROR + "No se puede copiar ACL en dir %o: Argumento no válido, los posibles motivos incluyen: Archivo no en AFS." + IDS_COPY_ACL_ERROR "No se puede copiar ACL en %o: %o" + IDS_NOT_MOUNT_POINT_ERROR "%o no es un punto de montaje." + IDS_LIST_MOUNT_POINT_ERROR "Error: %o" + IDS_MAKE_MP_NOT_AFS_ERROR + "Deben crearse puntos de montaje en el sistema de archivos de AFS" + IDS_MOUNT_POINT_ERROR "Error al crear punto de montaje: %o" + IDS_ERROR "Error: %o" + IDS_DELETED "Suprimido satisfactoriamente" + IDS_SET_QUOTA_ERROR "Error al definir cuota: %o" + ID_SUBMOUNTS_CREATE "Crear un submontaje de AFS" + ID_SUBMOUNTS_EDIT "Añadir, cambiar o suprimir submontajes de AFS" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_CHECK_SERVERS_ERROR "Error al comprobar el estado de máquinas de servidor de archivo: %o" + IDS_ALL_SERVERS_RUNNING "Se están ejecutando todos los servidores." + IDS_CHECK_VOLUMES_OK "Se están comprobando todas las correlaciones de ID de volumen/nombre." + IDS_CHECK_VOLUMES_ERROR "Error al comprobar las correlaciones de ID de volumen/nombre: %o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ACL_ENTRY_NAME_IN_USE + "El nombre elegido ya se está utilizando. Por favor, entre un nombre diferente." + IDS_REALLY_DEL_MOUNT_POINTS + "¿Está seguro de que desea eliminar el (los) punto(s) de montaje seleccionado(s)?" + IDS_DIR_DOES_NOT_EXIST_ERROR "El directorio '%o' no existe." + IDS_CLEANACL_MSG "¡Las ACL obsoletas se eliminarán!" + IDS_COPY_ACL_OK "ACL copiada satisfactoriamente." + IDS_GET_TOKENS_NO_AFS_SERVICE + "No puede leerse la información de señal: Es posible que no se haya iniciado el servicio de AFS." + IDS_GET_TOKENS_UNEXPECTED_ERROR + "No puede leerse la información de señal: Error inesperado, código %d." + IDS_GET_TOKENS_UNEXPECTED_ERROR2 + "No puede leerse la información de señal: Error inesperado, servicio %s.%s.%s, código %d." + IDS_ENTER_QUOTA "Por favor, entre una cuota válida." + IDS_AUTHENTICATION_ITEM "&Autentificación..." + IDS_ACLS_ITEM "Listas de &control de acceso..." + IDS_VOL_PART_ITEM "&Volumen/Partición" + IDS_VOL_PART_PROPS_ITEM "&Propiedades" + IDS_VOL_PART_REFRESH_ITEM "&Actualizar nombre/mapa de ID" + IDS_MOUNT_POINT_ITEM "Punto de &montaje" + IDS_MP_SHOW_ITEM "&Mostrar..." +END + +STRINGTABLE DISCARDABLE +BEGIN + AFX_IDS_APP_TITLE "AFS Client" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_MP_REMOVE_ITEM "&Eliminar..." + IDS_MP_MAKE_ITEM "&Crear..." + IDS_FLUSH_FILE_DIR_ITEM "&Descargar archivo/dir" + IDS_FLUSH_VOLUME_ITEM "Descargar vol&umen" + IDS_SHOW_FILE_SERVERS_ITEM "Mostrar ser&vidores de archivo..." + IDS_SHOW_CELL_ITEM "Mostrar &célula..." + IDS_SHOW_SERVER_STATUS_ITEM "Mostrar estado de servidor..." + IDS_AFS_ITEM "&AFS" + IDS_SUBMOUNTS_ITEM "Su&bmontajes" + IDS_GET_SUBMT_INFO_ERROR + "No se ha podido leer información de submontaje para el nombre de recurso compartido %o." + IDS_REALLY_DELETE_SUBMT "Suprimir nombre de recurso compartido %o?" + IDS_SUBMT_SAVE_FAILED "Han fallado los cambios en la base de datos de submontaje." + IDS_SUBMOUNTS_CREATE_ITEM "&Añadir" + IDS_SUBMOUNTS_EDIT_ITEM "&Editar..." + IDS_EDIT_PATH_NAME "Editar nombre de vía de acceso" + IDS_SHOW_CELL "Mostrar célula" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHOW_CELL_COLUMN "Célula" + IDS_SHOW_FS "Mostrar servidores de archivo" + IDS_SHOW_FS_COLUMN "Servidor(es) de archivo" + IDS_REMOVE_MP "Eliminar puntos de montaje" + IDS_REMOVE_MP_COLUMN "Resultado" +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#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 +#endif +#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources +#include "afxres.rc" // Standard components +#endif +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/WINNT/client_exp/lang/ja_JP/afs_shl_ext.rc b/src/WINNT/client_exp/lang/ja_JP/afs_shl_ext.rc index f53a88bd3..055ac4a56 100644 --- a/src/WINNT/client_exp/lang/ja_JP/afs_shl_ext.rc +++ b/src/WINNT/client_exp/lang/ja_JP/afs_shl_ext.rc @@ -7,637 +7,638 @@ * directory or online at http://www.openafs.org/dl/license10.html */ -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Japanese resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) -#ifdef _WIN32 -LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT -#endif //_WIN32 - -#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_JPN)\r\n" - "#ifdef _WIN32\r\n" - "LANGUAGE 17, 1\r\n" - "#endif\r\n" - "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" - "#include ""afxres.rc"" // Standard components\r\n" - "#endif\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU_FILE MENU DISCARDABLE -BEGIN - MENUITEM "”FØ...", IDM_AUTHENTICATION - MENUITEM "ƒAƒNƒZƒX§ŒäƒŠƒXƒg...", IDM_ACL_SET - POPUP "ƒ{ƒŠƒ…[ƒ€ / ƒp[ƒeƒBƒVƒ‡ƒ“(&V)" - BEGIN - MENUITEM "ƒvƒƒpƒeƒB[(&P)...", IDM_VOLUME_PROPERTIES - MENUITEM "–¼‘O /ID ƒ}ƒbƒsƒ“ƒO‚̍ŐV•\ަ(&R)", - IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE - - END - POPUP "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg(&M)" - BEGIN - MENUITEM "•\ަ(&S)...", IDM_MOUNTPOINT_SHOW - MENUITEM "íœ(&R)...", IDM_MOUNTPOINT_REMOVE - MENUITEM "ì¬(&M)...", IDM_MOUNTPOINT_MAKE - END - MENUITEM "ƒtƒ@ƒCƒ‹ / ƒfƒBƒŒƒNƒgƒŠ[‚̃tƒ‰ƒbƒVƒ…(&F)", IDM_FLUSH - MENUITEM "ƒ{ƒŠƒ…[ƒ€‚̃tƒ‰ƒbƒVƒ…(&U)", IDM_FLUSH_VOLUME - MENUITEM "ƒtƒ@ƒCƒ‹EƒT[ƒo[‚Ì•\ަ(&F)...", IDM_SHOW_SERVER - MENUITEM "ƒZƒ‹‚Ì•\ަ(&C)...", IDM_SHOWCELL - MENUITEM "ƒT[ƒo[ó‹µ‚Ì•\ަ...", IDM_SERVER_STATUS -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "ƒ{ƒŠƒ…[ƒ€î•ñ" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - DEFPUSHBUTTON "—¹‰ð",IDOK,60,150,50,14,WS_DISABLED - PUSHBUTTON "ƒwƒ‹ƒv",9,240,150,50,14 - PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,150,150,50,14 - LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP - LTEXT "ƒtƒ@ƒCƒ‹ / ƒfƒBƒŒƒNƒgƒŠ[",IDC_STATIC,10,3,55,17 - LTEXT "–¼‘O",IDC_STATIC,90,10,20,8 - LTEXT "Š„‚è“–‚Ä—Ê",IDC_STATIC,225,10,41,8 - LTEXT "Žg—p—Ê",IDC_STATIC,270,10,25,8 - LTEXT "Žg—p—¦ (%)",IDC_STATIC,305,10,39,8 - LTEXT "ID",IDC_STATIC,175,10,10,8 - LTEXT "V‹KŠ„‚è“–‚Ä—Ê:",IDC_STATIC,10,127,56,10 - EDITTEXT IDC_NEW_QUOTA,75,126,50,12,ES_AUTOHSCROLL | WS_DISABLED - PUSHBUTTON "ƒp[ƒeƒBƒVƒ‡ƒ“î•ñ‚Ì•\ަ",IDC_PARTITION_INFO,205,125, - 102,14,WS_DISABLED - LTEXT "KB",IDC_STATIC,145,127,25,10 - CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | - UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | - WS_DISABLED,128,125,10,14 -END - -IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "AFS ACL ‚̐ݒè" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - LTEXT "",IDC_DIR_NAME,76,12,239,10 - LISTBOX IDC_NORMAL_RIGHTS,8,46,145,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - LISTBOX IDC_NEGATIVE_ENTRIES,8,143,145,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - CONTROL "r - Read (“ǂݎæ‚è)",IDC_READ,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,160,52,81,10 - CONTROL "w - Write (‘‚«ž‚Ý)",IDC_WRITE,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,160,111,81,10 - CONTROL "l - Lookup (ŒŸõ)",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,160,66,81,10 - CONTROL "d - Delete (íœ)",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,160,96,81,10 - CONTROL "i - Insert (‘}“ü)",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,160,81,81,10 - CONTROL "k - Lock (ƒƒbƒN)",IDC_LOCK,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,160,126,81,10 - CONTROL "a - Administer (ŠÇ—)",IDC_ADMINISTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,160,141,81,10 - PUSHBUTTON "’ljÁ(&A)...",IDC_ADD,246,45,69,14 - PUSHBUTTON "íœ(&R)",IDC_REMOVE,246,70,69,14,WS_DISABLED - PUSHBUTTON "ƒNƒŠ[ƒjƒ“ƒO(&C)",IDC_CLEAN,246,95,69,14 - DEFPUSHBUTTON "—¹‰ð(&O)",IDOK,246,150,69,14 - PUSHBUTTON "ŽæÁ‚µ(&N)",IDCANCEL,246,175,69,14 - PUSHBUTTON "ƒwƒ‹ƒv(&H)",9,246,201,69,14 - LTEXT "ƒfƒBƒŒƒNƒgƒŠ[:",IDC_STATIC,15,12,60,10 - GROUPBOX "ƒAƒNƒZƒXŒ ",IDC_STATIC,155,41,89,115 - LTEXT "•W€",IDC_STATIC,10,30,23,8 - LTEXT "–¼‘O",IDC_COLUMN_3,69,38,20,8 - LTEXT "ƒAƒNƒZƒXŒ ",IDC_STATIC,10,38,41,8 - LTEXT "‹ÖŽ~",IDC_STATIC,10,127,17,8 - LTEXT "ƒAƒNƒZƒXŒ ",IDC_STATIC,10,135,41,8 - LTEXT "–¼‘O",IDC_COLUMN_4,69,135,20,8 - GROUPBOX "",IDC_STATIC,10,5,305,20 - PUSHBUTTON "ƒRƒs[(&P)...",IDC_COPY,246,120,69,14 -END - -IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 249, 103 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚̍쐬" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - EDITTEXT IDC_DIR,70,10,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_VOLUME,70,25,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_CELL,70,40,170,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "—¹‰ð",IDOK,20,81,50,14 - PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,85,81,50,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,150,81,50,14 - LTEXT "ƒfƒBƒŒƒNƒgƒŠ[:",IDC_STATIC,9,12,45,10 - LTEXT "ƒ{ƒŠƒ…[ƒ€:",IDC_STATIC,9,28,45,10 - LTEXT "ƒZƒ‹:",IDC_STATIC,9,42,45,10 - GROUPBOX "",IDC_STATIC,70,52,145,20 - LTEXT "ƒIƒvƒVƒ‡ƒ“:",IDC_STATIC,9,59,45,10 - CONTROL "’ʏí",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | - WS_GROUP,75,59,41,10 - CONTROL "“ǂݎæ‚è/‘‚«ž‚Ý",IDC_RW,"Button",BS_AUTORADIOBUTTON, - 120,59,77,10 -END - -IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 245, 113 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ACL €–ڂ̒ljÁ" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - EDITTEXT IDC_NAME,37,70,190,12,ES_AUTOHSCROLL - CONTROL "r - Read (“ǂݎæ‚è)",IDC_READ,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,15,73,10 - CONTROL "l - Lookup (ŒŸõ)",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,25,67,10 - CONTROL "i - Insert (‘}“ü)",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,35,60,10 - CONTROL "d - Delete (íœ)",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,45,67,10 - CONTROL "w - Write (‘‚«ž‚Ý)",IDC_WRITE,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,100,15,79,10 - CONTROL "k - Lock (ƒƒbƒN)",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,100,25,69,10 - CONTROL "a - Administer (ŠÇ—)",IDC_ADMINISTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,100,35,81,10 - CONTROL "•W€€–Ú",IDC_ADD_NORMAL_ENTRY,"Button", - BS_AUTORADIOBUTTON | WS_GROUP,191,16,43,10 - CONTROL "‹ÖŽ~€–Ú",IDC_ADD_NEGATIVE_ENTRY,"Button", - BS_AUTORADIOBUTTON,191,26,43,10 - PUSHBUTTON "—¹‰ð",IDOK,22,90,50,14 - PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,92,90,50,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,162,90,50,14 - LTEXT "–¼‘O:",IDC_STATIC,10,72,18,8 - GROUPBOX "ƒAƒNƒZƒXŒ ",IDC_STATIC,10,5,175,55 - GROUPBOX "€–Úƒ^ƒCƒv",IDC_STATIC,186,6,53,34 -END - -IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ƒp[ƒeƒBƒVƒ‡ƒ“î•ñ" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - EDITTEXT IDC_TOTAL_SIZE,60,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_BLOCKS_FREE,60,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_PERCENT_USED,60,40,40,12,ES_AUTOHSCROLL | - WS_DISABLED | NOT WS_TABSTOP - DEFPUSHBUTTON "ƒNƒ[ƒY",IDOK,14,62,40,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,69,62,40,14 - LTEXT "Žg—p—¦(%):",IDC_STATIC,10,42,42,8 - LTEXT "‹ó‚«ƒuƒƒbƒN:",IDC_STATIC,10,27,42,8 - LTEXT "‡ŒvƒTƒCƒY:",IDC_STATIC,10,12,42,8 - LTEXT "KB",IDC_STATIC,107,12,10,8 - LTEXT "KB",IDC_STATIC,107,27,10,8 -END - -IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ACL ‚̃Rƒs[" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - EDITTEXT IDC_FROM_DIR,56,10,175,12,ES_AUTOHSCROLL | ES_READONLY - EDITTEXT IDC_TO_DIR,56,26,130,12,ES_AUTOHSCROLL - PUSHBUTTON "ŽQÆ",IDC_BROWSE,195,25,35,15 - CONTROL "Œ»Ý‚̍€–Ú‚ðÁ‹Ž:",IDC_CLEAR,"Button",BS_AUTOCHECKBOX | - BS_LEFTTEXT | WS_TABSTOP,10,46,82,10 - DEFPUSHBUTTON "—¹‰ð",IDOK,20,65,50,14,WS_DISABLED - PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,95,65,50,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,170,65,50,14 - LTEXT "ƒRƒs[Œ³:",IDC_STATIC,14,12,34,8 - LTEXT "ƒRƒs[æ:",IDC_STATIC,14,29,34,8 -END - -IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ŒŸõ" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - DEFPUSHBUTTON "ƒNƒ[ƒY",IDOK,65,145,50,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,180,145,50,14 - LISTBOX IDC_LIST,10,21,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "ƒtƒ@ƒCƒ‹/ƒfƒBƒŒƒNƒgƒŠ[",IDC_STATIC,10,10,91,8 - LTEXT "ƒtƒ@ƒCƒ‹EƒT[ƒo[",IDC_STATIC,128,10,73,8 -END - -IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Œ‹‰Ê" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - DEFPUSHBUTTON "ƒNƒ[ƒY",IDOK,65,145,50,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,180,145,50,14 - LISTBOX IDC_LIST,10,22,280,115,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "ƒtƒ@ƒCƒ‹/ƒfƒBƒŒƒNƒgƒŠ[",-1,10,10,91,8 - LTEXT "Œ‹‰Ê",IDC_RESULTS_LABEL,128,10,17,8 -END - -IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - DEFPUSHBUTTON "ƒNƒ[ƒY",IDOK,65,145,50,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,180,145,50,14 - LISTBOX IDC_LIST,10,23,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "ƒtƒ@ƒCƒ‹",IDC_STATIC,10,11,33,8 - LTEXT "ƒ{ƒŠƒ…[ƒ€",IDC_STATIC,75,11,41,8 - LTEXT "ƒZƒ‹",IDC_STATIC,155,11,17,8 - LTEXT "ƒ^ƒCƒv",IDC_STATIC,230,11,25,8 -END - -IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ƒT[ƒo[‚ªƒ_ƒEƒ“" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - LISTBOX 1029,10,22,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL - LTEXT "ˆÈ‰º‚̃T[ƒo[‚͂܂¾ƒ_ƒEƒ“‚µ‚Ä‚¢‚Ü‚·:",IDC_STATIC,10,10, - 146,8 - DEFPUSHBUTTON "—¹‰ð",IDOK,82,140,45,15 -END - -IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "ƒT[ƒo[ó‹µ" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - CONTROL "ƒ[ƒJƒ‹EƒZƒ‹",IDC_LOCALCELL,"Button", - BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,20,20,59,8 - CONTROL "Žw’èƒZƒ‹:",IDC_SPECIFIEDCELL,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,59,10 - CONTROL "‚·‚ׂẴZƒ‹",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON | - WS_TABSTOP,20,65,59,10 - CONTROL "ƒT[ƒo[‚ðƒvƒ[ƒu‚µ‚È‚¢",IDC_DONTPROBESERVERS,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,24,87,107,10 - PUSHBUTTON "ó‹µ‚Ì•\ަ",IDC_SHOWSTATUS,10,120,50,14 - GROUPBOX "ƒZƒ‹",IDC_STATIC,10,5,160,105,WS_GROUP - GROUPBOX "",IDC_STATIC,20,80,120,20,WS_GROUP - EDITTEXT IDC_CELL_NAME,30,48,130,12,ES_AUTOHSCROLL - PUSHBUTTON "ƒNƒ[ƒY",IDCANCEL,65,120,50,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,120,120,50,14 -END - -IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "”FØ" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - LISTBOX IDC_TOKEN_LIST,10,19,265,110,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - PUSHBUTTON "ƒg[ƒNƒ“‚̎擾",ID_GET_TOKENS,15,137,62,14 - PUSHBUTTON "ƒg[ƒNƒ“‚Ì”jŠü",ID_DISCARD_TOKENS,80,137,62,14 - PUSHBUTTON "ƒNƒ[ƒY",IDCANCEL,145,137,55,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,215,137,55,14 - LTEXT "ƒ†[ƒU[–¼",IDC_STATIC,10,9,41,8 - LTEXT "ƒZƒ‹–¼",IDC_STATIC,104,9,25,8 - LTEXT "—LŒøŠúŒÀ",IDC_STATIC,222,9,33,8 -END - -IDD_KLOG_DIALOG DIALOGEX 0, 0, 179, 93 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "ƒg[ƒNƒ“‚̎擾" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - EDITTEXT IDC_NAME,52,10,115,12,ES_AUTOHSCROLL - EDITTEXT IDC_PASSWORD,52,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL - EDITTEXT IDC_CELL_NAME,52,50,115,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "—¹‰ð",IDOK,20,70,35,14,WS_DISABLED - PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,70,70,35,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,120,70,35,14 - LTEXT "–¼‘O:",IDC_STATIC,25,13,20,8 - LTEXT "ƒpƒXƒ[ƒh:",IDC_STATIC,10,32,35,8 - LTEXT "ƒZƒ‹:",IDC_STATIC,26,51,19,8 -END - -IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "ƒg[ƒNƒ“‚Ì”jŠü" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - DEFPUSHBUTTON "—¹‰ð",IDOK,25,40,35,14 - PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,75,40,35,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,125,40,35,14 - LTEXT "ƒZƒ‹:",IDC_STATIC,10,17,18,8 - EDITTEXT IDC_CELL_NAME,37,15,136,12,ES_AUTOHSCROLL -END - -IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "ƒTƒuƒ}ƒEƒ“ƒg" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "’ljÁ ",IDC_ADD,202,20,45,14 - PUSHBUTTON "íœ",IDC_DELETE,202,39,45,14,WS_DISABLED - PUSHBUTTON "•ύX",IDC_CHANGE,202,58,45,14,WS_DISABLED - LTEXT "ƒTƒuƒ}ƒEƒ“ƒg:",IDC_STATIC,10,10,50,8 - PUSHBUTTON "—¹‰ð",IDOK,202,145,45,14 - PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,202,163,45,14 -END - -IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ƒTƒuƒ}ƒEƒ“ƒg‚̒ljÁ" -FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" -BEGIN - EDITTEXT IDC_SHARE_NAME,62,8,163,12,ES_AUTOHSCROLL - EDITTEXT IDC_PATH_NAME,62,23,163,12,ES_AUTOHSCROLL - PUSHBUTTON "—¹‰ð",IDOK,22,53,45,14 - PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,92,53,45,14 - PUSHBUTTON "ƒwƒ‹ƒv",9,167,53,45,14 - LTEXT "‹¤—p–¼:",IDC_STATIC,19,10,29,8 - LTEXT "ƒpƒX–¼:",IDC_STATIC,19,25,28,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE -BEGIN - IDD_SERVERSTATUS, DIALOG - BEGIN - RIGHTMARGIN, 171 - END - - IDD_AUTHENTICATION, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 278 - TOPMARGIN, 7 - BOTTOMMARGIN, 151 - END - - IDD_KLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 165 - TOPMARGIN, 7 - BOTTOMMARGIN, 86 - END - - IDD_UNLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 178 - TOPMARGIN, 7 - BOTTOMMARGIN, 56 - END - - IDD_SUBMTINFO, DIALOG - BEGIN - LEFTMARGIN, 10 - RIGHTMARGIN, 247 - BOTTOMMARGIN, 177 - END - - IDD_ADD_SUBMOUNT, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 25 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE DISCARDABLE -BEGIN - ID_ACL_CLEAN "fs cleanacl" - ID_ACL_COPY "fs copyacl" - ID_ACL_LIST "fs listacl" - ID_ACL_SET "fs setacl" - ID_VOLUME_CHECK "fs checkvolumes" - ID_VOLUME_DISKFREE "fs diskfree" - ID_VOLUME_EXAMINE "fs examine" - ID_VOLUME_FLUSH "fs flushvolume" - ID_VOLUME_QUOTA_BRIEF "fs quota" - ID_VOLUME_QUOTA_FULL "fs listquota" - ID_VOLUME_QUOTA_SET "fs setvol" - ID_VOLUME_SET "fs setvol" -END - -STRINGTABLE DISCARDABLE -BEGIN - ID_FLUSH "fs flush" - ID_WHEREIS "fs whereis" - ID_SHOWCELL "fs whichcell" - ID_MOUNTPOINT_SHOW "fs lsmount" - ID_MOUNTPOINT_REMOVE "fs rmmount" - ID_SHOW_SERVER "fs whereis" - ID_AUTHENTICATE "AFS ‚̃ƒOƒCƒ“‚Ü‚½‚̓ƒOƒAƒEƒg" - ID_SERVER_STATUS "ƒT[ƒo[‚ÌŒŸ¸" - ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" - ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" - ID_MOUNTPOINT_MAKE "fs mkmount" - IDS_FLUSH_FAILED "Šˆ“®ó‘Ԃ̃tƒ@ƒCƒ‹ %o ‚ðƒtƒ‰ƒbƒVƒ…‚Å‚«‚Ü‚¹‚ñ" - IDS_FLUSH_ERROR "ƒtƒ@ƒCƒ‹ %o ‚̃tƒ‰ƒbƒVƒ…EƒGƒ‰[: %s" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_FLUSH_OK "‘I‘ð‚³‚ê‚½ƒtƒ@ƒCƒ‹‚ª³í‚Ƀtƒ‰ƒbƒVƒ…‚³‚ê‚Ü‚µ‚½" - IDS_CANT_GET_CELL "ƒZƒ‹‚Ì”»•ʃGƒ‰[: " - IDS_FLUSH_VOLUME_ERROR "%o ‚̃{ƒŠƒ…[ƒ€‚̃tƒ‰ƒbƒVƒ…EƒGƒ‰[: %s" - IDS_FLUSH_VOLUME_OK "ƒ{ƒŠƒ…[ƒ€‚ª³í‚Ƀtƒ‰ƒbƒVƒ…‚³‚ê‚Ü‚µ‚½" - IDS_WHERE_IS "ƒtƒ@ƒCƒ‹ %o ‚̓zƒXƒg %s ‚É‚ ‚è‚Ü‚·" - IDS_CLEANACL_NOT_SUPPORTED - "ƒtƒ@ƒCƒ‹ %o ‚Ì ACL ‚ðƒNƒŠ[ƒjƒ“ƒO‚Å‚«‚Ü‚¹‚ñ: ACL ‚̃NƒŠ[ƒjƒ“ƒO‚Í DFS ƒAƒNƒZƒXEƒŠƒXƒg‚ł̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ" - IDS_ACL_IS_FINE "%o ‚̃AƒNƒZƒXEƒŠƒXƒg‚͐³í‚Å‚·" - IDS_CLEANACL_INVALID_ARG - "ƒtƒ@ƒCƒ‹ %o ‚Ì ACL ‚ðƒNƒŠ[ƒjƒ“ƒO‚Å‚«‚Ü‚¹‚ñ: –³Œø‚Ȉø‚«”Al‚¦‚ç‚ê‚闝—R: ƒtƒ@ƒCƒ‹‚ª vice ‚ɂȂ¢A‚Ü‚½‚̓AƒNƒZƒX§ŒäƒŠƒXƒg‚Ƀ†[ƒU[‚ª‘½‚·‚¬‚é" - IDS_ANY_STRING "%o" - IDS_CLEANACL_DONE "ŒÃ‚¢ ACL €–Ú‚ªíœ‚³‚ê‚Ü‚µ‚½B" - ID_SUBMOUNTS "AFS ƒTƒuƒ}ƒEƒ“ƒg‚̍쐬‚Ü‚½‚͍폜" - IDS_GETRIGHTS_ERROR "ƒfƒBƒŒƒNƒgƒŠ[ %o ‚̃AƒNƒZƒXEƒŠƒXƒg‚ð“ǂݎæ‚ê‚Ü‚¹‚ñ: %o" - IDS_DFSACL_ERROR "DFS ACL ‚Í‚±‚̃Rƒ}ƒ“ƒh‚ŕҏW‚Å‚«‚Ü‚¹‚ñ" - IDS_SAVE_ACL_ERROR "%o ‚Ì ACL ‚ð•ۊǂł«‚Ü‚¹‚ñ: %o" - IDS_SAVE_ACL_EINVAL_ERROR - "%o ‚Ì ACL ‚ð•ۊǂł«‚Ü‚¹‚ñ: –³Œø‚Ȉø‚«”Al‚¦‚ç‚ê‚闝—R: ƒtƒ@ƒCƒ‹‚ª AFS ‚ɂȂ¢AƒAƒNƒZƒX§ŒäƒŠƒXƒg‚Ƀ†[ƒU[‚ª‘½‚·‚¬‚éA‘¶Ý‚µ‚È‚¢ƒ†[ƒU[‚ðƒAƒNƒZƒX§ŒäƒŠƒXƒg‚ɒljÁ‚µ‚悤‚Æ‚µ‚½" - IDS_ACL_READ_ERROR "%o ‚Ì ACL ‚ð“ǂݎæ‚ê‚Ü‚¹‚ñ: %o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_NO_DFS_COPY_ACL "ƒfƒBƒŒƒNƒgƒŠ[ %o ‚É ACL ‚ðƒRƒs[‚Å‚«‚Ü‚¹‚ñ: ACL ‚̃Rƒs[‚Í DFSƒAƒNƒZƒXEƒŠƒXƒg‚ł̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ" - IDS_COPY_ACL_EINVAL_ERROR - "ƒfƒBƒŒƒNƒgƒŠ[ %o ‚É ACL ‚ðƒRƒs[‚Å‚«‚Ü‚¹‚ñ: –³Œø‚Ȉø‚«”Al‚¦‚ç‚ê‚闝—R: ƒtƒ@ƒCƒ‹‚ª AFS ‚ɂȂ¢B" - IDS_COPY_ACL_ERROR "ACL ‚ð %o ‚ɃRƒs[‚Å‚«‚Ü‚¹‚ñ: %o" - IDS_NOT_MOUNT_POINT_ERROR "%o ‚̓}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚ł͂ ‚è‚Ü‚¹‚ñB" - IDS_LIST_MOUNT_POINT_ERROR "ƒGƒ‰[: %o" - IDS_MAKE_MP_NOT_AFS_ERROR - "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚ð AFS ƒtƒ@ƒCƒ‹EƒVƒXƒeƒ€“à‚ɍ쐬‚·‚é•K—v‚ª‚ ‚è‚Ü‚·" - IDS_MOUNT_POINT_ERROR "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚̍쐬ƒGƒ‰[: %o" - IDS_ERROR "ƒGƒ‰[: %o" - IDS_DELETED "³í‚ɍ폜‚³‚ê‚Ü‚µ‚½" - IDS_SET_QUOTA_ERROR "Š„‚è“–‚ėʂ̐ݒèƒGƒ‰[: %o" - ID_SUBMOUNTS_CREATE "AFS ƒTƒuƒ}ƒEƒ“ƒg‚̍쐬" - ID_SUBMOUNTS_EDIT "AFS ƒTƒuƒ}ƒEƒ“ƒg‚̒ljÁA•ύXA‚Ü‚½‚͍폜" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_CHECK_SERVERS_ERROR "ƒtƒ@ƒCƒ‹EƒT[ƒo[Eƒ}ƒVƒ“‚̏󋵂̌Ÿ¸ƒGƒ‰[: %o" - IDS_ALL_SERVERS_RUNNING "‚·‚ׂẴT[ƒo[‚ªŽÀs’†‚Å‚·B" - IDS_CHECK_VOLUMES_OK "‚·‚ׂẴ{ƒŠƒ…[ƒ€ ID/–¼‘O‚̃}ƒbƒsƒ“ƒO‚ªŒŸ¸‚³‚ê‚Ü‚µ‚½B" - IDS_CHECK_VOLUMES_ERROR "ƒ{ƒŠƒ…[ƒ€ ID/–¼‘Oƒ}ƒbƒsƒ“ƒO‚ÌŒŸ¸ƒGƒ‰[: %o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_ACL_ENTRY_NAME_IN_USE - "‘I‘ð‚µ‚½–¼‘O‚Í‚·‚łɎg—p‚³‚ê‚Ä‚¢‚Ü‚·B•ʂ̖¼‘O‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B" - IDS_REALLY_DEL_MOUNT_POINTS - "‘I‘ð‚µ‚½ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚ðíœ‚µ‚Ä‚à‚¢‚¢‚Å‚·‚©?" - IDS_DIR_DOES_NOT_EXIST_ERROR "ƒfƒBƒŒƒNƒgƒŠ[ '%o' ‚ª‘¶Ý‚µ‚Ü‚¹‚ñB" - IDS_CLEANACL_MSG "ŒÃ‚¢ ACL ‚͍폜‚³‚ê‚Ü‚·!" - IDS_COPY_ACL_OK "ACL ‚ª³í‚ɃRƒs[‚³‚ê‚Ü‚µ‚½B" - IDS_GET_TOKENS_NO_AFS_SERVICE - "ƒg[ƒNƒ“î•ñ‚ð“ǂݎæ‚ê‚Ü‚¹‚ñ: AFS ƒT[ƒrƒX‚ªŠJŽn‚³‚ê‚Ä‚¢‚È‚¢‰Â”\«‚ª‚ ‚è‚Ü‚·B" - IDS_GET_TOKENS_UNEXPECTED_ERROR - "ƒg[ƒNƒ“î•ñ‚ð“ǂݎæ‚ê‚Ü‚¹‚ñ: —\Šú‚µ‚È‚¢ƒGƒ‰[AƒR[ƒh %d " - IDS_GET_TOKENS_UNEXPECTED_ERROR2 - "ƒg[ƒNƒ“î•ñ‚ð“ǂݎæ‚ê‚Ü‚¹‚ñ: —\Šú‚µ‚È‚¢ƒGƒ‰[AƒT[ƒrƒX %s.%s.%s, ƒR[ƒh %d " - IDS_ENTER_QUOTA "—LŒø‚ÈŠ„‚è“–‚Ä—Ê‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B" - IDS_AUTHENTICATION_ITEM "”FØ(&A)..." - IDS_ACLS_ITEM "ƒAƒNƒZƒX§ŒäƒŠƒXƒg(&C)..." - IDS_VOL_PART_ITEM "ƒ{ƒŠƒ…[ƒ€/ƒp[ƒeƒBƒVƒ‡ƒ“(&V)" - IDS_VOL_PART_PROPS_ITEM "ƒvƒƒpƒeƒB[(&P)" - IDS_VOL_PART_REFRESH_ITEM "–¼‘O /ID ƒ}ƒbƒsƒ“ƒO‚̍ŐV•\ަ(&R)" - IDS_MOUNT_POINT_ITEM "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg(&M)" - IDS_MP_SHOW_ITEM "•\ަ(&S)..." -END - -STRINGTABLE DISCARDABLE -BEGIN - AFX_IDS_APP_TITLE "AFS ƒNƒ‰ƒCƒAƒ“ƒg" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_MP_REMOVE_ITEM "íœ(&R)..." - IDS_MP_MAKE_ITEM "ì¬(&M)..." - IDS_FLUSH_FILE_DIR_ITEM "ƒtƒ@ƒCƒ‹/ƒfƒBƒŒƒNƒgƒŠ[‚̃tƒ‰ƒbƒVƒ…(&F)" - IDS_FLUSH_VOLUME_ITEM "ƒ{ƒŠƒ…[ƒ€‚̃tƒ‰ƒbƒVƒ…(&U)" - IDS_SHOW_FILE_SERVERS_ITEM "ƒtƒ@ƒCƒ‹EƒT[ƒo[‚Ì•\ަ(&F)..." - IDS_SHOW_CELL_ITEM "ƒZƒ‹‚Ì•\ަ(&C)..." - IDS_SHOW_SERVER_STATUS_ITEM "ƒT[ƒo[ó‹µ‚Ì•\ަ..." - IDS_AFS_ITEM "AFS(&A)" - IDS_SUBMOUNTS_ITEM "ƒTƒuƒ}ƒEƒ“ƒg(&B)" - IDS_GET_SUBMT_INFO_ERROR "‹¤—p–¼ %o ‚̃Tƒuƒ}ƒEƒ“ƒgî•ñ‚ð“ǂݎæ‚ê‚Ü‚¹‚ñB" - IDS_REALLY_DELETE_SUBMT "‹¤—p–¼ %o ‚ðíœ‚µ‚Ü‚·‚©?" - IDS_SUBMT_SAVE_FAILED "ƒTƒuƒ}ƒEƒ“ƒgEƒf[ƒ^ƒx[ƒX‚ɑ΂·‚é•ύX‚ªŽ¸”s‚µ‚Ü‚µ‚½B" - IDS_SUBMOUNTS_CREATE_ITEM "’ljÁ(&A)" - IDS_SUBMOUNTS_EDIT_ITEM "•ҏW(&E)..." - IDS_EDIT_PATH_NAME "ƒpƒX–¼‚̕ҏW" - IDS_SHOW_CELL "ƒZƒ‹‚ð•\ަ" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_SHOW_CELL_COLUMN "ƒZƒ‹" - IDS_SHOW_FS "ƒtƒ@ƒCƒ‹EƒT[ƒo[‚ð•\ަ" - IDS_SHOW_FS_COLUMN "ƒtƒ@ƒCƒ‹EƒT[ƒo[" - IDS_REMOVE_MP "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚ðíœ" - IDS_REMOVE_MP_COLUMN "Œ‹‰Ê" -END - -#endif // Japanese resources -///////////////////////////////////////////////////////////////////////////// - - - -#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_JPN) -#ifdef _WIN32 -LANGUAGE 17, 1 -#endif -#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources -#include "afxres.rc" // Standard components -#endif -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Japanese resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN) +#ifdef _WIN32 +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT +#endif //_WIN32 + +#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_JPN)\r\n" + "#ifdef _WIN32\r\n" + "LANGUAGE 17, 1\r\n" + "#endif\r\n" + "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" + "#include ""afxres.rc"" // Standard components\r\n" + "#endif\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU_FILE MENU DISCARDABLE +BEGIN + MENUITEM "”FØ...", IDM_AUTHENTICATION + MENUITEM "ƒAƒNƒZƒX§ŒäƒŠƒXƒg...", IDM_ACL_SET + POPUP "ƒ{ƒŠƒ…[ƒ€ / ƒp[ƒeƒBƒVƒ‡ƒ“(&V)" + BEGIN + MENUITEM "ƒvƒƒpƒeƒB[(&P)...", IDM_VOLUME_PROPERTIES + MENUITEM "–¼‘O /ID ƒ}ƒbƒsƒ“ƒO‚̍ŐV•\ަ(&R)", + IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE + + END + POPUP "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg(&M)" + BEGIN + MENUITEM "•\ަ(&S)...", IDM_MOUNTPOINT_SHOW + MENUITEM "íœ(&R)...", IDM_MOUNTPOINT_REMOVE + MENUITEM "ì¬(&M)...", IDM_MOUNTPOINT_MAKE + END + MENUITEM "ƒtƒ@ƒCƒ‹ / ƒfƒBƒŒƒNƒgƒŠ[‚̃tƒ‰ƒbƒVƒ…(&F)", IDM_FLUSH + MENUITEM "ƒ{ƒŠƒ…[ƒ€‚̃tƒ‰ƒbƒVƒ…(&U)", IDM_FLUSH_VOLUME + MENUITEM "ƒtƒ@ƒCƒ‹EƒT[ƒo[‚Ì•\ަ(&F)...", IDM_SHOW_SERVER + MENUITEM "ƒZƒ‹‚Ì•\ަ(&C)...", IDM_SHOWCELL + MENUITEM "ƒT[ƒo[ó‹µ‚Ì•\ަ...", IDM_SERVER_STATUS + MENUITEM "Remove SymLink", IDM_REMOVE_SYMLINK +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "ƒ{ƒŠƒ…[ƒ€î•ñ" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + DEFPUSHBUTTON "—¹‰ð",IDOK,60,150,50,14,WS_DISABLED + PUSHBUTTON "ƒwƒ‹ƒv",9,240,150,50,14 + PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,150,150,50,14 + LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + LTEXT "ƒtƒ@ƒCƒ‹ / ƒfƒBƒŒƒNƒgƒŠ[",IDC_STATIC,10,3,55,17 + LTEXT "–¼‘O",IDC_STATIC,90,10,20,8 + LTEXT "Š„‚è“–‚Ä—Ê",IDC_STATIC,225,10,41,8 + LTEXT "Žg—p—Ê",IDC_STATIC,270,10,25,8 + LTEXT "Žg—p—¦ (%)",IDC_STATIC,305,10,39,8 + LTEXT "ID",IDC_STATIC,175,10,10,8 + LTEXT "V‹KŠ„‚è“–‚Ä—Ê:",IDC_STATIC,10,127,56,10 + EDITTEXT IDC_NEW_QUOTA,75,126,50,12,ES_AUTOHSCROLL | WS_DISABLED + PUSHBUTTON "ƒp[ƒeƒBƒVƒ‡ƒ“î•ñ‚Ì•\ަ",IDC_PARTITION_INFO,205,125, + 102,14,WS_DISABLED + LTEXT "KB",IDC_STATIC,145,127,25,10 + CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | + UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | + WS_DISABLED,128,125,10,14 +END + +IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "AFS ACL ‚̐ݒè" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + LTEXT "",IDC_DIR_NAME,76,12,239,10 + LISTBOX IDC_NORMAL_RIGHTS,8,46,145,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + LISTBOX IDC_NEGATIVE_ENTRIES,8,143,145,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + CONTROL "r - Read (“ǂݎæ‚è)",IDC_READ,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,160,52,81,10 + CONTROL "w - Write (‘‚«ž‚Ý)",IDC_WRITE,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,160,111,81,10 + CONTROL "l - Lookup (ŒŸõ)",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,160,66,81,10 + CONTROL "d - Delete (íœ)",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,160,96,81,10 + CONTROL "i - Insert (‘}“ü)",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,160,81,81,10 + CONTROL "k - Lock (ƒƒbƒN)",IDC_LOCK,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,160,126,81,10 + CONTROL "a - Administer (ŠÇ—)",IDC_ADMINISTER,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,160,141,81,10 + PUSHBUTTON "’ljÁ(&A)...",IDC_ADD,246,45,69,14 + PUSHBUTTON "íœ(&R)",IDC_REMOVE,246,70,69,14,WS_DISABLED + PUSHBUTTON "ƒNƒŠ[ƒjƒ“ƒO(&C)",IDC_CLEAN,246,95,69,14 + DEFPUSHBUTTON "—¹‰ð(&O)",IDOK,246,150,69,14 + PUSHBUTTON "ŽæÁ‚µ(&N)",IDCANCEL,246,175,69,14 + PUSHBUTTON "ƒwƒ‹ƒv(&H)",9,246,201,69,14 + LTEXT "ƒfƒBƒŒƒNƒgƒŠ[:",IDC_STATIC,15,12,60,10 + GROUPBOX "ƒAƒNƒZƒXŒ ",IDC_STATIC,155,41,89,115 + LTEXT "•W€",IDC_STATIC,10,30,23,8 + LTEXT "–¼‘O",IDC_COLUMN_3,69,38,20,8 + LTEXT "ƒAƒNƒZƒXŒ ",IDC_STATIC,10,38,41,8 + LTEXT "‹ÖŽ~",IDC_STATIC,10,127,17,8 + LTEXT "ƒAƒNƒZƒXŒ ",IDC_STATIC,10,135,41,8 + LTEXT "–¼‘O",IDC_COLUMN_4,69,135,20,8 + GROUPBOX "",IDC_STATIC,10,5,305,20 + PUSHBUTTON "ƒRƒs[(&P)...",IDC_COPY,246,120,69,14 +END + +IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 249, 103 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚̍쐬" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + EDITTEXT IDC_DIR,70,10,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_VOLUME,70,25,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_CELL,70,40,170,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "—¹‰ð",IDOK,20,81,50,14 + PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,85,81,50,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,150,81,50,14 + LTEXT "ƒfƒBƒŒƒNƒgƒŠ[:",IDC_STATIC,9,12,45,10 + LTEXT "ƒ{ƒŠƒ…[ƒ€:",IDC_STATIC,9,28,45,10 + LTEXT "ƒZƒ‹:",IDC_STATIC,9,42,45,10 + GROUPBOX "",IDC_STATIC,70,52,145,20 + LTEXT "ƒIƒvƒVƒ‡ƒ“:",IDC_STATIC,9,59,45,10 + CONTROL "’ʏí",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,75,59,41,10 + CONTROL "“ǂݎæ‚è/‘‚«ž‚Ý",IDC_RW,"Button",BS_AUTORADIOBUTTON, + 120,59,77,10 +END + +IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 245, 113 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ACL €–ڂ̒ljÁ" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + EDITTEXT IDC_NAME,37,70,190,12,ES_AUTOHSCROLL + CONTROL "r - Read (“ǂݎæ‚è)",IDC_READ,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,15,73,10 + CONTROL "l - Lookup (ŒŸõ)",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,25,67,10 + CONTROL "i - Insert (‘}“ü)",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,35,60,10 + CONTROL "d - Delete (íœ)",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,45,67,10 + CONTROL "w - Write (‘‚«ž‚Ý)",IDC_WRITE,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,100,15,79,10 + CONTROL "k - Lock (ƒƒbƒN)",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,100,25,69,10 + CONTROL "a - Administer (ŠÇ—)",IDC_ADMINISTER,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,100,35,81,10 + CONTROL "•W€€–Ú",IDC_ADD_NORMAL_ENTRY,"Button", + BS_AUTORADIOBUTTON | WS_GROUP,191,16,43,10 + CONTROL "‹ÖŽ~€–Ú",IDC_ADD_NEGATIVE_ENTRY,"Button", + BS_AUTORADIOBUTTON,191,26,43,10 + PUSHBUTTON "—¹‰ð",IDOK,22,90,50,14 + PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,92,90,50,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,162,90,50,14 + LTEXT "–¼‘O:",IDC_STATIC,10,72,18,8 + GROUPBOX "ƒAƒNƒZƒXŒ ",IDC_STATIC,10,5,175,55 + GROUPBOX "€–Úƒ^ƒCƒv",IDC_STATIC,186,6,53,34 +END + +IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ƒp[ƒeƒBƒVƒ‡ƒ“î•ñ" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + EDITTEXT IDC_TOTAL_SIZE,60,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_BLOCKS_FREE,60,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_PERCENT_USED,60,40,40,12,ES_AUTOHSCROLL | + WS_DISABLED | NOT WS_TABSTOP + DEFPUSHBUTTON "ƒNƒ[ƒY",IDOK,14,62,40,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,69,62,40,14 + LTEXT "Žg—p—¦(%):",IDC_STATIC,10,42,42,8 + LTEXT "‹ó‚«ƒuƒƒbƒN:",IDC_STATIC,10,27,42,8 + LTEXT "‡ŒvƒTƒCƒY:",IDC_STATIC,10,12,42,8 + LTEXT "KB",IDC_STATIC,107,12,10,8 + LTEXT "KB",IDC_STATIC,107,27,10,8 +END + +IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ACL ‚̃Rƒs[" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + EDITTEXT IDC_FROM_DIR,56,10,175,12,ES_AUTOHSCROLL | ES_READONLY + EDITTEXT IDC_TO_DIR,56,26,130,12,ES_AUTOHSCROLL + PUSHBUTTON "ŽQÆ",IDC_BROWSE,195,25,35,15 + CONTROL "Œ»Ý‚̍€–Ú‚ðÁ‹Ž:",IDC_CLEAR,"Button",BS_AUTOCHECKBOX | + BS_LEFTTEXT | WS_TABSTOP,10,46,82,10 + DEFPUSHBUTTON "—¹‰ð",IDOK,20,65,50,14,WS_DISABLED + PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,95,65,50,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,170,65,50,14 + LTEXT "ƒRƒs[Œ³:",IDC_STATIC,14,12,34,8 + LTEXT "ƒRƒs[æ:",IDC_STATIC,14,29,34,8 +END + +IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ŒŸõ" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + DEFPUSHBUTTON "ƒNƒ[ƒY",IDOK,65,145,50,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,180,145,50,14 + LISTBOX IDC_LIST,10,21,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "ƒtƒ@ƒCƒ‹/ƒfƒBƒŒƒNƒgƒŠ[",IDC_STATIC,10,10,91,8 + LTEXT "ƒtƒ@ƒCƒ‹EƒT[ƒo[",IDC_STATIC,128,10,73,8 +END + +IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Œ‹‰Ê" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + DEFPUSHBUTTON "ƒNƒ[ƒY",IDOK,65,145,50,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,180,145,50,14 + LISTBOX IDC_LIST,10,22,280,115,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "ƒtƒ@ƒCƒ‹/ƒfƒBƒŒƒNƒgƒŠ[",-1,10,10,91,8 + LTEXT "Œ‹‰Ê",IDC_RESULTS_LABEL,128,10,17,8 +END + +IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + DEFPUSHBUTTON "ƒNƒ[ƒY",IDOK,65,145,50,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,180,145,50,14 + LISTBOX IDC_LIST,10,23,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "ƒtƒ@ƒCƒ‹",IDC_STATIC,10,11,33,8 + LTEXT "ƒ{ƒŠƒ…[ƒ€",IDC_STATIC,75,11,41,8 + LTEXT "ƒZƒ‹",IDC_STATIC,155,11,17,8 + LTEXT "ƒ^ƒCƒv",IDC_STATIC,230,11,25,8 +END + +IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "ƒT[ƒo[‚ªƒ_ƒEƒ“" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + LISTBOX 1029,10,22,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL + LTEXT "ˆÈ‰º‚̃T[ƒo[‚͂܂¾ƒ_ƒEƒ“‚µ‚Ä‚¢‚Ü‚·:",IDC_STATIC,10,10, + 146,8 + DEFPUSHBUTTON "—¹‰ð",IDOK,82,140,45,15 +END + +IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "ƒT[ƒo[ó‹µ" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + CONTROL "ƒ[ƒJƒ‹EƒZƒ‹",IDC_LOCALCELL,"Button", + BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,20,20,59,8 + CONTROL "Žw’èƒZƒ‹:",IDC_SPECIFIEDCELL,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,59,10 + CONTROL "‚·‚ׂẴZƒ‹",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON | + WS_TABSTOP,20,65,59,10 + CONTROL "ƒT[ƒo[‚ðƒvƒ[ƒu‚µ‚È‚¢",IDC_DONTPROBESERVERS,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,24,87,107,10 + PUSHBUTTON "ó‹µ‚Ì•\ަ",IDC_SHOWSTATUS,10,120,50,14 + GROUPBOX "ƒZƒ‹",IDC_STATIC,10,5,160,105,WS_GROUP + GROUPBOX "",IDC_STATIC,20,80,120,20,WS_GROUP + EDITTEXT IDC_CELL_NAME,30,48,130,12,ES_AUTOHSCROLL + PUSHBUTTON "ƒNƒ[ƒY",IDCANCEL,65,120,50,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,120,120,50,14 +END + +IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "”FØ" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + LISTBOX IDC_TOKEN_LIST,10,19,265,110,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + PUSHBUTTON "ƒg[ƒNƒ“‚̎擾",ID_GET_TOKENS,15,137,62,14 + PUSHBUTTON "ƒg[ƒNƒ“‚Ì”jŠü",ID_DISCARD_TOKENS,80,137,62,14 + PUSHBUTTON "ƒNƒ[ƒY",IDCANCEL,145,137,55,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,215,137,55,14 + LTEXT "ƒ†[ƒU[–¼",IDC_STATIC,10,9,41,8 + LTEXT "ƒZƒ‹–¼",IDC_STATIC,104,9,25,8 + LTEXT "—LŒøŠúŒÀ",IDC_STATIC,222,9,33,8 +END + +IDD_KLOG_DIALOG DIALOGEX 0, 0, 179, 93 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "ƒg[ƒNƒ“‚̎擾" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + EDITTEXT IDC_NAME,52,10,115,12,ES_AUTOHSCROLL + EDITTEXT IDC_PASSWORD,52,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL + EDITTEXT IDC_CELL_NAME,52,50,115,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "—¹‰ð",IDOK,20,70,35,14,WS_DISABLED + PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,70,70,35,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,120,70,35,14 + LTEXT "–¼‘O:",IDC_STATIC,25,13,20,8 + LTEXT "ƒpƒXƒ[ƒh:",IDC_STATIC,10,32,35,8 + LTEXT "ƒZƒ‹:",IDC_STATIC,26,51,19,8 +END + +IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "ƒg[ƒNƒ“‚Ì”jŠü" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + DEFPUSHBUTTON "—¹‰ð",IDOK,25,40,35,14 + PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,75,40,35,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,125,40,35,14 + LTEXT "ƒZƒ‹:",IDC_STATIC,10,17,18,8 + EDITTEXT IDC_CELL_NAME,37,15,136,12,ES_AUTOHSCROLL +END + +IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "ƒTƒuƒ}ƒEƒ“ƒg" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "’ljÁ ",IDC_ADD,202,20,45,14 + PUSHBUTTON "íœ",IDC_DELETE,202,39,45,14,WS_DISABLED + PUSHBUTTON "•ύX",IDC_CHANGE,202,58,45,14,WS_DISABLED + LTEXT "ƒTƒuƒ}ƒEƒ“ƒg:",IDC_STATIC,10,10,50,8 + PUSHBUTTON "—¹‰ð",IDOK,202,145,45,14 + PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,202,163,45,14 +END + +IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ƒTƒuƒ}ƒEƒ“ƒg‚̒ljÁ" +FONT 9, "‚l‚r ‚oƒSƒVƒbƒN" +BEGIN + EDITTEXT IDC_SHARE_NAME,62,8,163,12,ES_AUTOHSCROLL + EDITTEXT IDC_PATH_NAME,62,23,163,12,ES_AUTOHSCROLL + PUSHBUTTON "—¹‰ð",IDOK,22,53,45,14 + PUSHBUTTON "ŽæÁ‚µ",IDCANCEL,92,53,45,14 + PUSHBUTTON "ƒwƒ‹ƒv",9,167,53,45,14 + LTEXT "‹¤—p–¼:",IDC_STATIC,19,10,29,8 + LTEXT "ƒpƒX–¼:",IDC_STATIC,19,25,28,8 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_SERVERSTATUS, DIALOG + BEGIN + RIGHTMARGIN, 171 + END + + IDD_AUTHENTICATION, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 278 + TOPMARGIN, 7 + BOTTOMMARGIN, 151 + END + + IDD_KLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 165 + TOPMARGIN, 7 + BOTTOMMARGIN, 86 + END + + IDD_UNLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 178 + TOPMARGIN, 7 + BOTTOMMARGIN, 56 + END + + IDD_SUBMTINFO, DIALOG + BEGIN + LEFTMARGIN, 10 + RIGHTMARGIN, 247 + BOTTOMMARGIN, 177 + END + + IDD_ADD_SUBMOUNT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 25 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + ID_ACL_CLEAN "fs cleanacl" + ID_ACL_COPY "fs copyacl" + ID_ACL_LIST "fs listacl" + ID_ACL_SET "fs setacl" + ID_VOLUME_CHECK "fs checkvolumes" + ID_VOLUME_DISKFREE "fs diskfree" + ID_VOLUME_EXAMINE "fs examine" + ID_VOLUME_FLUSH "fs flushvolume" + ID_VOLUME_QUOTA_BRIEF "fs quota" + ID_VOLUME_QUOTA_FULL "fs listquota" + ID_VOLUME_QUOTA_SET "fs setvol" + ID_VOLUME_SET "fs setvol" +END + +STRINGTABLE DISCARDABLE +BEGIN + ID_FLUSH "fs flush" + ID_WHEREIS "fs whereis" + ID_SHOWCELL "fs whichcell" + ID_MOUNTPOINT_SHOW "fs lsmount" + ID_MOUNTPOINT_REMOVE "fs rmmount" + ID_SHOW_SERVER "fs whereis" + ID_AUTHENTICATE "AFS ‚̃ƒOƒCƒ“‚Ü‚½‚̓ƒOƒAƒEƒg" + ID_SERVER_STATUS "ƒT[ƒo[‚ÌŒŸ¸" + ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" + ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" + ID_MOUNTPOINT_MAKE "fs mkmount" + IDS_FLUSH_FAILED "Šˆ“®ó‘Ԃ̃tƒ@ƒCƒ‹ %o ‚ðƒtƒ‰ƒbƒVƒ…‚Å‚«‚Ü‚¹‚ñ" + IDS_FLUSH_ERROR "ƒtƒ@ƒCƒ‹ %o ‚̃tƒ‰ƒbƒVƒ…EƒGƒ‰[: %s" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_FLUSH_OK "‘I‘ð‚³‚ê‚½ƒtƒ@ƒCƒ‹‚ª³í‚Ƀtƒ‰ƒbƒVƒ…‚³‚ê‚Ü‚µ‚½" + IDS_CANT_GET_CELL "ƒZƒ‹‚Ì”»•ʃGƒ‰[: " + IDS_FLUSH_VOLUME_ERROR "%o ‚̃{ƒŠƒ…[ƒ€‚̃tƒ‰ƒbƒVƒ…EƒGƒ‰[: %s" + IDS_FLUSH_VOLUME_OK "ƒ{ƒŠƒ…[ƒ€‚ª³í‚Ƀtƒ‰ƒbƒVƒ…‚³‚ê‚Ü‚µ‚½" + IDS_WHERE_IS "ƒtƒ@ƒCƒ‹ %o ‚̓zƒXƒg %s ‚É‚ ‚è‚Ü‚·" + IDS_CLEANACL_NOT_SUPPORTED + "ƒtƒ@ƒCƒ‹ %o ‚Ì ACL ‚ðƒNƒŠ[ƒjƒ“ƒO‚Å‚«‚Ü‚¹‚ñ: ACL ‚̃NƒŠ[ƒjƒ“ƒO‚Í DFS ƒAƒNƒZƒXEƒŠƒXƒg‚ł̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ" + IDS_ACL_IS_FINE "%o ‚̃AƒNƒZƒXEƒŠƒXƒg‚͐³í‚Å‚·" + IDS_CLEANACL_INVALID_ARG + "ƒtƒ@ƒCƒ‹ %o ‚Ì ACL ‚ðƒNƒŠ[ƒjƒ“ƒO‚Å‚«‚Ü‚¹‚ñ: –³Œø‚Ȉø‚«”Al‚¦‚ç‚ê‚闝—R: ƒtƒ@ƒCƒ‹‚ª vice ‚ɂȂ¢A‚Ü‚½‚̓AƒNƒZƒX§ŒäƒŠƒXƒg‚Ƀ†[ƒU[‚ª‘½‚·‚¬‚é" + IDS_ANY_STRING "%o" + IDS_CLEANACL_DONE "ŒÃ‚¢ ACL €–Ú‚ªíœ‚³‚ê‚Ü‚µ‚½B" + ID_SUBMOUNTS "AFS ƒTƒuƒ}ƒEƒ“ƒg‚̍쐬‚Ü‚½‚͍폜" + IDS_GETRIGHTS_ERROR "ƒfƒBƒŒƒNƒgƒŠ[ %o ‚̃AƒNƒZƒXEƒŠƒXƒg‚ð“ǂݎæ‚ê‚Ü‚¹‚ñ: %o" + IDS_DFSACL_ERROR "DFS ACL ‚Í‚±‚̃Rƒ}ƒ“ƒh‚ŕҏW‚Å‚«‚Ü‚¹‚ñ" + IDS_SAVE_ACL_ERROR "%o ‚Ì ACL ‚ð•ۊǂł«‚Ü‚¹‚ñ: %o" + IDS_SAVE_ACL_EINVAL_ERROR + "%o ‚Ì ACL ‚ð•ۊǂł«‚Ü‚¹‚ñ: –³Œø‚Ȉø‚«”Al‚¦‚ç‚ê‚闝—R: ƒtƒ@ƒCƒ‹‚ª AFS ‚ɂȂ¢AƒAƒNƒZƒX§ŒäƒŠƒXƒg‚Ƀ†[ƒU[‚ª‘½‚·‚¬‚éA‘¶Ý‚µ‚È‚¢ƒ†[ƒU[‚ðƒAƒNƒZƒX§ŒäƒŠƒXƒg‚ɒljÁ‚µ‚悤‚Æ‚µ‚½" + IDS_ACL_READ_ERROR "%o ‚Ì ACL ‚ð“ǂݎæ‚ê‚Ü‚¹‚ñ: %o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_NO_DFS_COPY_ACL "ƒfƒBƒŒƒNƒgƒŠ[ %o ‚É ACL ‚ðƒRƒs[‚Å‚«‚Ü‚¹‚ñ: ACL ‚̃Rƒs[‚Í DFSƒAƒNƒZƒXEƒŠƒXƒg‚ł̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ" + IDS_COPY_ACL_EINVAL_ERROR + "ƒfƒBƒŒƒNƒgƒŠ[ %o ‚É ACL ‚ðƒRƒs[‚Å‚«‚Ü‚¹‚ñ: –³Œø‚Ȉø‚«”Al‚¦‚ç‚ê‚闝—R: ƒtƒ@ƒCƒ‹‚ª AFS ‚ɂȂ¢B" + IDS_COPY_ACL_ERROR "ACL ‚ð %o ‚ɃRƒs[‚Å‚«‚Ü‚¹‚ñ: %o" + IDS_NOT_MOUNT_POINT_ERROR "%o ‚̓}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚ł͂ ‚è‚Ü‚¹‚ñB" + IDS_LIST_MOUNT_POINT_ERROR "ƒGƒ‰[: %o" + IDS_MAKE_MP_NOT_AFS_ERROR + "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚ð AFS ƒtƒ@ƒCƒ‹EƒVƒXƒeƒ€“à‚ɍ쐬‚·‚é•K—v‚ª‚ ‚è‚Ü‚·" + IDS_MOUNT_POINT_ERROR "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚̍쐬ƒGƒ‰[: %o" + IDS_ERROR "ƒGƒ‰[: %o" + IDS_DELETED "³í‚ɍ폜‚³‚ê‚Ü‚µ‚½" + IDS_SET_QUOTA_ERROR "Š„‚è“–‚ėʂ̐ݒèƒGƒ‰[: %o" + ID_SUBMOUNTS_CREATE "AFS ƒTƒuƒ}ƒEƒ“ƒg‚̍쐬" + ID_SUBMOUNTS_EDIT "AFS ƒTƒuƒ}ƒEƒ“ƒg‚̒ljÁA•ύXA‚Ü‚½‚͍폜" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_CHECK_SERVERS_ERROR "ƒtƒ@ƒCƒ‹EƒT[ƒo[Eƒ}ƒVƒ“‚̏󋵂̌Ÿ¸ƒGƒ‰[: %o" + IDS_ALL_SERVERS_RUNNING "‚·‚ׂẴT[ƒo[‚ªŽÀs’†‚Å‚·B" + IDS_CHECK_VOLUMES_OK "‚·‚ׂẴ{ƒŠƒ…[ƒ€ ID/–¼‘O‚̃}ƒbƒsƒ“ƒO‚ªŒŸ¸‚³‚ê‚Ü‚µ‚½B" + IDS_CHECK_VOLUMES_ERROR "ƒ{ƒŠƒ…[ƒ€ ID/–¼‘Oƒ}ƒbƒsƒ“ƒO‚ÌŒŸ¸ƒGƒ‰[: %o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ACL_ENTRY_NAME_IN_USE + "‘I‘ð‚µ‚½–¼‘O‚Í‚·‚łɎg—p‚³‚ê‚Ä‚¢‚Ü‚·B•ʂ̖¼‘O‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B" + IDS_REALLY_DEL_MOUNT_POINTS + "‘I‘ð‚µ‚½ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚ðíœ‚µ‚Ä‚à‚¢‚¢‚Å‚·‚©?" + IDS_DIR_DOES_NOT_EXIST_ERROR "ƒfƒBƒŒƒNƒgƒŠ[ '%o' ‚ª‘¶Ý‚µ‚Ü‚¹‚ñB" + IDS_CLEANACL_MSG "ŒÃ‚¢ ACL ‚͍폜‚³‚ê‚Ü‚·!" + IDS_COPY_ACL_OK "ACL ‚ª³í‚ɃRƒs[‚³‚ê‚Ü‚µ‚½B" + IDS_GET_TOKENS_NO_AFS_SERVICE + "ƒg[ƒNƒ“î•ñ‚ð“ǂݎæ‚ê‚Ü‚¹‚ñ: AFS ƒT[ƒrƒX‚ªŠJŽn‚³‚ê‚Ä‚¢‚È‚¢‰Â”\«‚ª‚ ‚è‚Ü‚·B" + IDS_GET_TOKENS_UNEXPECTED_ERROR + "ƒg[ƒNƒ“î•ñ‚ð“ǂݎæ‚ê‚Ü‚¹‚ñ: —\Šú‚µ‚È‚¢ƒGƒ‰[AƒR[ƒh %d " + IDS_GET_TOKENS_UNEXPECTED_ERROR2 + "ƒg[ƒNƒ“î•ñ‚ð“ǂݎæ‚ê‚Ü‚¹‚ñ: —\Šú‚µ‚È‚¢ƒGƒ‰[AƒT[ƒrƒX %s.%s.%s, ƒR[ƒh %d " + IDS_ENTER_QUOTA "—LŒø‚ÈŠ„‚è“–‚Ä—Ê‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B" + IDS_AUTHENTICATION_ITEM "”FØ(&A)..." + IDS_ACLS_ITEM "ƒAƒNƒZƒX§ŒäƒŠƒXƒg(&C)..." + IDS_VOL_PART_ITEM "ƒ{ƒŠƒ…[ƒ€/ƒp[ƒeƒBƒVƒ‡ƒ“(&V)" + IDS_VOL_PART_PROPS_ITEM "ƒvƒƒpƒeƒB[(&P)" + IDS_VOL_PART_REFRESH_ITEM "–¼‘O /ID ƒ}ƒbƒsƒ“ƒO‚̍ŐV•\ަ(&R)" + IDS_MOUNT_POINT_ITEM "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg(&M)" + IDS_MP_SHOW_ITEM "•\ަ(&S)..." +END + +STRINGTABLE DISCARDABLE +BEGIN + AFX_IDS_APP_TITLE "AFS ƒNƒ‰ƒCƒAƒ“ƒg" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_MP_REMOVE_ITEM "íœ(&R)..." + IDS_MP_MAKE_ITEM "ì¬(&M)..." + IDS_FLUSH_FILE_DIR_ITEM "ƒtƒ@ƒCƒ‹/ƒfƒBƒŒƒNƒgƒŠ[‚̃tƒ‰ƒbƒVƒ…(&F)" + IDS_FLUSH_VOLUME_ITEM "ƒ{ƒŠƒ…[ƒ€‚̃tƒ‰ƒbƒVƒ…(&U)" + IDS_SHOW_FILE_SERVERS_ITEM "ƒtƒ@ƒCƒ‹EƒT[ƒo[‚Ì•\ަ(&F)..." + IDS_SHOW_CELL_ITEM "ƒZƒ‹‚Ì•\ަ(&C)..." + IDS_SHOW_SERVER_STATUS_ITEM "ƒT[ƒo[ó‹µ‚Ì•\ަ..." + IDS_AFS_ITEM "AFS(&A)" + IDS_SUBMOUNTS_ITEM "ƒTƒuƒ}ƒEƒ“ƒg(&B)" + IDS_GET_SUBMT_INFO_ERROR "‹¤—p–¼ %o ‚̃Tƒuƒ}ƒEƒ“ƒgî•ñ‚ð“ǂݎæ‚ê‚Ü‚¹‚ñB" + IDS_REALLY_DELETE_SUBMT "‹¤—p–¼ %o ‚ðíœ‚µ‚Ü‚·‚©?" + IDS_SUBMT_SAVE_FAILED "ƒTƒuƒ}ƒEƒ“ƒgEƒf[ƒ^ƒx[ƒX‚ɑ΂·‚é•ύX‚ªŽ¸”s‚µ‚Ü‚µ‚½B" + IDS_SUBMOUNTS_CREATE_ITEM "’ljÁ(&A)" + IDS_SUBMOUNTS_EDIT_ITEM "•ҏW(&E)..." + IDS_EDIT_PATH_NAME "ƒpƒX–¼‚̕ҏW" + IDS_SHOW_CELL "ƒZƒ‹‚ð•\ަ" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHOW_CELL_COLUMN "ƒZƒ‹" + IDS_SHOW_FS "ƒtƒ@ƒCƒ‹EƒT[ƒo[‚ð•\ަ" + IDS_SHOW_FS_COLUMN "ƒtƒ@ƒCƒ‹EƒT[ƒo[" + IDS_REMOVE_MP "ƒ}ƒEƒ“ƒgEƒ|ƒCƒ“ƒg‚ðíœ" + IDS_REMOVE_MP_COLUMN "Œ‹‰Ê" +END + +#endif // Japanese resources +///////////////////////////////////////////////////////////////////////////// + + + +#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_JPN) +#ifdef _WIN32 +LANGUAGE 17, 1 +#endif +#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources +#include "afxres.rc" // Standard components +#endif +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/WINNT/client_exp/lang/ko_KR/afs_shl_ext.rc b/src/WINNT/client_exp/lang/ko_KR/afs_shl_ext.rc index c1218a1c4..2a7cf0023 100644 --- a/src/WINNT/client_exp/lang/ko_KR/afs_shl_ext.rc +++ b/src/WINNT/client_exp/lang/ko_KR/afs_shl_ext.rc @@ -7,636 +7,637 @@ * directory or online at http://www.openafs.org/dl/license10.html */ -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Korean resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR) -#ifdef _WIN32 -LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT -#endif //_WIN32 - -#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_KOR)\r\n" - "#ifdef _WIN32\r\n" - "LANGUAGE 18, 1\r\n" - "#endif\r\n" - "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" - "#include ""afxres.rc"" // Standard components\r\n" - "#endif\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU_FILE MENU DISCARDABLE -BEGIN - MENUITEM "ÀÎÁõ...", IDM_AUTHENTICATION - MENUITEM "¾×¼¼½º Á¦¾î ¸ñ·Ï...", IDM_ACL_SET - POPUP "º¼·ý/ÆÄƼ¼Ç(&V)" - BEGIN - MENUITEM "Ư¼º(&P)...", IDM_VOLUME_PROPERTIES - MENUITEM "À̸§/ID ¸ÊÇÎ »õ·Î °íħ(&R)", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE - - END - POPUP "¸¶¿îÆ® Æ÷ÀÎÆ®(&M)" - BEGIN - MENUITEM "Ç¥½Ã(&S)...", IDM_MOUNTPOINT_SHOW - MENUITEM "Á¦°Å(&R)...", IDM_MOUNTPOINT_REMOVE - MENUITEM "ÀÛ¼º(&M)...", IDM_MOUNTPOINT_MAKE - END - MENUITEM "ÆÄÀÏ/µð·ºÅ丮 Ç÷¯½¬(&F)", IDM_FLUSH - MENUITEM "º¼·ý Ç÷¯½¬(&U)", IDM_FLUSH_VOLUME - MENUITEM "ÆÄÀÏ ¼­¹ö Ç¥½Ã(&F)...", IDM_SHOW_SERVER - MENUITEM "¼¿ Ç¥½Ã(&C)...", IDM_SHOWCELL - MENUITEM "¼­¹ö »óÅ ǥ½Ã ...", IDM_SERVER_STATUS -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "º¼·ý Á¤º¸" -FONT 9, "±¼¸²" -BEGIN - DEFPUSHBUTTON "È®ÀÎ",IDOK,60,150,50,14,WS_DISABLED - PUSHBUTTON "µµ¿ò¸»",9,240,150,50,14 - PUSHBUTTON "Ãë¼Ò",IDCANCEL,150,150,50,14 - LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP - LTEXT "ÆÄÀÏ/µð·ºÅ丮",IDC_STATIC,10,9,56,8 - LTEXT "À̸§",IDC_STATIC,90,10,20,8 - LTEXT "ÇÒ´ç·®",IDC_STATIC,225,10,29,8 - LTEXT "»ç¿ë",IDC_STATIC,270,10,24,8 - LTEXT "»ç¿ë ¹éºÐÀ²",IDC_STATIC,298,10,38,8 - LTEXT "ID",IDC_STATIC,171,10,14,8 - LTEXT "»õ ÇÒ´ç·®:",IDC_STATIC,10,127,40,10 - EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED - PUSHBUTTON "ÆÄƼ¼Ç Á¤º¸ Ç¥½Ã",IDC_PARTITION_INFO,205,125,69,14, - WS_DISABLED - LTEXT "KB",IDC_STATIC,118,127,25,10 - CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | - UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | - WS_DISABLED,106,125,10,14 -END - -IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "AFS ACL ¼³Á¤" -FONT 9, "±¼¸²" -BEGIN - LTEXT "",IDC_DIR_NAME,51,12,259,10 - LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - CONTROL "r - Àбâ",IDC_READ,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,52,55,10 - CONTROL "w - ¾²±â",IDC_WRITE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,111,55,10 - CONTROL "l - Á¶È¸",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,66,55,10 - CONTROL "d - »èÁ¦",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,96,55,10 - CONTROL "i - »ðÀÔ",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,81,55,10 - CONTROL "k - Àá±Ý",IDC_LOCK,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,126,55,10 - CONTROL "a - °ü¸®ÀÚ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,141,55,10 - PUSHBUTTON "Ãß°¡(&A)...",IDC_ADD,270,45,45,14 - PUSHBUTTON "Á¦°Å(&R)",IDC_REMOVE,270,70,45,14,WS_DISABLED - PUSHBUTTON "Á¤¸®(&C)",IDC_CLEAN,270,95,45,14 - DEFPUSHBUTTON "È®ÀÎ(&O)",IDOK,270,150,45,14 - PUSHBUTTON "Ãë¼Ò(&N)",IDCANCEL,270,175,45,14 - PUSHBUTTON "µµ¿ò¸»(&H)",9,270,201,45,14 - LTEXT "µð·ºÅ丮:",IDC_STATIC,15,12,41,10 - GROUPBOX "±ÇÇÑ",IDC_STATIC,195,41,65,115 - LTEXT "±àÁ¤",IDC_STATIC,10,30,23,8 - LTEXT "À̸§",IDC_COLUMN_3,69,38,20,8 - LTEXT "±ÇÇÑ",IDC_STATIC,10,38,37,8 - LTEXT "ºÎÁ¤",IDC_STATIC,10,125,30,8 - LTEXT "±ÇÇÑ",IDC_STATIC,10,133,38,8 - LTEXT "À̸§",IDC_COLUMN_4,69,133,20,8 - GROUPBOX "",IDC_STATIC,10,5,305,20 - PUSHBUTTON "º¹»ç(&P)...",IDC_COPY,270,120,45,14 -END - -IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "¸¶¿îÆ® Æ÷ÀÎÆ® ÀÛ¼º" -FONT 9, "±¼¸²" -BEGIN - EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "È®ÀÎ",IDOK,20,81,50,14 - PUSHBUTTON "Ãë¼Ò",IDCANCEL,85,81,50,14 - PUSHBUTTON "µµ¿ò¸»",9,150,81,50,14 - LTEXT "µð·ºÅ丮:",IDC_STATIC,5,12,30,10 - LTEXT "º¼·ý:",IDC_STATIC,12,26,25,10 - LTEXT "¼¿:",IDC_STATIC,19,41,15,10 - GROUPBOX "",IDC_STATIC,40,52,115,20 - LTEXT "¿É¼Ç:",IDC_STATIC,12,57,24,10 - CONTROL "ÀϹÝ",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | - WS_GROUP,45,59,41,10 - CONTROL "Àбâ/¾²±â",IDC_RW,"Button",BS_AUTORADIOBUTTON,100,59,50, - 10 -END - -IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ACL Ç׸ñ Ãß°¡" -FONT 9, "±¼¸²" -BEGIN - EDITTEXT IDC_NAME,35,70,190,12,ES_AUTOHSCROLL - CONTROL "r - Àбâ",IDC_READ,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,15,45,10 - CONTROL "l - Á¶È¸",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,25,50,10 - CONTROL "i - »ðÀÔ",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,35,50,10 - CONTROL "d - »èÁ¦",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,45,50,10 - CONTROL "w - ¾²±â",IDC_WRITE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,15,50,10 - CONTROL "k - Àá±Ý",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,25,55,10 - CONTROL "a - °ü¸®ÀÚ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,35,60,10 - CONTROL "±àÁ¤ Ç׸ñ",IDC_ADD_NORMAL_ENTRY,"Button", - BS_AUTORADIOBUTTON | WS_GROUP,161,16,54,10 - CONTROL "ºÎÁ¤ Ç׸ñ",IDC_ADD_NEGATIVE_ENTRY,"Button", - BS_AUTORADIOBUTTON,161,26,59,10 - PUSHBUTTON "È®ÀÎ",IDOK,22,90,50,14 - PUSHBUTTON "Ãë¼Ò",IDCANCEL,92,90,50,14 - PUSHBUTTON "µµ¿ò¸»",9,162,90,50,14 - LTEXT "À̸§:",IDC_STATIC,10,72,20,8 - GROUPBOX "±ÇÇÑ",IDC_STATIC,10,5,135,55 - GROUPBOX "Ç׸ñ À¯Çü",IDC_STATIC,155,6,70,34 -END - -IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ÆÄƼ¼Ç Á¤º¸" -FONT 9, "±¼¸²" -BEGIN - EDITTEXT IDC_TOTAL_SIZE,67,9,40,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_BLOCKS_FREE,67,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_PERCENT_USED,67,39,40,12,ES_AUTOHSCROLL | - WS_DISABLED | NOT WS_TABSTOP - DEFPUSHBUTTON "´Ý±â",IDOK,14,62,40,14 - PUSHBUTTON "µµ¿ò¸»",9,69,62,40,14 - LTEXT "»ç¿ë %:",IDC_STATIC,5,42,52,8 - LTEXT "»ç¿ë°¡´ÉÇÑ ºí·°:",IDC_STATIC,5,27,54,8 - LTEXT "ÃÑ Å©±â:",IDC_STATIC,7,12,36,8 - LTEXT "KB",IDC_STATIC,109,11,11,8 - LTEXT "K",IDC_STATIC,109,27,8,8 -END - -IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ACL º¹»ç" -FONT 9, "±¼¸²" -BEGIN - EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY - EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL - PUSHBUTTON "ã¾Æº¸±â",IDC_BROWSE,195,25,35,15 - CONTROL "ÇöÀç ÀÔ·Â Ç׸ñ Áö¿ì±â:",IDC_CLEAR,"Button", - BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,10,46,82,10 - DEFPUSHBUTTON "È®ÀÎ",IDOK,20,65,50,14,WS_DISABLED - PUSHBUTTON "Ãë¼Ò",IDCANCEL,95,65,50,14 - PUSHBUTTON "µµ¿ò¸»",9,170,65,50,14 - LTEXT "º¹»ç ¿øº»:",IDC_STATIC,13,13,35,8 - LTEXT "º¹»ç ´ë»ó:",IDC_STATIC,13,29,37,8 -END - -IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "À§Ä¡" -FONT 9, "±¼¸²" -BEGIN - DEFPUSHBUTTON "´Ý±â",IDOK,65,145,50,14 - PUSHBUTTON "µµ¿ò¸»",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "ÆÄÀÏ/µð·ºÅ丮",IDC_STATIC,10,10,59,8 - LTEXT "ÆÄÀÏ ¼­¹ö",IDC_STATIC,128,10,44,8 -END - -IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "°á°ú" -FONT 9, "±¼¸²" -BEGIN - DEFPUSHBUTTON "´Ý±â",IDOK,65,145,50,14 - PUSHBUTTON "µµ¿ò¸»",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "ÆÄÀÏ/µð·ºÅ丮",-1,10,10,45,8 - LTEXT "°á°ú",IDC_RESULTS_LABEL,128,10,44,8 -END - -IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "¸¶¿îÆ® Æ÷ÀÎÆ®" -FONT 9, "±¼¸²" -BEGIN - DEFPUSHBUTTON "´Ý±â",IDOK,65,145,50,14 - PUSHBUTTON "µµ¿ò¸»",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "ÆÄÀÏ",IDC_STATIC,10,11,13,8 - LTEXT "º¼·ý",IDC_STATIC,75,11,27,8 - LTEXT "¼¿",IDC_STATIC,155,11,15,8 - LTEXT "À¯Çü",IDC_STATIC,230,11,20,8 -END - -IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "¼­¹ö Áß´Ü" -FONT 9, "±¼¸²" -BEGIN - LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL - LTEXT "ÀÌ ¼­¹ö´Â ¾ÆÁ÷ ½ÃÀÛµÇÁö ¾ÊÀº »óÅÂÀÔ´Ï´Ù",IDC_STATIC,10, - 10,186,8 - DEFPUSHBUTTON "È®ÀÎ",IDOK,82,140,45,15 -END - -IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "¼­¹ö »óÅÂ" -FONT 9, "±¼¸²" -BEGIN - CONTROL "Áö¿ª ¼¿",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | - WS_GROUP | WS_TABSTOP,20,20,50,8 - CONTROL "ÁöÁ¤µÈ ¼¿:",IDC_SPECIFIEDCELL,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,60,10 - CONTROL "¸ðµç ¼¿",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON | - WS_TABSTOP,21,69,45,10 - CONTROL "¼­¹ö »óŸ¦ Á¶»çÇÏÁö ¾ÊÀ½",IDC_DONTPROBESERVERS,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,24,87,112,10 - PUSHBUTTON "»óÅ ǥ½Ã",IDC_SHOWSTATUS,10,120,50,14 - GROUPBOX "¼¿",IDC_STATIC,10,5,160,105,WS_GROUP - GROUPBOX "",IDC_STATIC,20,80,137,20,WS_GROUP - EDITTEXT IDC_CELL_NAME,31,51,130,12,ES_AUTOHSCROLL - PUSHBUTTON "´Ý±â",IDCANCEL,65,120,50,14 - PUSHBUTTON "µµ¿ò¸»",9,120,120,50,14 -END - -IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ÀÎÁõ" -FONT 9, "±¼¸²" -BEGIN - LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - PUSHBUTTON "ÅäÅ« È®º¸",ID_GET_TOKENS,15,137,55,14 - PUSHBUTTON "ÅäÅ« ¹ö¸®±â",ID_DISCARD_TOKENS,80,137,55,14 - PUSHBUTTON "´Ý±â",IDCANCEL,145,137,55,14 - PUSHBUTTON "µµ¿ò¸»",9,215,137,55,14 - LTEXT "»ç¿ëÀÚ À̸§",IDC_STATIC,10,9,38,8 - LTEXT "¼¿ À̸§",IDC_STATIC,104,9,33,8 - LTEXT "¸¸±â",IDC_STATIC,222,9,32,8 -END - -IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "ÅäÅ« È®º¸" -FONT 9, "±¼¸²" -BEGIN - EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL - EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL - EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "È®ÀÎ",IDOK,20,70,35,14,WS_DISABLED - PUSHBUTTON "Ãë¼Ò",IDCANCEL,70,70,35,14 - PUSHBUTTON "µµ¿ò¸»",9,120,70,35,14 - LTEXT "À̸§:",IDC_STATIC,17,12,22,8 - LTEXT "¾ÏÈ£:",IDC_STATIC,17,32,20,8 - LTEXT "¼¿:",IDC_STATIC,24,52,15,8 -END - -IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "ÅäÅ« ¹ö¸®±â" -FONT 9, "±¼¸²", 0, 0, 0x1 -BEGIN - DEFPUSHBUTTON "È®ÀÎ",IDOK,25,40,35,14 - PUSHBUTTON "Ãë¼Ò",IDCANCEL,75,40,35,14 - PUSHBUTTON "µµ¿ò¸»",9,125,40,35,14 - LTEXT "¼¿:",IDC_STATIC,10,17,14,8 - EDITTEXT IDC_CELL_NAME,29,15,145,12,ES_AUTOHSCROLL -END - -IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "¼­ºê¸¶¿îÆ®" -FONT 9, "±¼¸²" -BEGIN - LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "Ãß°¡ ",IDC_ADD,202,20,45,14 - PUSHBUTTON "»èÁ¦",IDC_DELETE,202,39,45,14,WS_DISABLED - PUSHBUTTON "º¯°æ",IDC_CHANGE,202,58,45,14,WS_DISABLED - LTEXT "¼­ºê¸¶¿îÆ®:",IDC_STATIC,10,10,50,8 - PUSHBUTTON "È®ÀÎ",IDOK,202,145,45,14 - PUSHBUTTON "Ãë¼Ò",IDCANCEL,202,163,45,14 -END - -IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "¼­ºê¸¶¿îÆ® Ãß°¡" -FONT 9, "±¼¸²" -BEGIN - EDITTEXT IDC_SHARE_NAME,62,8,163,12,ES_AUTOHSCROLL - EDITTEXT IDC_PATH_NAME,62,23,163,12,ES_AUTOHSCROLL - PUSHBUTTON "È®ÀÎ",IDOK,22,53,45,14 - PUSHBUTTON "Ãë¼Ò",IDCANCEL,92,53,45,14 - PUSHBUTTON "µµ¿ò¸»",9,167,53,45,14 - LTEXT "°øÀ¯ À̸§:",IDC_STATIC,18,10,37,8 - LTEXT "°æ·Î À̸§:",IDC_STATIC,19,25,39,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE -BEGIN - IDD_SERVERSTATUS, DIALOG - BEGIN - RIGHTMARGIN, 171 - END - - IDD_AUTHENTICATION, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 278 - TOPMARGIN, 7 - BOTTOMMARGIN, 151 - END - - IDD_KLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 162 - TOPMARGIN, 7 - BOTTOMMARGIN, 86 - END - - IDD_UNLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 178 - TOPMARGIN, 7 - BOTTOMMARGIN, 56 - END - - IDD_SUBMTINFO, DIALOG - BEGIN - LEFTMARGIN, 10 - RIGHTMARGIN, 247 - BOTTOMMARGIN, 177 - END - - IDD_ADD_SUBMOUNT, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 25 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE DISCARDABLE -BEGIN - ID_ACL_CLEAN "fs cleanacl" - ID_ACL_COPY "fs copyacl" - ID_ACL_LIST "fs listacl" - ID_ACL_SET "fs setacl" - ID_VOLUME_CHECK "fs checkvolumes" - ID_VOLUME_DISKFREE "fs diskfree" - ID_VOLUME_EXAMINE "fs examine" - ID_VOLUME_FLUSH "fs flushvolume" - ID_VOLUME_QUOTA_BRIEF "fs quota" - ID_VOLUME_QUOTA_FULL "fs listquota" - ID_VOLUME_QUOTA_SET "fs setvol" - ID_VOLUME_SET "fs setvol" -END - -STRINGTABLE DISCARDABLE -BEGIN - ID_FLUSH "fs flush" - ID_WHEREIS "fs whereis" - ID_SHOWCELL "fs whichcell" - ID_MOUNTPOINT_SHOW "fs lsmount" - ID_MOUNTPOINT_REMOVE "fs rmmount" - ID_SHOW_SERVER "fs whereis" - ID_AUTHENTICATE "AFS·Î ·Î±×ÀÎ ¶Ç´Â AFS¿¡¼­ ·Î±× ¾Æ¿ô" - ID_SERVER_STATUS "¼­¹ö È®ÀÎ" - ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" - ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" - ID_MOUNTPOINT_MAKE "fs mkmount" - IDS_FLUSH_FAILED "Ȱ¼ºÈ­µÈ %o ÆÄÀÏÀ» Ç÷¯½¬ÇÒ ¼ö ¾ø½À´Ï´Ù" - IDS_FLUSH_ERROR "%o ÆÄÀÏ Ç÷¯½¬ ¿À·ù: %s" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_FLUSH_OK "¼±ÅÃµÈ ÆÄÀÏÀ» Ç÷¯½¬Çß½À´Ï´Ù" - IDS_CANT_GET_CELL "¼¿ ÆÇº° ¿À·ù:" - IDS_FLUSH_VOLUME_ERROR "%o¿¡ ´ëÇÑ º¼·ý Ç÷¯½¬ ¿À·ù: %s" - IDS_FLUSH_VOLUME_OK "º¼·ýÀÌ Ç÷¯½¬µÇ¾ú½À´Ï´Ù" - IDS_WHERE_IS "%o ÆÄÀÏÀÌ %s È£½ºÆ®¿¡ ÀÖ½À´Ï´Ù" - IDS_CLEANACL_NOT_SUPPORTED - "%o ÆÄÀÏ¿¡ ´ëÇÑ ACLÀ» Á¤¸®ÇÒ ¼ö ¾ø½À´Ï´Ù. ACL Á¤¸®´Â DFS ¾×¼¼½º ¸ñ·Ï¿¡¼­ Áö¿øµÇÁö ¾Ê½À´Ï´Ù" - IDS_ACL_IS_FINE "%o¿¡ ´ëÇÑ ¾×¼¼½º ¸ñ·ÏÀÌ Á¦´ë·Î ÀÛ¼ºµÇ¾ú½À´Ï´Ù" - IDS_CLEANACL_INVALID_ARG - "%o ÆÄÀÏ¿¡ ´ëÇÑ ACLÀ» Á¤¸®ÇÒ ¼ö ¾ø½À´Ï´Ù. À¯È¿ÇÏÁö ¾ÊÀº Àμö, °¡´ÉÇÑ ¿øÀÎÀº ´ÙÀ½°ú °°½À´Ï´Ù. ÆÄÀÏÀÌ ¾ø°Å³ª ¾×¼¼½º Á¦¾î ¸ñ·Ï¿¡ »ç¿ëÀÚ°¡ ³Ê¹« ¸¹½À´Ï´Ù" - IDS_ANY_STRING "%o" - IDS_CLEANACL_DONE "¸ðÈ£ÇÑ ACL ÀÔ·Â Ç׸ñÀº »èÁ¦µÇ¾ú½À´Ï´Ù." - ID_SUBMOUNTS "AFS ¼­ºê¸¶¿îÆ®¸¦ ÀÛ¼ºÇϰųª »èÁ¦ÇϽʽÿÀ" - IDS_GETRIGHTS_ERROR "%o µð·ºÅ丮¿¡ ´ëÇÑ ¾×¼¼½º ¸ñ·ÏÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù: %o" - IDS_DFSACL_ERROR "ÀÌ ¸í·ÉÀ¸·Î DFS ACLÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù" - IDS_SAVE_ACL_ERROR "%o¿¡ ´ëÇÑ ACLÀ» ÀúÀåÇÒ ¼ö ¾ø½À´Ï´Ù: %o" - IDS_SAVE_ACL_EINVAL_ERROR - "%o¿¡ ´ëÇÑ ACLÀ» ÀúÀåÇÒ ¼ö ¾ø½À´Ï´Ù. À¯È¿ÇÏÁö ¾ÊÀº Àμö ¹× °¡´ÉÇÑ ¿øÀÎÀº ´ÙÀ½°ú °°½À´Ï´Ù. ÆÄÀÏÀÌ AFS¿¡ ¾ø°Å³ª ¾×¼¼½º Á¦¾î ¸ñ·Ï¿¡ »ç¿ëÀÚ°¡ ³Ê¹« ¸¹°Å³ª ¶Ç´Â ¾ø´Â »ç¿ëÀÚ¸¦ ¾×¼¼½º Á¦¾î ¸ñ·Ï¿¡ Ãß°¡ÇÏ·Á°í Çß½À´Ï´Ù." - IDS_ACL_READ_ERROR "%o¿¡ ´ëÇÑ ACLÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù: %o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_NO_DFS_COPY_ACL "ACLÀ» %o µð·ºÅ丮·Î º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù. DFS ¾×¼¼½º ¸ñ·Ï¿¡¼­´Â ACL º¹»ç¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù" - IDS_COPY_ACL_EINVAL_ERROR - "ACLÀ» %o µð·ºÅ丮·Î º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù. À¯È¿ÇÏÁö ¾ÊÀº Àμö ¹× °¡´ÉÇÑ ¿øÀÎÀº ´ÙÀ½°ú °°½À´Ï´Ù. ÆÄÀÏÀÌ AFS¿¡ ¾ø½À´Ï´Ù." - IDS_COPY_ACL_ERROR "ACLÀ» %o¿¡ º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù: %o" - IDS_NOT_MOUNT_POINT_ERROR "%oÀº(´Â) ¸¶¿îÆ® Æ÷ÀÎÆ®°¡ ¾Æ´Õ´Ï´Ù." - IDS_LIST_MOUNT_POINT_ERROR "¿À·ù: %o" - IDS_MAKE_MP_NOT_AFS_ERROR - "¸¶¿îÆ® Æ÷ÀÎÆ®´Â AFS ÆÄÀÏ ½Ã½ºÅÛ ³»¿¡ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù" - IDS_MOUNT_POINT_ERROR "¸¶¿îÆ® Æ÷ÀÎÆ® ÀÛ¼º ¿À·ù: %o" - IDS_ERROR "¿À·ù: %o" - IDS_DELETED "»èÁ¦µÇ¾ú½À´Ï´Ù" - IDS_SET_QUOTA_ERROR "ÇÒ´ç·® ¼³Á¤ ¿À·ù: %o" - ID_SUBMOUNTS_CREATE "AFS ¼­ºê¸¶¿îÆ® ÀÛ¼º" - ID_SUBMOUNTS_EDIT "AFS ¼­ºê¸¶¿îÆ® Ãß°¡, º¯°æ ¶Ç´Â »èÁ¦" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_CHECK_SERVERS_ERROR "%o ÆÄÀÏ ¼­¹ö ±â°èÀÇ »óÅ ȮÀÎ ¿À·ù" - IDS_ALL_SERVERS_RUNNING "¸ðµç ¼­¹ö°¡ ½ÇÇà ÁßÀÔ´Ï´Ù." - IDS_CHECK_VOLUMES_OK "¸ðµç º¼·ý ID/À̸§ ¸ÊÇÎÀÌ È®ÀεǾú½À´Ï´Ù." - IDS_CHECK_VOLUMES_ERROR "º¼·ý ID/À̸§ ¸ÊÇÎ È®ÀÎ ¿À·ù: %o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_ACL_ENTRY_NAME_IN_USE - "¼±ÅÃÇÑ À̸§ÀÌ ÀÌ¹Ì »ç¿ë ÁßÀÔ´Ï´Ù. ´Ù¸¥ À̸§À» ÀÔ·ÂÇϽʽÿÀ." - IDS_REALLY_DEL_MOUNT_POINTS "¼±ÅÃµÈ ¸¶¿îÆ® Æ÷ÀÎÆ®¸¦ Á¦°ÅÇϽðڽÀ´Ï±î?" - IDS_DIR_DOES_NOT_EXIST_ERROR "'%o' µð·ºÅ丮°¡ ¾ø½À´Ï´Ù." - IDS_CLEANACL_MSG "¸ðÈ£ÇÑ ACLÀº »èÁ¦µË´Ï´Ù." - IDS_COPY_ACL_OK "ACLÀÌ º¹»çµÇ¾ú½À´Ï´Ù." - IDS_GET_TOKENS_NO_AFS_SERVICE - "ÅäÅ« Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù. AFS ¼­ºñ½º°¡ ½ÃÀÛµÇÁö ¾Ê¾ÒÀ» ¼ö ÀÖ½À´Ï´Ù." - IDS_GET_TOKENS_UNEXPECTED_ERROR - "ÅäÅ« Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù. ¿¹±âÄ¡ ¸øÇÑ ¿À·ù ¹ß»ý, ÄÚµå %d." - IDS_GET_TOKENS_UNEXPECTED_ERROR2 - "ÅäÅ« Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù. ¿¹±âÄ¡ ¸øÇÑ ¿À·ù ¹ß»ý, ¼­ºñ½º %s.%s.%s, ÄÚµå %d." - IDS_ENTER_QUOTA "À¯È¿ÇÑ ÇÒ´ç·®À» ÀÔ·ÂÇϽʽÿÀ." - IDS_AUTHENTICATION_ITEM "ÀÎÁõ(&A)..." - IDS_ACLS_ITEM "¾×¼¼½º Á¦¾î ¸ñ·Ï(&O)..." - IDS_VOL_PART_ITEM "º¼·ý/ÆÄƼ¼Ç(&V)" - IDS_VOL_PART_PROPS_ITEM "Ư¼º(&P)" - IDS_VOL_PART_REFRESH_ITEM "À̸§/ID ¸ÊÇÎ »õ·Î °íħ(&R)" - IDS_MOUNT_POINT_ITEM "¸¶¿îÆ® Æ÷ÀÎÆ®(&M)" - IDS_MP_SHOW_ITEM "Ç¥½Ã(&S)..." -END - -STRINGTABLE DISCARDABLE -BEGIN - AFX_IDS_APP_TITLE "AFS Ŭ¶óÀ̾ðÆ®" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_MP_REMOVE_ITEM "Á¦°Å(&R)..." - IDS_MP_MAKE_ITEM "ÀÛ¼º(&M)..." - IDS_FLUSH_FILE_DIR_ITEM "ÆÄÀÏ/µð·ºÅ丮 Ç÷¯½¬(&F)" - IDS_FLUSH_VOLUME_ITEM "º¼·ý Ç÷¯½¬(&U)" - IDS_SHOW_FILE_SERVERS_ITEM "ÆÄÀÏ ¼­¹ö Ç¥½Ã(&F)..." - IDS_SHOW_CELL_ITEM "¼¿ Ç¥½Ã(&C)..." - IDS_SHOW_SERVER_STATUS_ITEM "¼­¹ö »óÅ ǥ½Ã ..." - IDS_AFS_ITEM "AFS(&A)" - IDS_SUBMOUNTS_ITEM "¼­ºê¸¶¿îÆ®(&B)" - IDS_GET_SUBMT_INFO_ERROR - "%o °øÀ¯ À̸§¿¡ ´ëÇÑ ¼­ºê¸¶¿îÆ® Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù." - IDS_REALLY_DELETE_SUBMT "%o °øÀ¯ À̸§À» »èÁ¦ÇϽðڽÀ´Ï±î?" - IDS_SUBMT_SAVE_FAILED "¼­ºê¸¶¿îÆ® µ¥ÀÌÅͺ£À̽º¸¦ º¯°æÇÏ´Â µ¥ ½ÇÆÐÇß½À´Ï´Ù." - IDS_SUBMOUNTS_CREATE_ITEM "Ãß°¡(&A)" - IDS_SUBMOUNTS_EDIT_ITEM "ÆíÁý(&E)..." - IDS_EDIT_PATH_NAME "°æ·Î À̸§ ÆíÁý" - IDS_SHOW_CELL "¼¿ Ç¥½Ã" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_SHOW_CELL_COLUMN "¼¿" - IDS_SHOW_FS "ÆÄÀÏ ¼­¹ö Ç¥½Ã" - IDS_SHOW_FS_COLUMN "ÆÄÀÏ ¼­¹ö" - IDS_REMOVE_MP "¸¶¿îÆ® Æ÷ÀÎÆ® Á¦°Å" - IDS_REMOVE_MP_COLUMN "°á°ú" -END - -#endif // Korean resources -///////////////////////////////////////////////////////////////////////////// - - - -#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_KOR) -#ifdef _WIN32 -LANGUAGE 18, 1 -#endif -#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources -#include "afxres.rc" // Standard components -#endif -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Korean resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR) +#ifdef _WIN32 +LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT +#endif //_WIN32 + +#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_KOR)\r\n" + "#ifdef _WIN32\r\n" + "LANGUAGE 18, 1\r\n" + "#endif\r\n" + "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" + "#include ""afxres.rc"" // Standard components\r\n" + "#endif\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU_FILE MENU DISCARDABLE +BEGIN + MENUITEM "ÀÎÁõ...", IDM_AUTHENTICATION + MENUITEM "¾×¼¼½º Á¦¾î ¸ñ·Ï...", IDM_ACL_SET + POPUP "º¼·ý/ÆÄƼ¼Ç(&V)" + BEGIN + MENUITEM "Ư¼º(&P)...", IDM_VOLUME_PROPERTIES + MENUITEM "À̸§/ID ¸ÊÇÎ »õ·Î °íħ(&R)", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE + + END + POPUP "¸¶¿îÆ® Æ÷ÀÎÆ®(&M)" + BEGIN + MENUITEM "Ç¥½Ã(&S)...", IDM_MOUNTPOINT_SHOW + MENUITEM "Á¦°Å(&R)...", IDM_MOUNTPOINT_REMOVE + MENUITEM "ÀÛ¼º(&M)...", IDM_MOUNTPOINT_MAKE + END + MENUITEM "ÆÄÀÏ/µð·ºÅ丮 Ç÷¯½¬(&F)", IDM_FLUSH + MENUITEM "º¼·ý Ç÷¯½¬(&U)", IDM_FLUSH_VOLUME + MENUITEM "ÆÄÀÏ ¼­¹ö Ç¥½Ã(&F)...", IDM_SHOW_SERVER + MENUITEM "¼¿ Ç¥½Ã(&C)...", IDM_SHOWCELL + MENUITEM "¼­¹ö »óÅ ǥ½Ã ...", IDM_SERVER_STATUS + MENUITEM "Remove SymLink", IDM_REMOVE_SYMLINK +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "º¼·ý Á¤º¸" +FONT 9, "±¼¸²" +BEGIN + DEFPUSHBUTTON "È®ÀÎ",IDOK,60,150,50,14,WS_DISABLED + PUSHBUTTON "µµ¿ò¸»",9,240,150,50,14 + PUSHBUTTON "Ãë¼Ò",IDCANCEL,150,150,50,14 + LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + LTEXT "ÆÄÀÏ/µð·ºÅ丮",IDC_STATIC,10,9,56,8 + LTEXT "À̸§",IDC_STATIC,90,10,20,8 + LTEXT "ÇÒ´ç·®",IDC_STATIC,225,10,29,8 + LTEXT "»ç¿ë",IDC_STATIC,270,10,24,8 + LTEXT "»ç¿ë ¹éºÐÀ²",IDC_STATIC,298,10,38,8 + LTEXT "ID",IDC_STATIC,171,10,14,8 + LTEXT "»õ ÇÒ´ç·®:",IDC_STATIC,10,127,40,10 + EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED + PUSHBUTTON "ÆÄƼ¼Ç Á¤º¸ Ç¥½Ã",IDC_PARTITION_INFO,205,125,69,14, + WS_DISABLED + LTEXT "KB",IDC_STATIC,118,127,25,10 + CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | + UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | + WS_DISABLED,106,125,10,14 +END + +IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "AFS ACL ¼³Á¤" +FONT 9, "±¼¸²" +BEGIN + LTEXT "",IDC_DIR_NAME,51,12,259,10 + LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + CONTROL "r - Àбâ",IDC_READ,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,52,55,10 + CONTROL "w - ¾²±â",IDC_WRITE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,111,55,10 + CONTROL "l - Á¶È¸",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,66,55,10 + CONTROL "d - »èÁ¦",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,96,55,10 + CONTROL "i - »ðÀÔ",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,81,55,10 + CONTROL "k - Àá±Ý",IDC_LOCK,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,126,55,10 + CONTROL "a - °ü¸®ÀÚ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,141,55,10 + PUSHBUTTON "Ãß°¡(&A)...",IDC_ADD,270,45,45,14 + PUSHBUTTON "Á¦°Å(&R)",IDC_REMOVE,270,70,45,14,WS_DISABLED + PUSHBUTTON "Á¤¸®(&C)",IDC_CLEAN,270,95,45,14 + DEFPUSHBUTTON "È®ÀÎ(&O)",IDOK,270,150,45,14 + PUSHBUTTON "Ãë¼Ò(&N)",IDCANCEL,270,175,45,14 + PUSHBUTTON "µµ¿ò¸»(&H)",9,270,201,45,14 + LTEXT "µð·ºÅ丮:",IDC_STATIC,15,12,41,10 + GROUPBOX "±ÇÇÑ",IDC_STATIC,195,41,65,115 + LTEXT "±àÁ¤",IDC_STATIC,10,30,23,8 + LTEXT "À̸§",IDC_COLUMN_3,69,38,20,8 + LTEXT "±ÇÇÑ",IDC_STATIC,10,38,37,8 + LTEXT "ºÎÁ¤",IDC_STATIC,10,125,30,8 + LTEXT "±ÇÇÑ",IDC_STATIC,10,133,38,8 + LTEXT "À̸§",IDC_COLUMN_4,69,133,20,8 + GROUPBOX "",IDC_STATIC,10,5,305,20 + PUSHBUTTON "º¹»ç(&P)...",IDC_COPY,270,120,45,14 +END + +IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "¸¶¿îÆ® Æ÷ÀÎÆ® ÀÛ¼º" +FONT 9, "±¼¸²" +BEGIN + EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "È®ÀÎ",IDOK,20,81,50,14 + PUSHBUTTON "Ãë¼Ò",IDCANCEL,85,81,50,14 + PUSHBUTTON "µµ¿ò¸»",9,150,81,50,14 + LTEXT "µð·ºÅ丮:",IDC_STATIC,5,12,30,10 + LTEXT "º¼·ý:",IDC_STATIC,12,26,25,10 + LTEXT "¼¿:",IDC_STATIC,19,41,15,10 + GROUPBOX "",IDC_STATIC,40,52,115,20 + LTEXT "¿É¼Ç:",IDC_STATIC,12,57,24,10 + CONTROL "ÀϹÝ",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,45,59,41,10 + CONTROL "Àбâ/¾²±â",IDC_RW,"Button",BS_AUTORADIOBUTTON,100,59,50, + 10 +END + +IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ACL Ç׸ñ Ãß°¡" +FONT 9, "±¼¸²" +BEGIN + EDITTEXT IDC_NAME,35,70,190,12,ES_AUTOHSCROLL + CONTROL "r - Àбâ",IDC_READ,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,15,45,10 + CONTROL "l - Á¶È¸",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,25,50,10 + CONTROL "i - »ðÀÔ",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,35,50,10 + CONTROL "d - »èÁ¦",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,45,50,10 + CONTROL "w - ¾²±â",IDC_WRITE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,15,50,10 + CONTROL "k - Àá±Ý",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,25,55,10 + CONTROL "a - °ü¸®ÀÚ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,35,60,10 + CONTROL "±àÁ¤ Ç׸ñ",IDC_ADD_NORMAL_ENTRY,"Button", + BS_AUTORADIOBUTTON | WS_GROUP,161,16,54,10 + CONTROL "ºÎÁ¤ Ç׸ñ",IDC_ADD_NEGATIVE_ENTRY,"Button", + BS_AUTORADIOBUTTON,161,26,59,10 + PUSHBUTTON "È®ÀÎ",IDOK,22,90,50,14 + PUSHBUTTON "Ãë¼Ò",IDCANCEL,92,90,50,14 + PUSHBUTTON "µµ¿ò¸»",9,162,90,50,14 + LTEXT "À̸§:",IDC_STATIC,10,72,20,8 + GROUPBOX "±ÇÇÑ",IDC_STATIC,10,5,135,55 + GROUPBOX "Ç׸ñ À¯Çü",IDC_STATIC,155,6,70,34 +END + +IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ÆÄƼ¼Ç Á¤º¸" +FONT 9, "±¼¸²" +BEGIN + EDITTEXT IDC_TOTAL_SIZE,67,9,40,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_BLOCKS_FREE,67,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_PERCENT_USED,67,39,40,12,ES_AUTOHSCROLL | + WS_DISABLED | NOT WS_TABSTOP + DEFPUSHBUTTON "´Ý±â",IDOK,14,62,40,14 + PUSHBUTTON "µµ¿ò¸»",9,69,62,40,14 + LTEXT "»ç¿ë %:",IDC_STATIC,5,42,52,8 + LTEXT "»ç¿ë°¡´ÉÇÑ ºí·°:",IDC_STATIC,5,27,54,8 + LTEXT "ÃÑ Å©±â:",IDC_STATIC,7,12,36,8 + LTEXT "KB",IDC_STATIC,109,11,11,8 + LTEXT "K",IDC_STATIC,109,27,8,8 +END + +IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ACL º¹»ç" +FONT 9, "±¼¸²" +BEGIN + EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY + EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL + PUSHBUTTON "ã¾Æº¸±â",IDC_BROWSE,195,25,35,15 + CONTROL "ÇöÀç ÀÔ·Â Ç׸ñ Áö¿ì±â:",IDC_CLEAR,"Button", + BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,10,46,82,10 + DEFPUSHBUTTON "È®ÀÎ",IDOK,20,65,50,14,WS_DISABLED + PUSHBUTTON "Ãë¼Ò",IDCANCEL,95,65,50,14 + PUSHBUTTON "µµ¿ò¸»",9,170,65,50,14 + LTEXT "º¹»ç ¿øº»:",IDC_STATIC,13,13,35,8 + LTEXT "º¹»ç ´ë»ó:",IDC_STATIC,13,29,37,8 +END + +IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "À§Ä¡" +FONT 9, "±¼¸²" +BEGIN + DEFPUSHBUTTON "´Ý±â",IDOK,65,145,50,14 + PUSHBUTTON "µµ¿ò¸»",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "ÆÄÀÏ/µð·ºÅ丮",IDC_STATIC,10,10,59,8 + LTEXT "ÆÄÀÏ ¼­¹ö",IDC_STATIC,128,10,44,8 +END + +IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "°á°ú" +FONT 9, "±¼¸²" +BEGIN + DEFPUSHBUTTON "´Ý±â",IDOK,65,145,50,14 + PUSHBUTTON "µµ¿ò¸»",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "ÆÄÀÏ/µð·ºÅ丮",-1,10,10,45,8 + LTEXT "°á°ú",IDC_RESULTS_LABEL,128,10,44,8 +END + +IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "¸¶¿îÆ® Æ÷ÀÎÆ®" +FONT 9, "±¼¸²" +BEGIN + DEFPUSHBUTTON "´Ý±â",IDOK,65,145,50,14 + PUSHBUTTON "µµ¿ò¸»",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "ÆÄÀÏ",IDC_STATIC,10,11,13,8 + LTEXT "º¼·ý",IDC_STATIC,75,11,27,8 + LTEXT "¼¿",IDC_STATIC,155,11,15,8 + LTEXT "À¯Çü",IDC_STATIC,230,11,20,8 +END + +IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "¼­¹ö Áß´Ü" +FONT 9, "±¼¸²" +BEGIN + LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL + LTEXT "ÀÌ ¼­¹ö´Â ¾ÆÁ÷ ½ÃÀÛµÇÁö ¾ÊÀº »óÅÂÀÔ´Ï´Ù",IDC_STATIC,10, + 10,186,8 + DEFPUSHBUTTON "È®ÀÎ",IDOK,82,140,45,15 +END + +IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "¼­¹ö »óÅÂ" +FONT 9, "±¼¸²" +BEGIN + CONTROL "Áö¿ª ¼¿",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | + WS_GROUP | WS_TABSTOP,20,20,50,8 + CONTROL "ÁöÁ¤µÈ ¼¿:",IDC_SPECIFIEDCELL,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,60,10 + CONTROL "¸ðµç ¼¿",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON | + WS_TABSTOP,21,69,45,10 + CONTROL "¼­¹ö »óŸ¦ Á¶»çÇÏÁö ¾ÊÀ½",IDC_DONTPROBESERVERS,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,24,87,112,10 + PUSHBUTTON "»óÅ ǥ½Ã",IDC_SHOWSTATUS,10,120,50,14 + GROUPBOX "¼¿",IDC_STATIC,10,5,160,105,WS_GROUP + GROUPBOX "",IDC_STATIC,20,80,137,20,WS_GROUP + EDITTEXT IDC_CELL_NAME,31,51,130,12,ES_AUTOHSCROLL + PUSHBUTTON "´Ý±â",IDCANCEL,65,120,50,14 + PUSHBUTTON "µµ¿ò¸»",9,120,120,50,14 +END + +IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ÀÎÁõ" +FONT 9, "±¼¸²" +BEGIN + LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + PUSHBUTTON "ÅäÅ« È®º¸",ID_GET_TOKENS,15,137,55,14 + PUSHBUTTON "ÅäÅ« ¹ö¸®±â",ID_DISCARD_TOKENS,80,137,55,14 + PUSHBUTTON "´Ý±â",IDCANCEL,145,137,55,14 + PUSHBUTTON "µµ¿ò¸»",9,215,137,55,14 + LTEXT "»ç¿ëÀÚ À̸§",IDC_STATIC,10,9,38,8 + LTEXT "¼¿ À̸§",IDC_STATIC,104,9,33,8 + LTEXT "¸¸±â",IDC_STATIC,222,9,32,8 +END + +IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "ÅäÅ« È®º¸" +FONT 9, "±¼¸²" +BEGIN + EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL + EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL + EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "È®ÀÎ",IDOK,20,70,35,14,WS_DISABLED + PUSHBUTTON "Ãë¼Ò",IDCANCEL,70,70,35,14 + PUSHBUTTON "µµ¿ò¸»",9,120,70,35,14 + LTEXT "À̸§:",IDC_STATIC,17,12,22,8 + LTEXT "¾ÏÈ£:",IDC_STATIC,17,32,20,8 + LTEXT "¼¿:",IDC_STATIC,24,52,15,8 +END + +IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "ÅäÅ« ¹ö¸®±â" +FONT 9, "±¼¸²", 0, 0, 0x1 +BEGIN + DEFPUSHBUTTON "È®ÀÎ",IDOK,25,40,35,14 + PUSHBUTTON "Ãë¼Ò",IDCANCEL,75,40,35,14 + PUSHBUTTON "µµ¿ò¸»",9,125,40,35,14 + LTEXT "¼¿:",IDC_STATIC,10,17,14,8 + EDITTEXT IDC_CELL_NAME,29,15,145,12,ES_AUTOHSCROLL +END + +IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "¼­ºê¸¶¿îÆ®" +FONT 9, "±¼¸²" +BEGIN + LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "Ãß°¡ ",IDC_ADD,202,20,45,14 + PUSHBUTTON "»èÁ¦",IDC_DELETE,202,39,45,14,WS_DISABLED + PUSHBUTTON "º¯°æ",IDC_CHANGE,202,58,45,14,WS_DISABLED + LTEXT "¼­ºê¸¶¿îÆ®:",IDC_STATIC,10,10,50,8 + PUSHBUTTON "È®ÀÎ",IDOK,202,145,45,14 + PUSHBUTTON "Ãë¼Ò",IDCANCEL,202,163,45,14 +END + +IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "¼­ºê¸¶¿îÆ® Ãß°¡" +FONT 9, "±¼¸²" +BEGIN + EDITTEXT IDC_SHARE_NAME,62,8,163,12,ES_AUTOHSCROLL + EDITTEXT IDC_PATH_NAME,62,23,163,12,ES_AUTOHSCROLL + PUSHBUTTON "È®ÀÎ",IDOK,22,53,45,14 + PUSHBUTTON "Ãë¼Ò",IDCANCEL,92,53,45,14 + PUSHBUTTON "µµ¿ò¸»",9,167,53,45,14 + LTEXT "°øÀ¯ À̸§:",IDC_STATIC,18,10,37,8 + LTEXT "°æ·Î À̸§:",IDC_STATIC,19,25,39,8 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_SERVERSTATUS, DIALOG + BEGIN + RIGHTMARGIN, 171 + END + + IDD_AUTHENTICATION, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 278 + TOPMARGIN, 7 + BOTTOMMARGIN, 151 + END + + IDD_KLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 162 + TOPMARGIN, 7 + BOTTOMMARGIN, 86 + END + + IDD_UNLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 178 + TOPMARGIN, 7 + BOTTOMMARGIN, 56 + END + + IDD_SUBMTINFO, DIALOG + BEGIN + LEFTMARGIN, 10 + RIGHTMARGIN, 247 + BOTTOMMARGIN, 177 + END + + IDD_ADD_SUBMOUNT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 25 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + ID_ACL_CLEAN "fs cleanacl" + ID_ACL_COPY "fs copyacl" + ID_ACL_LIST "fs listacl" + ID_ACL_SET "fs setacl" + ID_VOLUME_CHECK "fs checkvolumes" + ID_VOLUME_DISKFREE "fs diskfree" + ID_VOLUME_EXAMINE "fs examine" + ID_VOLUME_FLUSH "fs flushvolume" + ID_VOLUME_QUOTA_BRIEF "fs quota" + ID_VOLUME_QUOTA_FULL "fs listquota" + ID_VOLUME_QUOTA_SET "fs setvol" + ID_VOLUME_SET "fs setvol" +END + +STRINGTABLE DISCARDABLE +BEGIN + ID_FLUSH "fs flush" + ID_WHEREIS "fs whereis" + ID_SHOWCELL "fs whichcell" + ID_MOUNTPOINT_SHOW "fs lsmount" + ID_MOUNTPOINT_REMOVE "fs rmmount" + ID_SHOW_SERVER "fs whereis" + ID_AUTHENTICATE "AFS·Î ·Î±×ÀÎ ¶Ç´Â AFS¿¡¼­ ·Î±× ¾Æ¿ô" + ID_SERVER_STATUS "¼­¹ö È®ÀÎ" + ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" + ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" + ID_MOUNTPOINT_MAKE "fs mkmount" + IDS_FLUSH_FAILED "Ȱ¼ºÈ­µÈ %o ÆÄÀÏÀ» Ç÷¯½¬ÇÒ ¼ö ¾ø½À´Ï´Ù" + IDS_FLUSH_ERROR "%o ÆÄÀÏ Ç÷¯½¬ ¿À·ù: %s" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_FLUSH_OK "¼±ÅÃµÈ ÆÄÀÏÀ» Ç÷¯½¬Çß½À´Ï´Ù" + IDS_CANT_GET_CELL "¼¿ ÆÇº° ¿À·ù:" + IDS_FLUSH_VOLUME_ERROR "%o¿¡ ´ëÇÑ º¼·ý Ç÷¯½¬ ¿À·ù: %s" + IDS_FLUSH_VOLUME_OK "º¼·ýÀÌ Ç÷¯½¬µÇ¾ú½À´Ï´Ù" + IDS_WHERE_IS "%o ÆÄÀÏÀÌ %s È£½ºÆ®¿¡ ÀÖ½À´Ï´Ù" + IDS_CLEANACL_NOT_SUPPORTED + "%o ÆÄÀÏ¿¡ ´ëÇÑ ACLÀ» Á¤¸®ÇÒ ¼ö ¾ø½À´Ï´Ù. ACL Á¤¸®´Â DFS ¾×¼¼½º ¸ñ·Ï¿¡¼­ Áö¿øµÇÁö ¾Ê½À´Ï´Ù" + IDS_ACL_IS_FINE "%o¿¡ ´ëÇÑ ¾×¼¼½º ¸ñ·ÏÀÌ Á¦´ë·Î ÀÛ¼ºµÇ¾ú½À´Ï´Ù" + IDS_CLEANACL_INVALID_ARG + "%o ÆÄÀÏ¿¡ ´ëÇÑ ACLÀ» Á¤¸®ÇÒ ¼ö ¾ø½À´Ï´Ù. À¯È¿ÇÏÁö ¾ÊÀº Àμö, °¡´ÉÇÑ ¿øÀÎÀº ´ÙÀ½°ú °°½À´Ï´Ù. ÆÄÀÏÀÌ ¾ø°Å³ª ¾×¼¼½º Á¦¾î ¸ñ·Ï¿¡ »ç¿ëÀÚ°¡ ³Ê¹« ¸¹½À´Ï´Ù" + IDS_ANY_STRING "%o" + IDS_CLEANACL_DONE "¸ðÈ£ÇÑ ACL ÀÔ·Â Ç׸ñÀº »èÁ¦µÇ¾ú½À´Ï´Ù." + ID_SUBMOUNTS "AFS ¼­ºê¸¶¿îÆ®¸¦ ÀÛ¼ºÇϰųª »èÁ¦ÇϽʽÿÀ" + IDS_GETRIGHTS_ERROR "%o µð·ºÅ丮¿¡ ´ëÇÑ ¾×¼¼½º ¸ñ·ÏÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù: %o" + IDS_DFSACL_ERROR "ÀÌ ¸í·ÉÀ¸·Î DFS ACLÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù" + IDS_SAVE_ACL_ERROR "%o¿¡ ´ëÇÑ ACLÀ» ÀúÀåÇÒ ¼ö ¾ø½À´Ï´Ù: %o" + IDS_SAVE_ACL_EINVAL_ERROR + "%o¿¡ ´ëÇÑ ACLÀ» ÀúÀåÇÒ ¼ö ¾ø½À´Ï´Ù. À¯È¿ÇÏÁö ¾ÊÀº Àμö ¹× °¡´ÉÇÑ ¿øÀÎÀº ´ÙÀ½°ú °°½À´Ï´Ù. ÆÄÀÏÀÌ AFS¿¡ ¾ø°Å³ª ¾×¼¼½º Á¦¾î ¸ñ·Ï¿¡ »ç¿ëÀÚ°¡ ³Ê¹« ¸¹°Å³ª ¶Ç´Â ¾ø´Â »ç¿ëÀÚ¸¦ ¾×¼¼½º Á¦¾î ¸ñ·Ï¿¡ Ãß°¡ÇÏ·Á°í Çß½À´Ï´Ù." + IDS_ACL_READ_ERROR "%o¿¡ ´ëÇÑ ACLÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù: %o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_NO_DFS_COPY_ACL "ACLÀ» %o µð·ºÅ丮·Î º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù. DFS ¾×¼¼½º ¸ñ·Ï¿¡¼­´Â ACL º¹»ç¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù" + IDS_COPY_ACL_EINVAL_ERROR + "ACLÀ» %o µð·ºÅ丮·Î º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù. À¯È¿ÇÏÁö ¾ÊÀº Àμö ¹× °¡´ÉÇÑ ¿øÀÎÀº ´ÙÀ½°ú °°½À´Ï´Ù. ÆÄÀÏÀÌ AFS¿¡ ¾ø½À´Ï´Ù." + IDS_COPY_ACL_ERROR "ACLÀ» %o¿¡ º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù: %o" + IDS_NOT_MOUNT_POINT_ERROR "%oÀº(´Â) ¸¶¿îÆ® Æ÷ÀÎÆ®°¡ ¾Æ´Õ´Ï´Ù." + IDS_LIST_MOUNT_POINT_ERROR "¿À·ù: %o" + IDS_MAKE_MP_NOT_AFS_ERROR + "¸¶¿îÆ® Æ÷ÀÎÆ®´Â AFS ÆÄÀÏ ½Ã½ºÅÛ ³»¿¡ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù" + IDS_MOUNT_POINT_ERROR "¸¶¿îÆ® Æ÷ÀÎÆ® ÀÛ¼º ¿À·ù: %o" + IDS_ERROR "¿À·ù: %o" + IDS_DELETED "»èÁ¦µÇ¾ú½À´Ï´Ù" + IDS_SET_QUOTA_ERROR "ÇÒ´ç·® ¼³Á¤ ¿À·ù: %o" + ID_SUBMOUNTS_CREATE "AFS ¼­ºê¸¶¿îÆ® ÀÛ¼º" + ID_SUBMOUNTS_EDIT "AFS ¼­ºê¸¶¿îÆ® Ãß°¡, º¯°æ ¶Ç´Â »èÁ¦" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_CHECK_SERVERS_ERROR "%o ÆÄÀÏ ¼­¹ö ±â°èÀÇ »óÅ ȮÀÎ ¿À·ù" + IDS_ALL_SERVERS_RUNNING "¸ðµç ¼­¹ö°¡ ½ÇÇà ÁßÀÔ´Ï´Ù." + IDS_CHECK_VOLUMES_OK "¸ðµç º¼·ý ID/À̸§ ¸ÊÇÎÀÌ È®ÀεǾú½À´Ï´Ù." + IDS_CHECK_VOLUMES_ERROR "º¼·ý ID/À̸§ ¸ÊÇÎ È®ÀÎ ¿À·ù: %o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ACL_ENTRY_NAME_IN_USE + "¼±ÅÃÇÑ À̸§ÀÌ ÀÌ¹Ì »ç¿ë ÁßÀÔ´Ï´Ù. ´Ù¸¥ À̸§À» ÀÔ·ÂÇϽʽÿÀ." + IDS_REALLY_DEL_MOUNT_POINTS "¼±ÅÃµÈ ¸¶¿îÆ® Æ÷ÀÎÆ®¸¦ Á¦°ÅÇϽðڽÀ´Ï±î?" + IDS_DIR_DOES_NOT_EXIST_ERROR "'%o' µð·ºÅ丮°¡ ¾ø½À´Ï´Ù." + IDS_CLEANACL_MSG "¸ðÈ£ÇÑ ACLÀº »èÁ¦µË´Ï´Ù." + IDS_COPY_ACL_OK "ACLÀÌ º¹»çµÇ¾ú½À´Ï´Ù." + IDS_GET_TOKENS_NO_AFS_SERVICE + "ÅäÅ« Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù. AFS ¼­ºñ½º°¡ ½ÃÀÛµÇÁö ¾Ê¾ÒÀ» ¼ö ÀÖ½À´Ï´Ù." + IDS_GET_TOKENS_UNEXPECTED_ERROR + "ÅäÅ« Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù. ¿¹±âÄ¡ ¸øÇÑ ¿À·ù ¹ß»ý, ÄÚµå %d." + IDS_GET_TOKENS_UNEXPECTED_ERROR2 + "ÅäÅ« Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù. ¿¹±âÄ¡ ¸øÇÑ ¿À·ù ¹ß»ý, ¼­ºñ½º %s.%s.%s, ÄÚµå %d." + IDS_ENTER_QUOTA "À¯È¿ÇÑ ÇÒ´ç·®À» ÀÔ·ÂÇϽʽÿÀ." + IDS_AUTHENTICATION_ITEM "ÀÎÁõ(&A)..." + IDS_ACLS_ITEM "¾×¼¼½º Á¦¾î ¸ñ·Ï(&O)..." + IDS_VOL_PART_ITEM "º¼·ý/ÆÄƼ¼Ç(&V)" + IDS_VOL_PART_PROPS_ITEM "Ư¼º(&P)" + IDS_VOL_PART_REFRESH_ITEM "À̸§/ID ¸ÊÇÎ »õ·Î °íħ(&R)" + IDS_MOUNT_POINT_ITEM "¸¶¿îÆ® Æ÷ÀÎÆ®(&M)" + IDS_MP_SHOW_ITEM "Ç¥½Ã(&S)..." +END + +STRINGTABLE DISCARDABLE +BEGIN + AFX_IDS_APP_TITLE "AFS Ŭ¶óÀ̾ðÆ®" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_MP_REMOVE_ITEM "Á¦°Å(&R)..." + IDS_MP_MAKE_ITEM "ÀÛ¼º(&M)..." + IDS_FLUSH_FILE_DIR_ITEM "ÆÄÀÏ/µð·ºÅ丮 Ç÷¯½¬(&F)" + IDS_FLUSH_VOLUME_ITEM "º¼·ý Ç÷¯½¬(&U)" + IDS_SHOW_FILE_SERVERS_ITEM "ÆÄÀÏ ¼­¹ö Ç¥½Ã(&F)..." + IDS_SHOW_CELL_ITEM "¼¿ Ç¥½Ã(&C)..." + IDS_SHOW_SERVER_STATUS_ITEM "¼­¹ö »óÅ ǥ½Ã ..." + IDS_AFS_ITEM "AFS(&A)" + IDS_SUBMOUNTS_ITEM "¼­ºê¸¶¿îÆ®(&B)" + IDS_GET_SUBMT_INFO_ERROR + "%o °øÀ¯ À̸§¿¡ ´ëÇÑ ¼­ºê¸¶¿îÆ® Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù." + IDS_REALLY_DELETE_SUBMT "%o °øÀ¯ À̸§À» »èÁ¦ÇϽðڽÀ´Ï±î?" + IDS_SUBMT_SAVE_FAILED "¼­ºê¸¶¿îÆ® µ¥ÀÌÅͺ£À̽º¸¦ º¯°æÇÏ´Â µ¥ ½ÇÆÐÇß½À´Ï´Ù." + IDS_SUBMOUNTS_CREATE_ITEM "Ãß°¡(&A)" + IDS_SUBMOUNTS_EDIT_ITEM "ÆíÁý(&E)..." + IDS_EDIT_PATH_NAME "°æ·Î À̸§ ÆíÁý" + IDS_SHOW_CELL "¼¿ Ç¥½Ã" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHOW_CELL_COLUMN "¼¿" + IDS_SHOW_FS "ÆÄÀÏ ¼­¹ö Ç¥½Ã" + IDS_SHOW_FS_COLUMN "ÆÄÀÏ ¼­¹ö" + IDS_REMOVE_MP "¸¶¿îÆ® Æ÷ÀÎÆ® Á¦°Å" + IDS_REMOVE_MP_COLUMN "°á°ú" +END + +#endif // Korean resources +///////////////////////////////////////////////////////////////////////////// + + + +#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_KOR) +#ifdef _WIN32 +LANGUAGE 18, 1 +#endif +#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources +#include "afxres.rc" // Standard components +#endif +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/WINNT/client_exp/lang/pt_BR/afs_shl_ext.rc b/src/WINNT/client_exp/lang/pt_BR/afs_shl_ext.rc index 3f54edaa0..663f02092 100644 --- a/src/WINNT/client_exp/lang/pt_BR/afs_shl_ext.rc +++ b/src/WINNT/client_exp/lang/pt_BR/afs_shl_ext.rc @@ -7,637 +7,638 @@ * directory or online at http://www.openafs.org/dl/license10.html */ -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.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 -#endif //_WIN32 - -#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" - "#endif\r\n" - "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" - "#include ""afxres.rc"" // Standard components\r\n" - "#endif\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU_FILE MENU DISCARDABLE -BEGIN - MENUITEM "Autenticação...", IDM_AUTHENTICATION - MENUITEM "Listas de Controle de Acesso...", IDM_ACL_SET - POPUP "&Volume/Partição" - BEGIN - MENUITEM "&Propriedades...", IDM_VOLUME_PROPERTIES - MENUITEM "&Atualizar mapa de nome/ID", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE - - END - POPUP "Ponto de &Montagem" - BEGIN - MENUITEM "E&xibir...", IDM_MOUNTPOINT_SHOW - MENUITEM "&Remover...", IDM_MOUNTPOINT_REMOVE - MENUITEM "&Fazer...", IDM_MOUNTPOINT_MAKE - END - MENUITEM "&Esvaziar Arquivo/Dir", IDM_FLUSH - MENUITEM "Esvaziar Vol&ume", IDM_FLUSH_VOLUME - MENUITEM "Mostrar Servidores de Ar&quivos...", IDM_SHOW_SERVER - MENUITEM "Mostrar &Célula...", IDM_SHOWCELL - MENUITEM "Mostrar &Status do Servidor...", IDM_SERVER_STATUS -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "Informações do Volume" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "OK",IDOK,60,150,50,14,WS_DISABLED - PUSHBUTTON "Ajuda",9,240,150,50,14 - PUSHBUTTON "Cancelar",IDCANCEL,150,150,50,14 - LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP - LTEXT "Arquivo/Diretório",IDC_STATIC,10,10,55,10 - LTEXT "Nome",IDC_STATIC,90,10,25,8 - LTEXT "Quota",IDC_STATIC,225,10,19,8 - LTEXT "Usado",IDC_STATIC,270,10,24,8 - LTEXT "%Usada",IDC_STATIC,305,10,29,8 - LTEXT "ID",IDC_STATIC,175,10,10,8 - LTEXT "Nova Quota:",IDC_STATIC,10,127,44,10 - EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED - PUSHBUTTON "Mostrar Informações da Partição",IDC_PARTITION_INFO,205, - 125,107,14,WS_DISABLED - LTEXT "KBytes",IDC_STATIC,118,127,25,10 - CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | - UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | - WS_DISABLED,106,125,10,14 -END - -IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Definir ACL do AFS" -FONT 8, "MS Sans Serif" -BEGIN - LTEXT "",IDC_DIR_NAME,51,12,259,10 - LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - CONTROL "r - Ler",IDC_READ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP, - 200,52,55,10 - CONTROL "w - Gravar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,111,55,10 - CONTROL "l - Procurar",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,66,55,10 - CONTROL "d - Excluir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,96,55,10 - CONTROL "i - Inserir",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,81,55,10 - CONTROL "k - Bloquear",IDC_LOCK,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,126,55,10 - CONTROL "a - Administrar",IDC_ADMINISTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,200,141,59,10 - PUSHBUTTON "&Incluir...",IDC_ADD,270,45,45,14 - PUSHBUTTON "&Remover",IDC_REMOVE,270,70,45,14,WS_DISABLED - PUSHBUTTON "&Limpar",IDC_CLEAN,270,95,45,14 - DEFPUSHBUTTON "&OK",IDOK,270,150,45,14 - PUSHBUTTON "Ca&ncelar",IDCANCEL,270,175,45,14 - PUSHBUTTON "&Ajuda",9,270,201,45,14 - LTEXT "Diretório:",IDC_STATIC,15,12,30,10 - GROUPBOX "Permissões",IDC_STATIC,195,41,68,115 - LTEXT "Permissões",IDC_STATIC,10,30,41,8 - LTEXT "Nome",IDC_COLUMN_3,69,38,20,8 - LTEXT "Normais",IDC_STATIC,10,38,37,8 - LTEXT "Permissões",IDC_STATIC,10,125,42,8 - LTEXT "Negativas",IDC_STATIC,10,133,38,8 - LTEXT "Nome",IDC_COLUMN_4,69,133,20,8 - GROUPBOX "",IDC_STATIC,10,5,305,20 - PUSHBUTTON "Co&piar...",IDC_COPY,270,120,45,14 -END - -IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Fazer Ponto de Montagem" -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "OK",IDOK,20,81,50,14 - PUSHBUTTON "Cancelar",IDCANCEL,85,81,50,14 - PUSHBUTTON "Ajuda",9,150,81,50,14 - LTEXT "Diretório:",IDC_STATIC,5,12,30,10 - LTEXT "Volume:",IDC_STATIC,5,28,25,10 - LTEXT "Célula:",IDC_STATIC,5,42,26,10 - GROUPBOX "",IDC_STATIC,41,52,137,20 - LTEXT "Opções:",IDC_STATIC,9,59,25,10 - CONTROL "Regular",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | - WS_GROUP,47,59,41,10 - CONTROL "Leitura/Gravação",IDC_RW,"Button",BS_AUTORADIOBUTTON, - 102,59,74,10 -END - -IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Incluir Entrada na ACL" -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_NAME,35,70,190,12,ES_AUTOHSCROLL - CONTROL "r - Ler",IDC_READ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP, - 20,15,45,10 - CONTROL "l - Procurar",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,25,50,10 - CONTROL "i - Inserir",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,35,50,10 - CONTROL "d - Excluir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,45,50,10 - CONTROL "w - Gravar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,15,50,10 - CONTROL "k - Bloquear",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,25,55,10 - CONTROL "a - Administrar",IDC_ADMINISTER,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,80,35,60,10 - CONTROL "Entrada Normal",IDC_ADD_NORMAL_ENTRY,"Button", - BS_AUTORADIOBUTTON | WS_GROUP,155,14,64,10 - CONTROL "Entrada negativa",IDC_ADD_NEGATIVE_ENTRY,"Button", - BS_AUTORADIOBUTTON,155,24,69,10 - PUSHBUTTON "OK",IDOK,22,90,50,14 - PUSHBUTTON "Cancelar",IDCANCEL,92,90,50,14 - PUSHBUTTON "Ajuda",9,162,90,50,14 - LTEXT "Nome:",IDC_STATIC,10,72,20,8 - GROUPBOX "Permissões",IDC_STATIC,10,5,135,55 - GROUPBOX "Tipo de Entrada",IDC_STATIC,150,5,77,34 -END - -IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 133, 82 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Informações da Partição" -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_TOTAL_SIZE,61,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_BLOCKS_FREE,61,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_PERCENT_USED,61,40,40,12,ES_AUTOHSCROLL | - WS_DISABLED | NOT WS_TABSTOP - DEFPUSHBUTTON "Fechar",IDOK,14,62,40,14 - PUSHBUTTON "Ajuda",9,69,62,40,14 - LTEXT "% Usada:",IDC_STATIC,5,42,37,8 - LTEXT "Blocos Livres:",IDC_STATIC,5,27,50,8 - LTEXT "Tamanho Total:",IDC_STATIC,5,12,52,8 - LTEXT "K Bytes",IDC_STATIC,103,12,25,8 - LTEXT "K Bytes",IDC_STATIC,103,27,25,8 -END - -IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Copiar da ACL" -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY - EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL - PUSHBUTTON "Procurar",IDC_BROWSE,195,25,35,15 - CONTROL "Limpar Entradas Atuais:",IDC_CLEAR,"Button", - BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,10,46,95,10 - DEFPUSHBUTTON "OK",IDOK,20,65,50,14,WS_DISABLED - PUSHBUTTON "Cancelar",IDCANCEL,95,65,50,14 - PUSHBUTTON "Ajuda",9,170,65,50,14 - LTEXT "Copiar De:",IDC_STATIC,13,12,35,8 - LTEXT "Copiar Para:",IDC_STATIC,13,29,43,8 -END - -IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Onde Está" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Fechar",IDOK,65,145,50,14 - PUSHBUTTON "Ajuda",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "Arquivo/Diretório",IDC_STATIC,10,10,62,8 - LTEXT "Servidor(es) de Arquivos",IDC_STATIC,128,10,44,8 -END - -IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Resultados" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Fechar",IDOK,65,145,50,14 - PUSHBUTTON "Ajuda",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "Arquivo/Diretório",-1,10,10,60,8 - LTEXT "Resultado",IDC_RESULTS_LABEL,128,10,44,8 -END - -IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Pontos de Montagem" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Fechar",IDOK,65,145,50,14 - PUSHBUTTON "Ajuda",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "Arquivo",IDC_STATIC,10,11,30,8 - LTEXT "Volume",IDC_STATIC,75,11,27,8 - LTEXT "Célula",IDC_STATIC,155,11,27,8 - LTEXT "Tipo",IDC_STATIC,230,11,20,8 -END - -IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Servidores Inoperantes" -FONT 8, "MS Sans Serif" -BEGIN - LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL - LTEXT "Estes servidores ainda estão inoperantes:",IDC_STATIC, - 10,10,136,8 - DEFPUSHBUTTON "OK",IDOK,82,140,45,15 -END - -IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "Status do Servidor" -FONT 8, "MS Sans Serif" -BEGIN - CONTROL "Célula Local",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | - WS_GROUP | WS_TABSTOP,20,20,61,8 - CONTROL "Célula Especificada:",IDC_SPECIFIEDCELL,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,82,10 - CONTROL "Todas as Células",IDC_ALL_CELLS,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,20,65,71,10 - CONTROL "Não sondar servidores",IDC_DONTPROBESERVERS,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,24,87,86,10 - PUSHBUTTON "Mostrar Status",IDC_SHOWSTATUS,10,120,50,14 - GROUPBOX "Célula",IDC_STATIC,10,5,160,105,WS_GROUP - GROUPBOX "",IDC_STATIC,20,80,95,20,WS_GROUP - EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL - PUSHBUTTON "Fechar",IDCANCEL,65,120,50,14 - PUSHBUTTON "Ajuda",9,120,120,50,14 -END - -IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Autenticação" -FONT 8, "MS Sans Serif" -BEGIN - LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - PUSHBUTTON "Obter Tokens",ID_GET_TOKENS,15,137,55,14 - PUSHBUTTON "Descartar Tokens",ID_DISCARD_TOKENS,79,137,62,14 - PUSHBUTTON "Fechar",IDCANCEL,150,137,55,14 - PUSHBUTTON "Ajuda",9,214,137,55,14 - LTEXT "Nome do Usuário",IDC_STATIC,10,9,61,8 - LTEXT "Nome da Célula",IDC_STATIC,104,9,57,8 - LTEXT "Vencimento",IDC_STATIC,222,9,38,8 -END - -IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "Obter Tokens" -FONT 8, "MS Sans Serif", 0, 0, 0x1 -BEGIN - EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL - EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL - EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "OK",IDOK,20,70,33,14,WS_DISABLED - PUSHBUTTON "Cancelar",IDCANCEL,70,70,33,14 - PUSHBUTTON "Ajuda",9,120,70,33,14 - LTEXT "Nome:",IDC_STATIC,13,12,22,8 - LTEXT "Senha:",IDC_STATIC,13,32,34,8 - LTEXT "Célula:",IDC_STATIC,13,52,24,8 -END - -IDD_UNLOG_DIALOG DIALOGEX 0, 0, 189, 63 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "Descartar Tokens" -FONT 8, "MS Sans Serif", 0, 0, 0x1 -BEGIN - DEFPUSHBUTTON "OK",IDOK,29,40,35,14 - PUSHBUTTON "Cancelar",IDCANCEL,79,40,35,14 - PUSHBUTTON "Ajuda",9,129,40,35,14 - LTEXT "Célula:",IDC_STATIC,10,17,24,8 - EDITTEXT IDC_CELL_NAME,34,15,145,12,ES_AUTOHSCROLL -END - -IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "Submontagens" -FONT 8, "MS Sans Serif" -BEGIN - LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "Incluir ",IDC_ADD,202,20,45,14 - PUSHBUTTON "Excluir",IDC_DELETE,202,39,45,14,WS_DISABLED - PUSHBUTTON "Alterar",IDC_CHANGE,202,58,45,14,WS_DISABLED - LTEXT "Submontagens:",IDC_STATIC,10,10,50,8 - PUSHBUTTON "OK",IDOK,202,145,45,14 - PUSHBUTTON "Cancelar",IDCANCEL,202,163,45,14 -END - -IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 267, 79 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Incluir Submontagem" -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_SHARE_NAME,97,8,163,12,ES_AUTOHSCROLL - EDITTEXT IDC_PATH_NAME,97,23,163,12,ES_AUTOHSCROLL - PUSHBUTTON "OK",IDOK,24,53,45,14 - PUSHBUTTON "Cancelar",IDCANCEL,111,53,45,14 - PUSHBUTTON "Ajuda",9,198,53,45,14 - LTEXT "Nome do Compartilhamento:",IDC_STATIC,4,10,90,8 - LTEXT "Nome do Caminho:",IDC_STATIC,4,25,61,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE -BEGIN - IDD_SERVERSTATUS, DIALOG - BEGIN - RIGHTMARGIN, 171 - END - - IDD_AUTHENTICATION, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 278 - TOPMARGIN, 7 - BOTTOMMARGIN, 151 - END - - IDD_KLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 162 - TOPMARGIN, 7 - BOTTOMMARGIN, 86 - END - - IDD_UNLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 182 - TOPMARGIN, 7 - BOTTOMMARGIN, 56 - END - - IDD_SUBMTINFO, DIALOG - BEGIN - LEFTMARGIN, 10 - RIGHTMARGIN, 247 - BOTTOMMARGIN, 177 - END - - IDD_ADD_SUBMOUNT, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 260 - TOPMARGIN, 7 - BOTTOMMARGIN, 25 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE DISCARDABLE -BEGIN - ID_ACL_CLEAN "fs cleanacl" - ID_ACL_COPY "fs copyacl" - ID_ACL_LIST "fs listacl" - ID_ACL_SET "fs setacl" - ID_VOLUME_CHECK "fs checkvolumes" - ID_VOLUME_DISKFREE "fs diskfree" - ID_VOLUME_EXAMINE "fs examine" - ID_VOLUME_FLUSH "fs flushvolume" - ID_VOLUME_QUOTA_BRIEF "fs quota" - ID_VOLUME_QUOTA_FULL "fs listquota" - ID_VOLUME_QUOTA_SET "fs setvol" - ID_VOLUME_SET "fs setvol" -END - -STRINGTABLE DISCARDABLE -BEGIN - ID_FLUSH "fs flush" - ID_WHEREIS "fs whereis" - ID_SHOWCELL "fs whichcell" - ID_MOUNTPOINT_SHOW "fs lsmount" - ID_MOUNTPOINT_REMOVE "fs rmmount" - ID_SHOW_SERVER "fs whereis" - ID_AUTHENTICATE "Entrar ou sair do AFS" - ID_SERVER_STATUS "Verificar Servidores" - ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" - ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" - ID_MOUNTPOINT_MAKE "fs mkmount" - IDS_FLUSH_FAILED "Não é possível esvaziar o arquivo ativo %o" - IDS_FLUSH_ERROR "Erro ao esvaziar o arquivo %o: %s" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_FLUSH_OK "Arquivo(s) selecionado(s) esvaziado(s) com êxito" - IDS_CANT_GET_CELL "Erro ao determinar a célula:" - IDS_FLUSH_VOLUME_ERROR "Erro ao esvaziar volume para %o: %s" - IDS_FLUSH_VOLUME_OK "Volume esvaziado com êxito" - IDS_WHERE_IS "O arquivo %o está no host %s" - IDS_CLEANACL_NOT_SUPPORTED - "Não é possível limpar a ACL para o arquivo %o: clean Acl não é suportado para listas de acesso DFS" - IDS_ACL_IS_FINE "Lista de acesso para %o está boa" - IDS_CLEANACL_INVALID_ARG - "Não é possível limpar a ACL para o arquivo %o: Argumento inválido, motivos possíveis incluem: o arquivo não está com erro ou existem muitos usuários na lista de controle de acesso" - IDS_ANY_STRING "%o" - IDS_CLEANACL_DONE "Entradas obsoletas na ACL foram excluídas." - ID_SUBMOUNTS "Criar ou excluir uma submontagem AFS" - IDS_GETRIGHTS_ERROR "Incapaz de ler a lista de acesso para o diretório %o: %o" - IDS_DFSACL_ERROR "Não é possível editar ACLs do DFS com este comando" - IDS_SAVE_ACL_ERROR "Não é possível salvar a ACL para %o: %o" - IDS_SAVE_ACL_EINVAL_ERROR - "Não é possível salvar a ACL para %o: Argumento inválido, motivos possíveis incluem: o arquivo não está na AFS, muitos usuários na lista de controle do acesso, tentativa de incluir usuário não existente na lista de controle de acesso" - IDS_ACL_READ_ERROR "Não é possível ler a ACL para %o: %o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_NO_DFS_COPY_ACL "Não é possível copiar a ACL para o diretório %o: a função copiar a ACL não é suportada para listas de acesso DFS" - IDS_COPY_ACL_EINVAL_ERROR - "Não é possível copiar a ACL para o diretório %o: Argumento inválido, motivos possíveis incluem: Arquivo não está na AFS." - IDS_COPY_ACL_ERROR "Não é possível copiar a ACL para %o: %o" - IDS_NOT_MOUNT_POINT_ERROR "%o não é um ponto de montagem." - IDS_LIST_MOUNT_POINT_ERROR "Erro: %o" - IDS_MAKE_MP_NOT_AFS_ERROR - "Pontos de montagem devem ser criados no sistema de arquivos do AFS" - IDS_MOUNT_POINT_ERROR "Erro ao criar ponto de montagem: %o" - IDS_ERROR "Erro: %o" - IDS_DELETED "Excluído com êxito" - IDS_SET_QUOTA_ERROR "Erro ao definir quota: %o" - ID_SUBMOUNTS_CREATE "Criar uma Submontagem AFS" - ID_SUBMOUNTS_EDIT "Incluir, alterar ou excluir submontagens do AFS" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_CHECK_SERVERS_ERROR "Erro ao verificar status de máquinas de servidor de arquivos: %o" - IDS_ALL_SERVERS_RUNNING "Todos os servidores estão em execução." - IDS_CHECK_VOLUMES_OK "Todos os mapeamentos de ID/nome de volume verificados." - IDS_CHECK_VOLUMES_ERROR "Erro ao verificar mapeamentos de ID/nome de volume: %o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_ACL_ENTRY_NAME_IN_USE - "O nome escolhido já está em uso. Digite um nome diferente." - IDS_REALLY_DEL_MOUNT_POINTS - "Tem certeza de que deseja remover o(s) ponto(s) de montagem selecionado(s)?" - IDS_DIR_DOES_NOT_EXIST_ERROR "O diretório '%o' não existe." - IDS_CLEANACL_MSG "As ACLs obsoletas serão excluídas!" - IDS_COPY_ACL_OK "ACL copiada com êxito." - IDS_GET_TOKENS_NO_AFS_SERVICE - "Não é possível ler as informações de token: o serviço do AFS pode não ter iniciado." - IDS_GET_TOKENS_UNEXPECTED_ERROR - "Não é possível ler as informações de token: Erro inesperado, código %d." - IDS_GET_TOKENS_UNEXPECTED_ERROR2 - "Não é possível ler as informações de token: Erro inesperado, serviço %s.%s.%s, código %d." - IDS_ENTER_QUOTA "Digite uma quota válida." - IDS_AUTHENTICATION_ITEM "&Autenticação..." - IDS_ACLS_ITEM "&Listas de Controle de Acesso..." - IDS_VOL_PART_ITEM "&Volume/Partição" - IDS_VOL_PART_PROPS_ITEM "&Propriedades" - IDS_VOL_PART_REFRESH_ITEM "&Atualizar mapa de nome/ID" - IDS_MOUNT_POINT_ITEM "Ponto de &Montagem" - IDS_MP_SHOW_ITEM "E&xibir..." -END - -STRINGTABLE DISCARDABLE -BEGIN - AFX_IDS_APP_TITLE "AFS Client" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_MP_REMOVE_ITEM "&Remover..." - IDS_MP_MAKE_ITEM "&Fazer..." - IDS_FLUSH_FILE_DIR_ITEM "&Esvaziar Arquivo/Dir" - IDS_FLUSH_VOLUME_ITEM "Esvaziar Vol&ume" - IDS_SHOW_FILE_SERVERS_ITEM "Mostrar Servidores de Ar&quivos..." - IDS_SHOW_CELL_ITEM "Mostrar &Célula..." - IDS_SHOW_SERVER_STATUS_ITEM "Mostrar &Status do Servidor..." - IDS_AFS_ITEM "&AFS" - IDS_SUBMOUNTS_ITEM "Su&bmontagens" - IDS_GET_SUBMT_INFO_ERROR - "Incapaz de ler as informações de submontagem para o sharename %o." - IDS_REALLY_DELETE_SUBMT "Excluir sharename %o?" - IDS_SUBMT_SAVE_FAILED "Falha nas alterações ao banco de dados de submontagem." - IDS_SUBMOUNTS_CREATE_ITEM "&Incluir" - IDS_SUBMOUNTS_EDIT_ITEM "&Editar..." - IDS_EDIT_PATH_NAME "Editar Nome do Caminho" - IDS_SHOW_CELL "Mostrar Célula" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_SHOW_CELL_COLUMN "Célula" - IDS_SHOW_FS "Mostrar Servidores de Arquivos" - IDS_SHOW_FS_COLUMN "Servidor(es) de Arquivos" - IDS_REMOVE_MP "Remover Pontos de Montagem" - IDS_REMOVE_MP_COLUMN "Resultado" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#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 -#endif -#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources -#include "afxres.rc" // Standard components -#endif -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.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 +#endif //_WIN32 + +#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" + "#endif\r\n" + "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" + "#include ""afxres.rc"" // Standard components\r\n" + "#endif\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU_FILE MENU DISCARDABLE +BEGIN + MENUITEM "Autenticação...", IDM_AUTHENTICATION + MENUITEM "Listas de Controle de Acesso...", IDM_ACL_SET + POPUP "&Volume/Partição" + BEGIN + MENUITEM "&Propriedades...", IDM_VOLUME_PROPERTIES + MENUITEM "&Atualizar mapa de nome/ID", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE + + END + POPUP "Ponto de &Montagem" + BEGIN + MENUITEM "E&xibir...", IDM_MOUNTPOINT_SHOW + MENUITEM "&Remover...", IDM_MOUNTPOINT_REMOVE + MENUITEM "&Fazer...", IDM_MOUNTPOINT_MAKE + END + MENUITEM "&Esvaziar Arquivo/Dir", IDM_FLUSH + MENUITEM "Esvaziar Vol&ume", IDM_FLUSH_VOLUME + MENUITEM "Mostrar Servidores de Ar&quivos...", IDM_SHOW_SERVER + MENUITEM "Mostrar &Célula...", IDM_SHOWCELL + MENUITEM "Mostrar &Status do Servidor...", IDM_SERVER_STATUS + MENUITEM "Remove SymLink", IDM_REMOVE_SYMLINK +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "Informações do Volume" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "OK",IDOK,60,150,50,14,WS_DISABLED + PUSHBUTTON "Ajuda",9,240,150,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,150,150,50,14 + LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + LTEXT "Arquivo/Diretório",IDC_STATIC,10,10,55,10 + LTEXT "Nome",IDC_STATIC,90,10,25,8 + LTEXT "Quota",IDC_STATIC,225,10,19,8 + LTEXT "Usado",IDC_STATIC,270,10,24,8 + LTEXT "%Usada",IDC_STATIC,305,10,29,8 + LTEXT "ID",IDC_STATIC,175,10,10,8 + LTEXT "Nova Quota:",IDC_STATIC,10,127,44,10 + EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED + PUSHBUTTON "Mostrar Informações da Partição",IDC_PARTITION_INFO,205, + 125,107,14,WS_DISABLED + LTEXT "KBytes",IDC_STATIC,118,127,25,10 + CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | + UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | + WS_DISABLED,106,125,10,14 +END + +IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Definir ACL do AFS" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "",IDC_DIR_NAME,51,12,259,10 + LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + CONTROL "r - Ler",IDC_READ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP, + 200,52,55,10 + CONTROL "w - Gravar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,111,55,10 + CONTROL "l - Procurar",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,66,55,10 + CONTROL "d - Excluir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,96,55,10 + CONTROL "i - Inserir",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,81,55,10 + CONTROL "k - Bloquear",IDC_LOCK,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,126,55,10 + CONTROL "a - Administrar",IDC_ADMINISTER,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,200,141,59,10 + PUSHBUTTON "&Incluir...",IDC_ADD,270,45,45,14 + PUSHBUTTON "&Remover",IDC_REMOVE,270,70,45,14,WS_DISABLED + PUSHBUTTON "&Limpar",IDC_CLEAN,270,95,45,14 + DEFPUSHBUTTON "&OK",IDOK,270,150,45,14 + PUSHBUTTON "Ca&ncelar",IDCANCEL,270,175,45,14 + PUSHBUTTON "&Ajuda",9,270,201,45,14 + LTEXT "Diretório:",IDC_STATIC,15,12,30,10 + GROUPBOX "Permissões",IDC_STATIC,195,41,68,115 + LTEXT "Permissões",IDC_STATIC,10,30,41,8 + LTEXT "Nome",IDC_COLUMN_3,69,38,20,8 + LTEXT "Normais",IDC_STATIC,10,38,37,8 + LTEXT "Permissões",IDC_STATIC,10,125,42,8 + LTEXT "Negativas",IDC_STATIC,10,133,38,8 + LTEXT "Nome",IDC_COLUMN_4,69,133,20,8 + GROUPBOX "",IDC_STATIC,10,5,305,20 + PUSHBUTTON "Co&piar...",IDC_COPY,270,120,45,14 +END + +IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Fazer Ponto de Montagem" +FONT 8, "MS Sans Serif" +BEGIN + EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "OK",IDOK,20,81,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,85,81,50,14 + PUSHBUTTON "Ajuda",9,150,81,50,14 + LTEXT "Diretório:",IDC_STATIC,5,12,30,10 + LTEXT "Volume:",IDC_STATIC,5,28,25,10 + LTEXT "Célula:",IDC_STATIC,5,42,26,10 + GROUPBOX "",IDC_STATIC,41,52,137,20 + LTEXT "Opções:",IDC_STATIC,9,59,25,10 + CONTROL "Regular",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,47,59,41,10 + CONTROL "Leitura/Gravação",IDC_RW,"Button",BS_AUTORADIOBUTTON, + 102,59,74,10 +END + +IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Incluir Entrada na ACL" +FONT 8, "MS Sans Serif" +BEGIN + EDITTEXT IDC_NAME,35,70,190,12,ES_AUTOHSCROLL + CONTROL "r - Ler",IDC_READ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP, + 20,15,45,10 + CONTROL "l - Procurar",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,25,50,10 + CONTROL "i - Inserir",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,35,50,10 + CONTROL "d - Excluir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,45,50,10 + CONTROL "w - Gravar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,15,50,10 + CONTROL "k - Bloquear",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,25,55,10 + CONTROL "a - Administrar",IDC_ADMINISTER,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,80,35,60,10 + CONTROL "Entrada Normal",IDC_ADD_NORMAL_ENTRY,"Button", + BS_AUTORADIOBUTTON | WS_GROUP,155,14,64,10 + CONTROL "Entrada negativa",IDC_ADD_NEGATIVE_ENTRY,"Button", + BS_AUTORADIOBUTTON,155,24,69,10 + PUSHBUTTON "OK",IDOK,22,90,50,14 + PUSHBUTTON "Cancelar",IDCANCEL,92,90,50,14 + PUSHBUTTON "Ajuda",9,162,90,50,14 + LTEXT "Nome:",IDC_STATIC,10,72,20,8 + GROUPBOX "Permissões",IDC_STATIC,10,5,135,55 + GROUPBOX "Tipo de Entrada",IDC_STATIC,150,5,77,34 +END + +IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 133, 82 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Informações da Partição" +FONT 8, "MS Sans Serif" +BEGIN + EDITTEXT IDC_TOTAL_SIZE,61,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_BLOCKS_FREE,61,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_PERCENT_USED,61,40,40,12,ES_AUTOHSCROLL | + WS_DISABLED | NOT WS_TABSTOP + DEFPUSHBUTTON "Fechar",IDOK,14,62,40,14 + PUSHBUTTON "Ajuda",9,69,62,40,14 + LTEXT "% Usada:",IDC_STATIC,5,42,37,8 + LTEXT "Blocos Livres:",IDC_STATIC,5,27,50,8 + LTEXT "Tamanho Total:",IDC_STATIC,5,12,52,8 + LTEXT "K Bytes",IDC_STATIC,103,12,25,8 + LTEXT "K Bytes",IDC_STATIC,103,27,25,8 +END + +IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Copiar da ACL" +FONT 8, "MS Sans Serif" +BEGIN + EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY + EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL + PUSHBUTTON "Procurar",IDC_BROWSE,195,25,35,15 + CONTROL "Limpar Entradas Atuais:",IDC_CLEAR,"Button", + BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,10,46,95,10 + DEFPUSHBUTTON "OK",IDOK,20,65,50,14,WS_DISABLED + PUSHBUTTON "Cancelar",IDCANCEL,95,65,50,14 + PUSHBUTTON "Ajuda",9,170,65,50,14 + LTEXT "Copiar De:",IDC_STATIC,13,12,35,8 + LTEXT "Copiar Para:",IDC_STATIC,13,29,43,8 +END + +IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Onde Está" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Fechar",IDOK,65,145,50,14 + PUSHBUTTON "Ajuda",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "Arquivo/Diretório",IDC_STATIC,10,10,62,8 + LTEXT "Servidor(es) de Arquivos",IDC_STATIC,128,10,44,8 +END + +IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Resultados" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Fechar",IDOK,65,145,50,14 + PUSHBUTTON "Ajuda",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "Arquivo/Diretório",-1,10,10,60,8 + LTEXT "Resultado",IDC_RESULTS_LABEL,128,10,44,8 +END + +IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Pontos de Montagem" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Fechar",IDOK,65,145,50,14 + PUSHBUTTON "Ajuda",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "Arquivo",IDC_STATIC,10,11,30,8 + LTEXT "Volume",IDC_STATIC,75,11,27,8 + LTEXT "Célula",IDC_STATIC,155,11,27,8 + LTEXT "Tipo",IDC_STATIC,230,11,20,8 +END + +IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Servidores Inoperantes" +FONT 8, "MS Sans Serif" +BEGIN + LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL + LTEXT "Estes servidores ainda estão inoperantes:",IDC_STATIC, + 10,10,136,8 + DEFPUSHBUTTON "OK",IDOK,82,140,45,15 +END + +IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "Status do Servidor" +FONT 8, "MS Sans Serif" +BEGIN + CONTROL "Célula Local",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | + WS_GROUP | WS_TABSTOP,20,20,61,8 + CONTROL "Célula Especificada:",IDC_SPECIFIEDCELL,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,82,10 + CONTROL "Todas as Células",IDC_ALL_CELLS,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,20,65,71,10 + CONTROL "Não sondar servidores",IDC_DONTPROBESERVERS,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,24,87,86,10 + PUSHBUTTON "Mostrar Status",IDC_SHOWSTATUS,10,120,50,14 + GROUPBOX "Célula",IDC_STATIC,10,5,160,105,WS_GROUP + GROUPBOX "",IDC_STATIC,20,80,95,20,WS_GROUP + EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL + PUSHBUTTON "Fechar",IDCANCEL,65,120,50,14 + PUSHBUTTON "Ajuda",9,120,120,50,14 +END + +IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Autenticação" +FONT 8, "MS Sans Serif" +BEGIN + LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + PUSHBUTTON "Obter Tokens",ID_GET_TOKENS,15,137,55,14 + PUSHBUTTON "Descartar Tokens",ID_DISCARD_TOKENS,79,137,62,14 + PUSHBUTTON "Fechar",IDCANCEL,150,137,55,14 + PUSHBUTTON "Ajuda",9,214,137,55,14 + LTEXT "Nome do Usuário",IDC_STATIC,10,9,61,8 + LTEXT "Nome da Célula",IDC_STATIC,104,9,57,8 + LTEXT "Vencimento",IDC_STATIC,222,9,38,8 +END + +IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Obter Tokens" +FONT 8, "MS Sans Serif", 0, 0, 0x1 +BEGIN + EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL + EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL + EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "OK",IDOK,20,70,33,14,WS_DISABLED + PUSHBUTTON "Cancelar",IDCANCEL,70,70,33,14 + PUSHBUTTON "Ajuda",9,120,70,33,14 + LTEXT "Nome:",IDC_STATIC,13,12,22,8 + LTEXT "Senha:",IDC_STATIC,13,32,34,8 + LTEXT "Célula:",IDC_STATIC,13,52,24,8 +END + +IDD_UNLOG_DIALOG DIALOGEX 0, 0, 189, 63 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "Descartar Tokens" +FONT 8, "MS Sans Serif", 0, 0, 0x1 +BEGIN + DEFPUSHBUTTON "OK",IDOK,29,40,35,14 + PUSHBUTTON "Cancelar",IDCANCEL,79,40,35,14 + PUSHBUTTON "Ajuda",9,129,40,35,14 + LTEXT "Célula:",IDC_STATIC,10,17,24,8 + EDITTEXT IDC_CELL_NAME,34,15,145,12,ES_AUTOHSCROLL +END + +IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Submontagens" +FONT 8, "MS Sans Serif" +BEGIN + LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "Incluir ",IDC_ADD,202,20,45,14 + PUSHBUTTON "Excluir",IDC_DELETE,202,39,45,14,WS_DISABLED + PUSHBUTTON "Alterar",IDC_CHANGE,202,58,45,14,WS_DISABLED + LTEXT "Submontagens:",IDC_STATIC,10,10,50,8 + PUSHBUTTON "OK",IDOK,202,145,45,14 + PUSHBUTTON "Cancelar",IDCANCEL,202,163,45,14 +END + +IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 267, 79 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Incluir Submontagem" +FONT 8, "MS Sans Serif" +BEGIN + EDITTEXT IDC_SHARE_NAME,97,8,163,12,ES_AUTOHSCROLL + EDITTEXT IDC_PATH_NAME,97,23,163,12,ES_AUTOHSCROLL + PUSHBUTTON "OK",IDOK,24,53,45,14 + PUSHBUTTON "Cancelar",IDCANCEL,111,53,45,14 + PUSHBUTTON "Ajuda",9,198,53,45,14 + LTEXT "Nome do Compartilhamento:",IDC_STATIC,4,10,90,8 + LTEXT "Nome do Caminho:",IDC_STATIC,4,25,61,8 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_SERVERSTATUS, DIALOG + BEGIN + RIGHTMARGIN, 171 + END + + IDD_AUTHENTICATION, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 278 + TOPMARGIN, 7 + BOTTOMMARGIN, 151 + END + + IDD_KLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 162 + TOPMARGIN, 7 + BOTTOMMARGIN, 86 + END + + IDD_UNLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 182 + TOPMARGIN, 7 + BOTTOMMARGIN, 56 + END + + IDD_SUBMTINFO, DIALOG + BEGIN + LEFTMARGIN, 10 + RIGHTMARGIN, 247 + BOTTOMMARGIN, 177 + END + + IDD_ADD_SUBMOUNT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 260 + TOPMARGIN, 7 + BOTTOMMARGIN, 25 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + ID_ACL_CLEAN "fs cleanacl" + ID_ACL_COPY "fs copyacl" + ID_ACL_LIST "fs listacl" + ID_ACL_SET "fs setacl" + ID_VOLUME_CHECK "fs checkvolumes" + ID_VOLUME_DISKFREE "fs diskfree" + ID_VOLUME_EXAMINE "fs examine" + ID_VOLUME_FLUSH "fs flushvolume" + ID_VOLUME_QUOTA_BRIEF "fs quota" + ID_VOLUME_QUOTA_FULL "fs listquota" + ID_VOLUME_QUOTA_SET "fs setvol" + ID_VOLUME_SET "fs setvol" +END + +STRINGTABLE DISCARDABLE +BEGIN + ID_FLUSH "fs flush" + ID_WHEREIS "fs whereis" + ID_SHOWCELL "fs whichcell" + ID_MOUNTPOINT_SHOW "fs lsmount" + ID_MOUNTPOINT_REMOVE "fs rmmount" + ID_SHOW_SERVER "fs whereis" + ID_AUTHENTICATE "Entrar ou sair do AFS" + ID_SERVER_STATUS "Verificar Servidores" + ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" + ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" + ID_MOUNTPOINT_MAKE "fs mkmount" + IDS_FLUSH_FAILED "Não é possível esvaziar o arquivo ativo %o" + IDS_FLUSH_ERROR "Erro ao esvaziar o arquivo %o: %s" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_FLUSH_OK "Arquivo(s) selecionado(s) esvaziado(s) com êxito" + IDS_CANT_GET_CELL "Erro ao determinar a célula:" + IDS_FLUSH_VOLUME_ERROR "Erro ao esvaziar volume para %o: %s" + IDS_FLUSH_VOLUME_OK "Volume esvaziado com êxito" + IDS_WHERE_IS "O arquivo %o está no host %s" + IDS_CLEANACL_NOT_SUPPORTED + "Não é possível limpar a ACL para o arquivo %o: clean Acl não é suportado para listas de acesso DFS" + IDS_ACL_IS_FINE "Lista de acesso para %o está boa" + IDS_CLEANACL_INVALID_ARG + "Não é possível limpar a ACL para o arquivo %o: Argumento inválido, motivos possíveis incluem: o arquivo não está com erro ou existem muitos usuários na lista de controle de acesso" + IDS_ANY_STRING "%o" + IDS_CLEANACL_DONE "Entradas obsoletas na ACL foram excluídas." + ID_SUBMOUNTS "Criar ou excluir uma submontagem AFS" + IDS_GETRIGHTS_ERROR "Incapaz de ler a lista de acesso para o diretório %o: %o" + IDS_DFSACL_ERROR "Não é possível editar ACLs do DFS com este comando" + IDS_SAVE_ACL_ERROR "Não é possível salvar a ACL para %o: %o" + IDS_SAVE_ACL_EINVAL_ERROR + "Não é possível salvar a ACL para %o: Argumento inválido, motivos possíveis incluem: o arquivo não está na AFS, muitos usuários na lista de controle do acesso, tentativa de incluir usuário não existente na lista de controle de acesso" + IDS_ACL_READ_ERROR "Não é possível ler a ACL para %o: %o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_NO_DFS_COPY_ACL "Não é possível copiar a ACL para o diretório %o: a função copiar a ACL não é suportada para listas de acesso DFS" + IDS_COPY_ACL_EINVAL_ERROR + "Não é possível copiar a ACL para o diretório %o: Argumento inválido, motivos possíveis incluem: Arquivo não está na AFS." + IDS_COPY_ACL_ERROR "Não é possível copiar a ACL para %o: %o" + IDS_NOT_MOUNT_POINT_ERROR "%o não é um ponto de montagem." + IDS_LIST_MOUNT_POINT_ERROR "Erro: %o" + IDS_MAKE_MP_NOT_AFS_ERROR + "Pontos de montagem devem ser criados no sistema de arquivos do AFS" + IDS_MOUNT_POINT_ERROR "Erro ao criar ponto de montagem: %o" + IDS_ERROR "Erro: %o" + IDS_DELETED "Excluído com êxito" + IDS_SET_QUOTA_ERROR "Erro ao definir quota: %o" + ID_SUBMOUNTS_CREATE "Criar uma Submontagem AFS" + ID_SUBMOUNTS_EDIT "Incluir, alterar ou excluir submontagens do AFS" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_CHECK_SERVERS_ERROR "Erro ao verificar status de máquinas de servidor de arquivos: %o" + IDS_ALL_SERVERS_RUNNING "Todos os servidores estão em execução." + IDS_CHECK_VOLUMES_OK "Todos os mapeamentos de ID/nome de volume verificados." + IDS_CHECK_VOLUMES_ERROR "Erro ao verificar mapeamentos de ID/nome de volume: %o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ACL_ENTRY_NAME_IN_USE + "O nome escolhido já está em uso. Digite um nome diferente." + IDS_REALLY_DEL_MOUNT_POINTS + "Tem certeza de que deseja remover o(s) ponto(s) de montagem selecionado(s)?" + IDS_DIR_DOES_NOT_EXIST_ERROR "O diretório '%o' não existe." + IDS_CLEANACL_MSG "As ACLs obsoletas serão excluídas!" + IDS_COPY_ACL_OK "ACL copiada com êxito." + IDS_GET_TOKENS_NO_AFS_SERVICE + "Não é possível ler as informações de token: o serviço do AFS pode não ter iniciado." + IDS_GET_TOKENS_UNEXPECTED_ERROR + "Não é possível ler as informações de token: Erro inesperado, código %d." + IDS_GET_TOKENS_UNEXPECTED_ERROR2 + "Não é possível ler as informações de token: Erro inesperado, serviço %s.%s.%s, código %d." + IDS_ENTER_QUOTA "Digite uma quota válida." + IDS_AUTHENTICATION_ITEM "&Autenticação..." + IDS_ACLS_ITEM "&Listas de Controle de Acesso..." + IDS_VOL_PART_ITEM "&Volume/Partição" + IDS_VOL_PART_PROPS_ITEM "&Propriedades" + IDS_VOL_PART_REFRESH_ITEM "&Atualizar mapa de nome/ID" + IDS_MOUNT_POINT_ITEM "Ponto de &Montagem" + IDS_MP_SHOW_ITEM "E&xibir..." +END + +STRINGTABLE DISCARDABLE +BEGIN + AFX_IDS_APP_TITLE "AFS Client" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_MP_REMOVE_ITEM "&Remover..." + IDS_MP_MAKE_ITEM "&Fazer..." + IDS_FLUSH_FILE_DIR_ITEM "&Esvaziar Arquivo/Dir" + IDS_FLUSH_VOLUME_ITEM "Esvaziar Vol&ume" + IDS_SHOW_FILE_SERVERS_ITEM "Mostrar Servidores de Ar&quivos..." + IDS_SHOW_CELL_ITEM "Mostrar &Célula..." + IDS_SHOW_SERVER_STATUS_ITEM "Mostrar &Status do Servidor..." + IDS_AFS_ITEM "&AFS" + IDS_SUBMOUNTS_ITEM "Su&bmontagens" + IDS_GET_SUBMT_INFO_ERROR + "Incapaz de ler as informações de submontagem para o sharename %o." + IDS_REALLY_DELETE_SUBMT "Excluir sharename %o?" + IDS_SUBMT_SAVE_FAILED "Falha nas alterações ao banco de dados de submontagem." + IDS_SUBMOUNTS_CREATE_ITEM "&Incluir" + IDS_SUBMOUNTS_EDIT_ITEM "&Editar..." + IDS_EDIT_PATH_NAME "Editar Nome do Caminho" + IDS_SHOW_CELL "Mostrar Célula" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHOW_CELL_COLUMN "Célula" + IDS_SHOW_FS "Mostrar Servidores de Arquivos" + IDS_SHOW_FS_COLUMN "Servidor(es) de Arquivos" + IDS_REMOVE_MP "Remover Pontos de Montagem" + IDS_REMOVE_MP_COLUMN "Resultado" +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#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 +#endif +#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources +#include "afxres.rc" // Standard components +#endif +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/WINNT/client_exp/lang/zh_CN/afs_shl_ext.rc b/src/WINNT/client_exp/lang/zh_CN/afs_shl_ext.rc index 883031435..96867d7a0 100644 --- a/src/WINNT/client_exp/lang/zh_CN/afs_shl_ext.rc +++ b/src/WINNT/client_exp/lang/zh_CN/afs_shl_ext.rc @@ -7,631 +7,632 @@ * directory or online at http://www.openafs.org/dl/license10.html */ -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Chinese (P.R.C.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS) -#ifdef _WIN32 -LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED -#endif //_WIN32 - -#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" - "#endif\r\n" - "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" - "#include ""afxres.rc"" // Standard components\r\n" - "#endif\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU_FILE MENU DISCARDABLE -BEGIN - MENUITEM "ÈÏÖ¤...", IDM_AUTHENTICATION - MENUITEM "´æÈ¡¿ØÖƱí...", IDM_ACL_SET - POPUP "¾í£¯·ÖÇø(&V)" - BEGIN - MENUITEM "ÌØÐÔ(&P)...", IDM_VOLUME_PROPERTIES - MENUITEM "Ë¢ÐÂÃû³Æ£¯±êʶ·ûÓ³Éä(&R)", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE - - END - POPUP "°²×°µã(&M)" - BEGIN - MENUITEM "ÏÔʾ(&S)...", IDM_MOUNTPOINT_SHOW - MENUITEM "³ýÈ¥(&R)...", IDM_MOUNTPOINT_REMOVE - MENUITEM "¶¨ÖÆ(&M)...", IDM_MOUNTPOINT_MAKE - END - MENUITEM "Çå²ÖÎļþ£¯Ä¿Â¼(&F)", IDM_FLUSH - MENUITEM "Çå²Ö¾í(&U)", IDM_FLUSH_VOLUME - MENUITEM "ÏÔʾÎļþ·þÎñÆ÷(&F)...", IDM_SHOW_SERVER - MENUITEM "ÏÔʾµ¥Ôª(&C)...", IDM_SHOWCELL - MENUITEM "ÏÔʾ·þÎñÆ÷״̬...", IDM_SERVER_STATUS -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "¾íÐÅÏ¢" -FONT 8, "System" -BEGIN - DEFPUSHBUTTON "È·¶¨",IDOK,60,150,50,14,WS_DISABLED - PUSHBUTTON "°ïÖú",9,240,150,50,14 - PUSHBUTTON "È¡Ïû",IDCANCEL,150,150,50,14 - LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP - LTEXT "Îļþ/Ŀ¼",IDC_STATIC,10,10,44,10 - LTEXT "Ãû³Æ",IDC_STATIC,90,10,20,8 - LTEXT "ÏÞ¶î",IDC_STATIC,225,10,19,8 - LTEXT "ÒÑʹÓÃ",IDC_STATIC,270,10,24,8 - LTEXT "ÒÑʹÓà %",IDC_STATIC,305,10,34,8 - LTEXT "±êʶ·û",IDC_STATIC,175,10,29,8 - LTEXT "ÐÂÏ޶",IDC_STATIC,10,127,40,10 - EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED - PUSHBUTTON "ÏÔʾ·ÖÇøÐÅÏ¢",IDC_PARTITION_INFO,205,125,69,14, - WS_DISABLED - LTEXT "ǧ×Ö½Ú",IDC_STATIC,118,127,25,10 - CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | - UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | - WS_DISABLED,106,125,10,14 -END - -IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ÉèÖà AFS ACL" -FONT 8, "System" -BEGIN - LTEXT "",IDC_DIR_NAME,51,12,259,10 - LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - CONTROL "r - ¶ÁÈ¡",IDC_READ,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,52,55,10 - CONTROL "w - дÈë",IDC_WRITE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,111,55,10 - CONTROL "l - ²é±í",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,66,55,10 - CONTROL "d - ɾ³ý",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,96,55,10 - CONTROL "i - ²åÈë",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,81,55,10 - CONTROL "k - Ëø¶¨",IDC_LOCK,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,126,55,10 - CONTROL "a - ¹ÜÀí",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,141,55,10 - PUSHBUTTON "Ìí¼Ó(&A)...",IDC_ADD,270,45,45,14 - PUSHBUTTON "³ýÈ¥(&R)",IDC_REMOVE,270,70,45,14,WS_DISABLED - PUSHBUTTON "Çå³ý(&C)",IDC_CLEAN,270,95,45,14 - DEFPUSHBUTTON "È·¶¨(&O)",IDOK,270,150,45,14 - PUSHBUTTON "È¡Ïû(&N)",IDCANCEL,270,175,45,14 - PUSHBUTTON "°ïÖú(&H)",9,270,201,45,14 - LTEXT "Ŀ¼£º",IDC_STATIC,15,12,30,10 - GROUPBOX "Ðí¿ÉȨ",IDC_STATIC,195,41,65,115 - LTEXT "Õý³£",IDC_STATIC,10,30,23,8 - LTEXT "Ãû³Æ",IDC_COLUMN_3,69,38,20,8 - LTEXT "Ðí¿ÉȨ",IDC_STATIC,10,38,37,8 - LTEXT "ä¯ÀÀ",IDC_STATIC,10,125,30,8 - LTEXT "Ðí¿ÉȨ",IDC_STATIC,10,133,38,8 - LTEXT "Ãû³Æ",IDC_COLUMN_4,69,133,20,8 - GROUPBOX "",IDC_STATIC,10,5,305,20 - PUSHBUTTON "¸´ÖÆ(&P)...",IDC_COPY,270,120,45,14 -END - -IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "¶¨Öư²×°µã" -FONT 8, "System" -BEGIN - EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "È·¶¨",IDOK,20,81,50,14 - PUSHBUTTON "È¡Ïû",IDCANCEL,85,81,50,14 - PUSHBUTTON "°ïÖú",9,150,81,50,14 - LTEXT "Ŀ¼£º",IDC_STATIC,5,12,30,10 - LTEXT "¾í£º",IDC_STATIC,5,27,30,10 - LTEXT "µ¥Ôª£º",IDC_STATIC,5,42,30,10 - GROUPBOX "",IDC_STATIC,40,52,115,20 - LTEXT "Ñ¡Ï",IDC_STATIC,5,57,30,10 - CONTROL "¹æÔò",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | - WS_GROUP,45,59,41,10 - CONTROL "¶ÁÈ¡£¯Ð´Èë",IDC_RW,"Button",BS_AUTORADIOBUTTON,100,59, - 50,10 -END - -IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Ìí¼Ó ACL ÌõÄ¿" -FONT 8, "System" -BEGIN - EDITTEXT IDC_NAME,41,70,184,12,ES_AUTOHSCROLL - CONTROL "r - ¶ÁÈ¡",IDC_READ,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,15,45,10 - CONTROL "l - ²é±í",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,25,50,10 - CONTROL "i - ²åÈë",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,35,50,10 - CONTROL "d - ɾ³ý",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,45,50,10 - CONTROL "w - дÈë",IDC_WRITE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,15,50,10 - CONTROL "k - Ëø¶¨",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,25,55,10 - CONTROL "a - ¹ÜÀí",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,35,60,10 - CONTROL "Ò»°ãÌõÄ¿",IDC_ADD_NORMAL_ENTRY,"Button", - BS_AUTORADIOBUTTON | WS_GROUP,161,16,54,10 - CONTROL "ä¯ÀÀÌõÄ¿",IDC_ADD_NEGATIVE_ENTRY,"Button", - BS_AUTORADIOBUTTON,161,26,59,10 - PUSHBUTTON "È·¶¨",IDOK,22,90,50,14 - PUSHBUTTON "È¡Ïû",IDCANCEL,92,90,50,14 - PUSHBUTTON "°ïÖú",9,162,90,50,14 - LTEXT "Ãû³Æ£º",IDC_STATIC,10,72,26,8 - GROUPBOX "Ðí¿ÉȨ",IDC_STATIC,10,5,135,55 - GROUPBOX "ÌõÄ¿ÀàÐÍ",IDC_STATIC,155,6,70,34 -END - -IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "·ÖÇøÐÅÏ¢" -FONT 8, "System" -BEGIN - EDITTEXT IDC_TOTAL_SIZE,50,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_BLOCKS_FREE,50,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_PERCENT_USED,50,40,40,12,ES_AUTOHSCROLL | - WS_DISABLED | NOT WS_TABSTOP - DEFPUSHBUTTON "¹Ø±Õ",IDOK,14,62,40,14 - PUSHBUTTON "°ïÖú",9,69,62,40,14 - LTEXT "ÒÑʹÓà %£º",IDC_STATIC,5,42,40,8 - LTEXT "¿ÕÏп飺",IDC_STATIC,5,27,40,8 - LTEXT "×ܼƴóС£º",IDC_STATIC,5,12,40,8 - LTEXT "ǧ×Ö½Ú",IDC_STATIC,92,12,25,8 - LTEXT "ǧ×Ö½Ú",IDC_STATIC,92,27,25,8 -END - -IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "¸´ÖÆ ACL" -FONT 8, "System" -BEGIN - EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY - EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL - PUSHBUTTON "ä¯ÀÀ",IDC_BROWSE,195,25,35,15 - CONTROL "Çå³ýµ±Ç°ÌõÄ¿£º",IDC_CLEAR,"Button",BS_AUTOCHECKBOX | - BS_LEFTTEXT | WS_TABSTOP,10,46,82,10 - DEFPUSHBUTTON "È·¶¨",IDOK,20,65,50,14,WS_DISABLED - PUSHBUTTON "È¡Ïû",IDCANCEL,95,65,50,14 - PUSHBUTTON "°ïÖú",9,170,65,50,14 - LTEXT "¸´ÖÆ×Ô£º",IDC_STATIC,15,12,35,8 - LTEXT "¸´ÖƵ½£º",IDC_STATIC,15,29,35,8 -END - -IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "λÖÃ" -FONT 8, "System" -BEGIN - DEFPUSHBUTTON "¹Ø±Õ",IDOK,65,145,50,14 - PUSHBUTTON "°ïÖú",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "Îļþ/Ŀ¼",IDC_STATIC,10,10,47,8 - LTEXT "Îļþ·þÎñÆ÷",IDC_STATIC,128,10,44,8 -END - -IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "½á¹û" -FONT 8, "System" -BEGIN - DEFPUSHBUTTON "¹Ø±Õ",IDOK,65,145,50,14 - PUSHBUTTON "°ïÖú",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "Îļþ/Ŀ¼",-1,10,10,45,8 - LTEXT "½á¹û",IDC_RESULTS_LABEL,128,10,44,8 -END - -IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "°²×°µã" -FONT 8, "System" -BEGIN - DEFPUSHBUTTON "¹Ø±Õ",IDOK,65,145,50,14 - PUSHBUTTON "°ïÖú",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "Îļþ",IDC_STATIC,10,11,27,8 - LTEXT "¾í",IDC_STATIC,75,11,27,8 - LTEXT "µ¥Ôª",IDC_STATIC,155,11,27,8 - LTEXT "ÀàÐÍ",IDC_STATIC,230,11,27,8 -END - -IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "¹Ø±ÕµÄ·þÎñÆ÷" -FONT 8, "System" -BEGIN - LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL - LTEXT "ÕâЩ·þÎñÆ÷ÈÔÈ»¹Ø±Õ×Å£º",IDC_STATIC,10,10,95,8 - DEFPUSHBUTTON "È·¶¨",IDOK,82,140,45,15 -END - -IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "·þÎñÆ÷״̬" -FONT 8, "System" -BEGIN - CONTROL "±¾µØµ¥Ôª",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | - WS_GROUP | WS_TABSTOP,20,20,50,8 - CONTROL "Ö¸¶¨µÄµ¥Ôª£º",IDC_SPECIFIEDCELL,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,60,10 - CONTROL "ËùÓе¥Ôª",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON | - WS_TABSTOP,20,65,45,10 - CONTROL "²»¼ì²â·þÎñÆ÷",IDC_DONTPROBESERVERS,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,24,87,80,10 - PUSHBUTTON "ÏÔʾ״̬",IDC_SHOWSTATUS,10,120,50,14 - GROUPBOX "µ¥Ôª",IDC_STATIC,10,5,160,105,WS_GROUP - GROUPBOX "",IDC_STATIC,20,80,90,20,WS_GROUP - EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL - PUSHBUTTON "¹Ø±Õ",IDCANCEL,65,120,50,14 - PUSHBUTTON "°ïÖú",9,120,120,50,14 -END - -IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "ÈÏÖ¤" -FONT 8, "System" -BEGIN - LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - PUSHBUTTON "»ñµÃÁîÅÆ",ID_GET_TOKENS,15,137,55,14 - PUSHBUTTON "¶ªÆúÁîÅÆ",ID_DISCARD_TOKENS,80,137,55,14 - PUSHBUTTON "¹Ø±Õ",IDCANCEL,145,137,55,14 - PUSHBUTTON "°ïÖú",9,215,137,55,14 - LTEXT "Óû§Ãû",IDC_STATIC,10,9,38,8 - LTEXT "µ¥ÔªÃû",IDC_STATIC,104,9,33,8 - LTEXT "µ½ÆÚ",IDC_STATIC,222,9,32,8 -END - -IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "»ñµÃÁîÅÆ" -FONT 8, "System" -BEGIN - EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL - EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL - EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "È·¶¨",IDOK,20,70,35,14,WS_DISABLED - PUSHBUTTON "È¡Ïû",IDCANCEL,70,70,35,14 - PUSHBUTTON "°ïÖú",9,120,70,35,14 - LTEXT "Ãû³Æ£º",IDC_STATIC,10,12,27,8 - LTEXT "¿ÚÁ",IDC_STATIC,10,32,27,8 - LTEXT "µ¥Ôª£º",IDC_STATIC,10,52,27,8 -END - -IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "¶ªÆúÁîÅÆ" -FONT 8, "System" -BEGIN - DEFPUSHBUTTON "È·¶¨",IDOK,25,40,35,14 - PUSHBUTTON "È¡Ïû",IDCANCEL,75,40,35,14 - PUSHBUTTON "°ïÖú",9,125,40,35,14 - LTEXT "µ¥Ôª£º",IDC_STATIC,10,17,24,8 - EDITTEXT IDC_CELL_NAME,37,15,137,12,ES_AUTOHSCROLL -END - -IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "×Ó°²×°" -FONT 8, "System" -BEGIN - LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "Ìí¼Ó ",IDC_ADD,202,20,45,14 - PUSHBUTTON "ɾ³ý",IDC_DELETE,202,39,45,14,WS_DISABLED - PUSHBUTTON "¸ü¸Ä",IDC_CHANGE,202,58,45,14,WS_DISABLED - LTEXT "×Ó°²×°£º",IDC_STATIC,10,10,50,8 - PUSHBUTTON "È·¶¨",IDOK,202,145,45,14 - PUSHBUTTON "È¡Ïû",IDCANCEL,202,163,45,14 -END - -IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Ìí¼Ó×Ó°²×°" -FONT 8, "System" -BEGIN - EDITTEXT IDC_SHARE_NAME,62,8,163,12,ES_AUTOHSCROLL - EDITTEXT IDC_PATH_NAME,62,23,163,12,ES_AUTOHSCROLL - PUSHBUTTON "È·¶¨",IDOK,22,53,45,14 - PUSHBUTTON "È¡Ïû",IDCANCEL,92,53,45,14 - PUSHBUTTON "°ïÖú",9,167,53,45,14 - LTEXT "¹²ÏíÃû£º",IDC_STATIC,18,10,41,8 - LTEXT "·¾¶Ãû£º",IDC_STATIC,18,25,41,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE -BEGIN - IDD_SERVERSTATUS, DIALOG - BEGIN - RIGHTMARGIN, 171 - END - - IDD_AUTHENTICATION, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 278 - TOPMARGIN, 7 - BOTTOMMARGIN, 151 - END - - IDD_KLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 162 - TOPMARGIN, 7 - BOTTOMMARGIN, 86 - END - - IDD_UNLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 178 - TOPMARGIN, 7 - BOTTOMMARGIN, 56 - END - - IDD_SUBMTINFO, DIALOG - BEGIN - LEFTMARGIN, 10 - RIGHTMARGIN, 247 - BOTTOMMARGIN, 177 - END - - IDD_ADD_SUBMOUNT, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 25 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE DISCARDABLE -BEGIN - ID_ACL_CLEAN "fs cleanacl" - ID_ACL_COPY "fs copyacl" - ID_ACL_LIST "fs listacl" - ID_ACL_SET "fs setacl" - ID_VOLUME_CHECK "fs checkvolumes" - ID_VOLUME_DISKFREE "fs diskfree" - ID_VOLUME_EXAMINE "fs examine" - ID_VOLUME_FLUSH "fs flushvolume" - ID_VOLUME_QUOTA_BRIEF "fs quota" - ID_VOLUME_QUOTA_FULL "fs listquota" - ID_VOLUME_QUOTA_SET "fs setvol" - ID_VOLUME_SET "fs setvol" -END - -STRINGTABLE DISCARDABLE -BEGIN - ID_FLUSH "fs flush" - ID_WHEREIS "fs whereis" - ID_SHOWCELL "fs whichcell" - ID_MOUNTPOINT_SHOW "fs lsmount" - ID_MOUNTPOINT_REMOVE "fs rmmount" - ID_SHOW_SERVER "fs whereis" - ID_AUTHENTICATE "µÇ¼½øÈë»òÍ˳ö AFS" - ID_SERVER_STATUS "¼ì²é·þÎñÆ÷" - ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" - ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" - ID_MOUNTPOINT_MAKE "fs mkmount" - IDS_FLUSH_FAILED "²»ÄÜÇå²Ö»î¶¯µÄÎļþ %o" - IDS_FLUSH_ERROR "Çå²ÖÎļþ %o ³ö´í£º %s" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_FLUSH_OK "³É¹¦Çå²ÖÑ¡¶¨µÄÎļþ" - IDS_CANT_GET_CELL "È·¶¨µ¥Ôª³ö´í£º" - IDS_FLUSH_VOLUME_ERROR "Çå²Ö %o µÄ¾í³ö´í£º%s" - IDS_FLUSH_VOLUME_OK "Çå²Ö¾í³É¹¦" - IDS_WHERE_IS "Îļþ %o ÔÚÖ÷»ú %s ÉÏ" - IDS_CLEANACL_NOT_SUPPORTED - "²»ÄÜÇå³ýÎļþ %o µÄ ACL£ºDFS ´æÈ¡ÁÐ±í²»Ö§³ÖÇå³ý Acl" - IDS_ACL_IS_FINE "%o ´æÈ¡Áбí¿ÉÓÃ" - IDS_CLEANACL_INVALID_ARG - "²»ÄÜÇå³ýÎļþ %o µÄ ACL£ºÎÞЧ±äÁ¿,¿ÉÄܵÄÔ­Òò°üÀ¨£ºÎļþ²»ÔÚ vice Öлò´æÈ¡¿ØÖƱíÖÐÓû§Ì«¶à" - IDS_ANY_STRING "%o" - IDS_CLEANACL_DONE "ÒÑɾ³ý¹ýʱµÄ ACL ÌõÄ¿¡£" - ID_SUBMOUNTS "´´½¨»òɾ³ýÒ»¸ö AFS ×Ó°²×°" - IDS_GETRIGHTS_ERROR "ÎÞ·¨¶ÁȡĿ¼ %o µÄ´æÈ¡ÁÐ±í£º%o" - IDS_DFSACL_ERROR "²»ÄÜÓôËÃüÁî±à¼­ DFS ACL" - IDS_SAVE_ACL_ERROR "²»Äܱ£´æ %o µÄ ACL£º%o" - IDS_SAVE_ACL_EINVAL_ERROR - "²»Äܱ£´æ %o µÄ ACL£ºÎÞЧ±äÁ¿£¬¿ÉÄܵÄÔ­Òò°üÀ¨£ºÎļþ²»ÔÚ AFS ÖУ¬»ò´æÈ¡¿ØÖƱíÖÐÓû§Ì«¶à£¬Çë³¢ÊÔÌí¼Ó·ÇÏÖÓÐÓû§ÖÁ´æÈ¡¿ØÖƱíÖÐ" - IDS_ACL_READ_ERROR "²»ÄܶÁÈ¡ %o µÄ ACL£º%o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_NO_DFS_COPY_ACL "²»ÄÜΪĿ¼ %o ¸´ÖÆ ACL£ºDFS ´æÈ¡ÁÐ±í²»Ö§³Ö¸´ÖÆ ACL" - IDS_COPY_ACL_EINVAL_ERROR - "²»Äܸ´ÖÆ ACL ÖÁĿ¼ %o£ºÎÞЧ±äÁ¿£¬¿ÉÄܵÄÔ­Òò°üÀ¨£ºÎļþ²»ÔÚ AFS ÖС£" - IDS_COPY_ACL_ERROR "²»Äܸ´ÖÆ ACL ÖÁ %o£º%o" - IDS_NOT_MOUNT_POINT_ERROR "%o ²»ÊÇÒ»¸ö°²×°µã¡£" - IDS_LIST_MOUNT_POINT_ERROR "³ö´í£º%o" - IDS_MAKE_MP_NOT_AFS_ERROR "°²×°µã±ØÐë´´½¨ÔÚ AFS ÎļþϵͳÖÐ" - IDS_MOUNT_POINT_ERROR "´´½¨°²×°µã³ö´í£º%o" - IDS_ERROR "³ö´í£º%o" - IDS_DELETED "³É¹¦É¾³ý" - IDS_SET_QUOTA_ERROR "ÉèÖÃÏÞ¶î³ö´í£º%o" - ID_SUBMOUNTS_CREATE "´´½¨Ò»¸ö AFS ×Ó°²×°" - ID_SUBMOUNTS_EDIT "Ìí¼Ó¡¢¸ü¸Ä»òɾ³ý AFS ×Ó°²×°" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_CHECK_SERVERS_ERROR "¼ì²éÎļþ·þÎñÆ÷µÄ״̬³ö´í£º %o" - IDS_ALL_SERVERS_RUNNING "ËùÓзþÎñÆ÷ÕýÔÚÔËÐС£" - IDS_CHECK_VOLUMES_OK "ÒѼì²éËùÓоí±êʶ·û£¯Ãû³ÆÓ³Éä¡£" - IDS_CHECK_VOLUMES_ERROR "¼ì²é¾í±êʶ·û£¯Ãû³ÆÓ³Éä³ö´í£º %o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_ACL_ENTRY_NAME_IN_USE "ÄúËùÑ¡ÔñµÄÃû³ÆÔÚʹÓÃÖС£ÇëÊäÈëÒ»¸ö²»Í¬µÄÃû³Æ¡£" - IDS_REALLY_DEL_MOUNT_POINTS "È·ÈÏÄúÒª³ýȥѡ¶¨µÄ°²×°µãÂð?" - IDS_DIR_DOES_NOT_EXIST_ERROR "Ŀ¼¡®%o¡¯²»´æÔÚ¡£" - IDS_CLEANACL_MSG "½«É¾³ý¹ýʱµÄ ACL!" - IDS_COPY_ACL_OK "ACL ¸´ÖƳɹ¦¡£" - IDS_GET_TOKENS_NO_AFS_SERVICE "²»ÄܶÁÈ¡ÁîÅÆÐÅÏ¢£ºAFS ·þÎñ¿ÉÄÜûÓÐÆô¶¯¡£" - IDS_GET_TOKENS_UNEXPECTED_ERROR - "²»ÄܶÁÈ¡ÁîÅÆÐÅÏ¢£º²»¿ÉÔ¤¼ÆµÄ´íÎ󣬴úÂë %d¡£" - IDS_GET_TOKENS_UNEXPECTED_ERROR2 - "²»ÄܶÁÈ¡ÁîÅÆÐÅÏ¢£º²»¿ÉÔ¤¼ÆµÄ´íÎ󣬷þÎñ %s.%s.%s£¬´úÂë %d¡£" - IDS_ENTER_QUOTA "ÇëÊäÈëÒ»¸öÓÐЧµÄÏÞ¶î¡£" - IDS_AUTHENTICATION_ITEM "ÈÏÖ¤(&A)..." - IDS_ACLS_ITEM "´æÈ¡¿ØÖƱí(&C)..." - IDS_VOL_PART_ITEM "¾í£¯·ÖÇø(&V)" - IDS_VOL_PART_PROPS_ITEM "ÌØÐÔ(&P)" - IDS_VOL_PART_REFRESH_ITEM "Ë¢ÐÂÃû³Æ£¯±êʶ·ûÓ³Éä(&R)" - IDS_MOUNT_POINT_ITEM "°²×°µã(&M)" - IDS_MP_SHOW_ITEM "ÏÔʾ(&S)..." -END - -STRINGTABLE DISCARDABLE -BEGIN - AFX_IDS_APP_TITLE "AFS ¿Í»§»ú" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_MP_REMOVE_ITEM "³ýÈ¥(&R)..." - IDS_MP_MAKE_ITEM "¶¨ÖÆ(&M)..." - IDS_FLUSH_FILE_DIR_ITEM "Çå²ÖÎļþ£¯Ä¿Â¼(&F)" - IDS_FLUSH_VOLUME_ITEM "Çå²Ö¾í(&U)" - IDS_SHOW_FILE_SERVERS_ITEM "ÏÔʾÎļþ·þÎñÆ÷(&F)..." - IDS_SHOW_CELL_ITEM "ÏÔʾµ¥Ôª(&C)..." - IDS_SHOW_SERVER_STATUS_ITEM "ÏÔʾ·þÎñÆ÷״̬..." - IDS_AFS_ITEM "AFS(&A)" - IDS_SUBMOUNTS_ITEM "×Ó°²×°(&B)" - IDS_GET_SUBMT_INFO_ERROR "ÎÞ·¨¶ÁÈ¡Óйع²ÏíÃû %o µÄ×Ó°²×°ÐÅÏ¢¡£" - IDS_REALLY_DELETE_SUBMT "ɾ³ý¹²ÏíÃû %o Âð?" - IDS_SUBMT_SAVE_FAILED "¶ÔÓÚ×Ó°²×°Êý¾Ý¿âµÄ¸ü¸Äʧ°Ü¡£" - IDS_SUBMOUNTS_CREATE_ITEM "Ìí¼Ó(&A)" - IDS_SUBMOUNTS_EDIT_ITEM "±à¼­(&E)..." - IDS_EDIT_PATH_NAME "±à¼­Â·¾¶Ãû" - IDS_SHOW_CELL "ÏÔʾµ¥Ôª" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_SHOW_CELL_COLUMN "µ¥Ôª" - IDS_SHOW_FS "ÏÔʾÎļþ·þÎñÆ÷" - IDS_SHOW_FS_COLUMN "Îļþ·þÎñÆ÷" - IDS_REMOVE_MP "³ýÈ¥°²×°µã" - IDS_REMOVE_MP_COLUMN "½á¹û" -END - -#endif // Chinese (P.R.C.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#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 -#endif -#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources -#include "afxres.rc" // Standard components -#endif -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Chinese (P.R.C.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS) +#ifdef _WIN32 +LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED +#endif //_WIN32 + +#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" + "#endif\r\n" + "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" + "#include ""afxres.rc"" // Standard components\r\n" + "#endif\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU_FILE MENU DISCARDABLE +BEGIN + MENUITEM "ÈÏÖ¤...", IDM_AUTHENTICATION + MENUITEM "´æÈ¡¿ØÖƱí...", IDM_ACL_SET + POPUP "¾í£¯·ÖÇø(&V)" + BEGIN + MENUITEM "ÌØÐÔ(&P)...", IDM_VOLUME_PROPERTIES + MENUITEM "Ë¢ÐÂÃû³Æ£¯±êʶ·ûÓ³Éä(&R)", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE + + END + POPUP "°²×°µã(&M)" + BEGIN + MENUITEM "ÏÔʾ(&S)...", IDM_MOUNTPOINT_SHOW + MENUITEM "³ýÈ¥(&R)...", IDM_MOUNTPOINT_REMOVE + MENUITEM "¶¨ÖÆ(&M)...", IDM_MOUNTPOINT_MAKE + END + MENUITEM "Çå²ÖÎļþ£¯Ä¿Â¼(&F)", IDM_FLUSH + MENUITEM "Çå²Ö¾í(&U)", IDM_FLUSH_VOLUME + MENUITEM "ÏÔʾÎļþ·þÎñÆ÷(&F)...", IDM_SHOW_SERVER + MENUITEM "ÏÔʾµ¥Ôª(&C)...", IDM_SHOWCELL + MENUITEM "ÏÔʾ·þÎñÆ÷״̬...", IDM_SERVER_STATUS + MENUITEM "Remove SymLink", IDM_REMOVE_SYMLINK +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "¾íÐÅÏ¢" +FONT 8, "System" +BEGIN + DEFPUSHBUTTON "È·¶¨",IDOK,60,150,50,14,WS_DISABLED + PUSHBUTTON "°ïÖú",9,240,150,50,14 + PUSHBUTTON "È¡Ïû",IDCANCEL,150,150,50,14 + LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + LTEXT "Îļþ/Ŀ¼",IDC_STATIC,10,10,44,10 + LTEXT "Ãû³Æ",IDC_STATIC,90,10,20,8 + LTEXT "ÏÞ¶î",IDC_STATIC,225,10,19,8 + LTEXT "ÒÑʹÓÃ",IDC_STATIC,270,10,24,8 + LTEXT "ÒÑʹÓà %",IDC_STATIC,305,10,34,8 + LTEXT "±êʶ·û",IDC_STATIC,175,10,29,8 + LTEXT "ÐÂÏ޶",IDC_STATIC,10,127,40,10 + EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED + PUSHBUTTON "ÏÔʾ·ÖÇøÐÅÏ¢",IDC_PARTITION_INFO,205,125,69,14, + WS_DISABLED + LTEXT "ǧ×Ö½Ú",IDC_STATIC,118,127,25,10 + CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | + UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | + WS_DISABLED,106,125,10,14 +END + +IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ÉèÖà AFS ACL" +FONT 8, "System" +BEGIN + LTEXT "",IDC_DIR_NAME,51,12,259,10 + LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + CONTROL "r - ¶ÁÈ¡",IDC_READ,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,52,55,10 + CONTROL "w - дÈë",IDC_WRITE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,111,55,10 + CONTROL "l - ²é±í",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,66,55,10 + CONTROL "d - ɾ³ý",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,96,55,10 + CONTROL "i - ²åÈë",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,81,55,10 + CONTROL "k - Ëø¶¨",IDC_LOCK,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,126,55,10 + CONTROL "a - ¹ÜÀí",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,141,55,10 + PUSHBUTTON "Ìí¼Ó(&A)...",IDC_ADD,270,45,45,14 + PUSHBUTTON "³ýÈ¥(&R)",IDC_REMOVE,270,70,45,14,WS_DISABLED + PUSHBUTTON "Çå³ý(&C)",IDC_CLEAN,270,95,45,14 + DEFPUSHBUTTON "È·¶¨(&O)",IDOK,270,150,45,14 + PUSHBUTTON "È¡Ïû(&N)",IDCANCEL,270,175,45,14 + PUSHBUTTON "°ïÖú(&H)",9,270,201,45,14 + LTEXT "Ŀ¼£º",IDC_STATIC,15,12,30,10 + GROUPBOX "Ðí¿ÉȨ",IDC_STATIC,195,41,65,115 + LTEXT "Õý³£",IDC_STATIC,10,30,23,8 + LTEXT "Ãû³Æ",IDC_COLUMN_3,69,38,20,8 + LTEXT "Ðí¿ÉȨ",IDC_STATIC,10,38,37,8 + LTEXT "ä¯ÀÀ",IDC_STATIC,10,125,30,8 + LTEXT "Ðí¿ÉȨ",IDC_STATIC,10,133,38,8 + LTEXT "Ãû³Æ",IDC_COLUMN_4,69,133,20,8 + GROUPBOX "",IDC_STATIC,10,5,305,20 + PUSHBUTTON "¸´ÖÆ(&P)...",IDC_COPY,270,120,45,14 +END + +IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "¶¨Öư²×°µã" +FONT 8, "System" +BEGIN + EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "È·¶¨",IDOK,20,81,50,14 + PUSHBUTTON "È¡Ïû",IDCANCEL,85,81,50,14 + PUSHBUTTON "°ïÖú",9,150,81,50,14 + LTEXT "Ŀ¼£º",IDC_STATIC,5,12,30,10 + LTEXT "¾í£º",IDC_STATIC,5,27,30,10 + LTEXT "µ¥Ôª£º",IDC_STATIC,5,42,30,10 + GROUPBOX "",IDC_STATIC,40,52,115,20 + LTEXT "Ñ¡Ï",IDC_STATIC,5,57,30,10 + CONTROL "¹æÔò",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,45,59,41,10 + CONTROL "¶ÁÈ¡£¯Ð´Èë",IDC_RW,"Button",BS_AUTORADIOBUTTON,100,59, + 50,10 +END + +IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Ìí¼Ó ACL ÌõÄ¿" +FONT 8, "System" +BEGIN + EDITTEXT IDC_NAME,41,70,184,12,ES_AUTOHSCROLL + CONTROL "r - ¶ÁÈ¡",IDC_READ,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,15,45,10 + CONTROL "l - ²é±í",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,25,50,10 + CONTROL "i - ²åÈë",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,35,50,10 + CONTROL "d - ɾ³ý",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,45,50,10 + CONTROL "w - дÈë",IDC_WRITE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,15,50,10 + CONTROL "k - Ëø¶¨",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,25,55,10 + CONTROL "a - ¹ÜÀí",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,35,60,10 + CONTROL "Ò»°ãÌõÄ¿",IDC_ADD_NORMAL_ENTRY,"Button", + BS_AUTORADIOBUTTON | WS_GROUP,161,16,54,10 + CONTROL "ä¯ÀÀÌõÄ¿",IDC_ADD_NEGATIVE_ENTRY,"Button", + BS_AUTORADIOBUTTON,161,26,59,10 + PUSHBUTTON "È·¶¨",IDOK,22,90,50,14 + PUSHBUTTON "È¡Ïû",IDCANCEL,92,90,50,14 + PUSHBUTTON "°ïÖú",9,162,90,50,14 + LTEXT "Ãû³Æ£º",IDC_STATIC,10,72,26,8 + GROUPBOX "Ðí¿ÉȨ",IDC_STATIC,10,5,135,55 + GROUPBOX "ÌõÄ¿ÀàÐÍ",IDC_STATIC,155,6,70,34 +END + +IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "·ÖÇøÐÅÏ¢" +FONT 8, "System" +BEGIN + EDITTEXT IDC_TOTAL_SIZE,50,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_BLOCKS_FREE,50,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_PERCENT_USED,50,40,40,12,ES_AUTOHSCROLL | + WS_DISABLED | NOT WS_TABSTOP + DEFPUSHBUTTON "¹Ø±Õ",IDOK,14,62,40,14 + PUSHBUTTON "°ïÖú",9,69,62,40,14 + LTEXT "ÒÑʹÓà %£º",IDC_STATIC,5,42,40,8 + LTEXT "¿ÕÏп飺",IDC_STATIC,5,27,40,8 + LTEXT "×ܼƴóС£º",IDC_STATIC,5,12,40,8 + LTEXT "ǧ×Ö½Ú",IDC_STATIC,92,12,25,8 + LTEXT "ǧ×Ö½Ú",IDC_STATIC,92,27,25,8 +END + +IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "¸´ÖÆ ACL" +FONT 8, "System" +BEGIN + EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY + EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL + PUSHBUTTON "ä¯ÀÀ",IDC_BROWSE,195,25,35,15 + CONTROL "Çå³ýµ±Ç°ÌõÄ¿£º",IDC_CLEAR,"Button",BS_AUTOCHECKBOX | + BS_LEFTTEXT | WS_TABSTOP,10,46,82,10 + DEFPUSHBUTTON "È·¶¨",IDOK,20,65,50,14,WS_DISABLED + PUSHBUTTON "È¡Ïû",IDCANCEL,95,65,50,14 + PUSHBUTTON "°ïÖú",9,170,65,50,14 + LTEXT "¸´ÖÆ×Ô£º",IDC_STATIC,15,12,35,8 + LTEXT "¸´ÖƵ½£º",IDC_STATIC,15,29,35,8 +END + +IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "λÖÃ" +FONT 8, "System" +BEGIN + DEFPUSHBUTTON "¹Ø±Õ",IDOK,65,145,50,14 + PUSHBUTTON "°ïÖú",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "Îļþ/Ŀ¼",IDC_STATIC,10,10,47,8 + LTEXT "Îļþ·þÎñÆ÷",IDC_STATIC,128,10,44,8 +END + +IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "½á¹û" +FONT 8, "System" +BEGIN + DEFPUSHBUTTON "¹Ø±Õ",IDOK,65,145,50,14 + PUSHBUTTON "°ïÖú",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "Îļþ/Ŀ¼",-1,10,10,45,8 + LTEXT "½á¹û",IDC_RESULTS_LABEL,128,10,44,8 +END + +IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "°²×°µã" +FONT 8, "System" +BEGIN + DEFPUSHBUTTON "¹Ø±Õ",IDOK,65,145,50,14 + PUSHBUTTON "°ïÖú",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "Îļþ",IDC_STATIC,10,11,27,8 + LTEXT "¾í",IDC_STATIC,75,11,27,8 + LTEXT "µ¥Ôª",IDC_STATIC,155,11,27,8 + LTEXT "ÀàÐÍ",IDC_STATIC,230,11,27,8 +END + +IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "¹Ø±ÕµÄ·þÎñÆ÷" +FONT 8, "System" +BEGIN + LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL + LTEXT "ÕâЩ·þÎñÆ÷ÈÔÈ»¹Ø±Õ×Å£º",IDC_STATIC,10,10,95,8 + DEFPUSHBUTTON "È·¶¨",IDOK,82,140,45,15 +END + +IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "·þÎñÆ÷״̬" +FONT 8, "System" +BEGIN + CONTROL "±¾µØµ¥Ôª",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | + WS_GROUP | WS_TABSTOP,20,20,50,8 + CONTROL "Ö¸¶¨µÄµ¥Ôª£º",IDC_SPECIFIEDCELL,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,60,10 + CONTROL "ËùÓе¥Ôª",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON | + WS_TABSTOP,20,65,45,10 + CONTROL "²»¼ì²â·þÎñÆ÷",IDC_DONTPROBESERVERS,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,24,87,80,10 + PUSHBUTTON "ÏÔʾ״̬",IDC_SHOWSTATUS,10,120,50,14 + GROUPBOX "µ¥Ôª",IDC_STATIC,10,5,160,105,WS_GROUP + GROUPBOX "",IDC_STATIC,20,80,90,20,WS_GROUP + EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL + PUSHBUTTON "¹Ø±Õ",IDCANCEL,65,120,50,14 + PUSHBUTTON "°ïÖú",9,120,120,50,14 +END + +IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "ÈÏÖ¤" +FONT 8, "System" +BEGIN + LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + PUSHBUTTON "»ñµÃÁîÅÆ",ID_GET_TOKENS,15,137,55,14 + PUSHBUTTON "¶ªÆúÁîÅÆ",ID_DISCARD_TOKENS,80,137,55,14 + PUSHBUTTON "¹Ø±Õ",IDCANCEL,145,137,55,14 + PUSHBUTTON "°ïÖú",9,215,137,55,14 + LTEXT "Óû§Ãû",IDC_STATIC,10,9,38,8 + LTEXT "µ¥ÔªÃû",IDC_STATIC,104,9,33,8 + LTEXT "µ½ÆÚ",IDC_STATIC,222,9,32,8 +END + +IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "»ñµÃÁîÅÆ" +FONT 8, "System" +BEGIN + EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL + EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL + EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "È·¶¨",IDOK,20,70,35,14,WS_DISABLED + PUSHBUTTON "È¡Ïû",IDCANCEL,70,70,35,14 + PUSHBUTTON "°ïÖú",9,120,70,35,14 + LTEXT "Ãû³Æ£º",IDC_STATIC,10,12,27,8 + LTEXT "¿ÚÁ",IDC_STATIC,10,32,27,8 + LTEXT "µ¥Ôª£º",IDC_STATIC,10,52,27,8 +END + +IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "¶ªÆúÁîÅÆ" +FONT 8, "System" +BEGIN + DEFPUSHBUTTON "È·¶¨",IDOK,25,40,35,14 + PUSHBUTTON "È¡Ïû",IDCANCEL,75,40,35,14 + PUSHBUTTON "°ïÖú",9,125,40,35,14 + LTEXT "µ¥Ôª£º",IDC_STATIC,10,17,24,8 + EDITTEXT IDC_CELL_NAME,37,15,137,12,ES_AUTOHSCROLL +END + +IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "×Ó°²×°" +FONT 8, "System" +BEGIN + LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "Ìí¼Ó ",IDC_ADD,202,20,45,14 + PUSHBUTTON "ɾ³ý",IDC_DELETE,202,39,45,14,WS_DISABLED + PUSHBUTTON "¸ü¸Ä",IDC_CHANGE,202,58,45,14,WS_DISABLED + LTEXT "×Ó°²×°£º",IDC_STATIC,10,10,50,8 + PUSHBUTTON "È·¶¨",IDOK,202,145,45,14 + PUSHBUTTON "È¡Ïû",IDCANCEL,202,163,45,14 +END + +IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Ìí¼Ó×Ó°²×°" +FONT 8, "System" +BEGIN + EDITTEXT IDC_SHARE_NAME,62,8,163,12,ES_AUTOHSCROLL + EDITTEXT IDC_PATH_NAME,62,23,163,12,ES_AUTOHSCROLL + PUSHBUTTON "È·¶¨",IDOK,22,53,45,14 + PUSHBUTTON "È¡Ïû",IDCANCEL,92,53,45,14 + PUSHBUTTON "°ïÖú",9,167,53,45,14 + LTEXT "¹²ÏíÃû£º",IDC_STATIC,18,10,41,8 + LTEXT "·¾¶Ãû£º",IDC_STATIC,18,25,41,8 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_SERVERSTATUS, DIALOG + BEGIN + RIGHTMARGIN, 171 + END + + IDD_AUTHENTICATION, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 278 + TOPMARGIN, 7 + BOTTOMMARGIN, 151 + END + + IDD_KLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 162 + TOPMARGIN, 7 + BOTTOMMARGIN, 86 + END + + IDD_UNLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 178 + TOPMARGIN, 7 + BOTTOMMARGIN, 56 + END + + IDD_SUBMTINFO, DIALOG + BEGIN + LEFTMARGIN, 10 + RIGHTMARGIN, 247 + BOTTOMMARGIN, 177 + END + + IDD_ADD_SUBMOUNT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 25 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + ID_ACL_CLEAN "fs cleanacl" + ID_ACL_COPY "fs copyacl" + ID_ACL_LIST "fs listacl" + ID_ACL_SET "fs setacl" + ID_VOLUME_CHECK "fs checkvolumes" + ID_VOLUME_DISKFREE "fs diskfree" + ID_VOLUME_EXAMINE "fs examine" + ID_VOLUME_FLUSH "fs flushvolume" + ID_VOLUME_QUOTA_BRIEF "fs quota" + ID_VOLUME_QUOTA_FULL "fs listquota" + ID_VOLUME_QUOTA_SET "fs setvol" + ID_VOLUME_SET "fs setvol" +END + +STRINGTABLE DISCARDABLE +BEGIN + ID_FLUSH "fs flush" + ID_WHEREIS "fs whereis" + ID_SHOWCELL "fs whichcell" + ID_MOUNTPOINT_SHOW "fs lsmount" + ID_MOUNTPOINT_REMOVE "fs rmmount" + ID_SHOW_SERVER "fs whereis" + ID_AUTHENTICATE "µÇ¼½øÈë»òÍ˳ö AFS" + ID_SERVER_STATUS "¼ì²é·þÎñÆ÷" + ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" + ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" + ID_MOUNTPOINT_MAKE "fs mkmount" + IDS_FLUSH_FAILED "²»ÄÜÇå²Ö»î¶¯µÄÎļþ %o" + IDS_FLUSH_ERROR "Çå²ÖÎļþ %o ³ö´í£º %s" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_FLUSH_OK "³É¹¦Çå²ÖÑ¡¶¨µÄÎļþ" + IDS_CANT_GET_CELL "È·¶¨µ¥Ôª³ö´í£º" + IDS_FLUSH_VOLUME_ERROR "Çå²Ö %o µÄ¾í³ö´í£º%s" + IDS_FLUSH_VOLUME_OK "Çå²Ö¾í³É¹¦" + IDS_WHERE_IS "Îļþ %o ÔÚÖ÷»ú %s ÉÏ" + IDS_CLEANACL_NOT_SUPPORTED + "²»ÄÜÇå³ýÎļþ %o µÄ ACL£ºDFS ´æÈ¡ÁÐ±í²»Ö§³ÖÇå³ý Acl" + IDS_ACL_IS_FINE "%o ´æÈ¡Áбí¿ÉÓÃ" + IDS_CLEANACL_INVALID_ARG + "²»ÄÜÇå³ýÎļþ %o µÄ ACL£ºÎÞЧ±äÁ¿,¿ÉÄܵÄÔ­Òò°üÀ¨£ºÎļþ²»ÔÚ vice Öлò´æÈ¡¿ØÖƱíÖÐÓû§Ì«¶à" + IDS_ANY_STRING "%o" + IDS_CLEANACL_DONE "ÒÑɾ³ý¹ýʱµÄ ACL ÌõÄ¿¡£" + ID_SUBMOUNTS "´´½¨»òɾ³ýÒ»¸ö AFS ×Ó°²×°" + IDS_GETRIGHTS_ERROR "ÎÞ·¨¶ÁȡĿ¼ %o µÄ´æÈ¡ÁÐ±í£º%o" + IDS_DFSACL_ERROR "²»ÄÜÓôËÃüÁî±à¼­ DFS ACL" + IDS_SAVE_ACL_ERROR "²»Äܱ£´æ %o µÄ ACL£º%o" + IDS_SAVE_ACL_EINVAL_ERROR + "²»Äܱ£´æ %o µÄ ACL£ºÎÞЧ±äÁ¿£¬¿ÉÄܵÄÔ­Òò°üÀ¨£ºÎļþ²»ÔÚ AFS ÖУ¬»ò´æÈ¡¿ØÖƱíÖÐÓû§Ì«¶à£¬Çë³¢ÊÔÌí¼Ó·ÇÏÖÓÐÓû§ÖÁ´æÈ¡¿ØÖƱíÖÐ" + IDS_ACL_READ_ERROR "²»ÄܶÁÈ¡ %o µÄ ACL£º%o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_NO_DFS_COPY_ACL "²»ÄÜΪĿ¼ %o ¸´ÖÆ ACL£ºDFS ´æÈ¡ÁÐ±í²»Ö§³Ö¸´ÖÆ ACL" + IDS_COPY_ACL_EINVAL_ERROR + "²»Äܸ´ÖÆ ACL ÖÁĿ¼ %o£ºÎÞЧ±äÁ¿£¬¿ÉÄܵÄÔ­Òò°üÀ¨£ºÎļþ²»ÔÚ AFS ÖС£" + IDS_COPY_ACL_ERROR "²»Äܸ´ÖÆ ACL ÖÁ %o£º%o" + IDS_NOT_MOUNT_POINT_ERROR "%o ²»ÊÇÒ»¸ö°²×°µã¡£" + IDS_LIST_MOUNT_POINT_ERROR "³ö´í£º%o" + IDS_MAKE_MP_NOT_AFS_ERROR "°²×°µã±ØÐë´´½¨ÔÚ AFS ÎļþϵͳÖÐ" + IDS_MOUNT_POINT_ERROR "´´½¨°²×°µã³ö´í£º%o" + IDS_ERROR "³ö´í£º%o" + IDS_DELETED "³É¹¦É¾³ý" + IDS_SET_QUOTA_ERROR "ÉèÖÃÏÞ¶î³ö´í£º%o" + ID_SUBMOUNTS_CREATE "´´½¨Ò»¸ö AFS ×Ó°²×°" + ID_SUBMOUNTS_EDIT "Ìí¼Ó¡¢¸ü¸Ä»òɾ³ý AFS ×Ó°²×°" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_CHECK_SERVERS_ERROR "¼ì²éÎļþ·þÎñÆ÷µÄ״̬³ö´í£º %o" + IDS_ALL_SERVERS_RUNNING "ËùÓзþÎñÆ÷ÕýÔÚÔËÐС£" + IDS_CHECK_VOLUMES_OK "ÒѼì²éËùÓоí±êʶ·û£¯Ãû³ÆÓ³Éä¡£" + IDS_CHECK_VOLUMES_ERROR "¼ì²é¾í±êʶ·û£¯Ãû³ÆÓ³Éä³ö´í£º %o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ACL_ENTRY_NAME_IN_USE "ÄúËùÑ¡ÔñµÄÃû³ÆÔÚʹÓÃÖС£ÇëÊäÈëÒ»¸ö²»Í¬µÄÃû³Æ¡£" + IDS_REALLY_DEL_MOUNT_POINTS "È·ÈÏÄúÒª³ýȥѡ¶¨µÄ°²×°µãÂð?" + IDS_DIR_DOES_NOT_EXIST_ERROR "Ŀ¼¡®%o¡¯²»´æÔÚ¡£" + IDS_CLEANACL_MSG "½«É¾³ý¹ýʱµÄ ACL!" + IDS_COPY_ACL_OK "ACL ¸´ÖƳɹ¦¡£" + IDS_GET_TOKENS_NO_AFS_SERVICE "²»ÄܶÁÈ¡ÁîÅÆÐÅÏ¢£ºAFS ·þÎñ¿ÉÄÜûÓÐÆô¶¯¡£" + IDS_GET_TOKENS_UNEXPECTED_ERROR + "²»ÄܶÁÈ¡ÁîÅÆÐÅÏ¢£º²»¿ÉÔ¤¼ÆµÄ´íÎ󣬴úÂë %d¡£" + IDS_GET_TOKENS_UNEXPECTED_ERROR2 + "²»ÄܶÁÈ¡ÁîÅÆÐÅÏ¢£º²»¿ÉÔ¤¼ÆµÄ´íÎ󣬷þÎñ %s.%s.%s£¬´úÂë %d¡£" + IDS_ENTER_QUOTA "ÇëÊäÈëÒ»¸öÓÐЧµÄÏÞ¶î¡£" + IDS_AUTHENTICATION_ITEM "ÈÏÖ¤(&A)..." + IDS_ACLS_ITEM "´æÈ¡¿ØÖƱí(&C)..." + IDS_VOL_PART_ITEM "¾í£¯·ÖÇø(&V)" + IDS_VOL_PART_PROPS_ITEM "ÌØÐÔ(&P)" + IDS_VOL_PART_REFRESH_ITEM "Ë¢ÐÂÃû³Æ£¯±êʶ·ûÓ³Éä(&R)" + IDS_MOUNT_POINT_ITEM "°²×°µã(&M)" + IDS_MP_SHOW_ITEM "ÏÔʾ(&S)..." +END + +STRINGTABLE DISCARDABLE +BEGIN + AFX_IDS_APP_TITLE "AFS ¿Í»§»ú" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_MP_REMOVE_ITEM "³ýÈ¥(&R)..." + IDS_MP_MAKE_ITEM "¶¨ÖÆ(&M)..." + IDS_FLUSH_FILE_DIR_ITEM "Çå²ÖÎļþ£¯Ä¿Â¼(&F)" + IDS_FLUSH_VOLUME_ITEM "Çå²Ö¾í(&U)" + IDS_SHOW_FILE_SERVERS_ITEM "ÏÔʾÎļþ·þÎñÆ÷(&F)..." + IDS_SHOW_CELL_ITEM "ÏÔʾµ¥Ôª(&C)..." + IDS_SHOW_SERVER_STATUS_ITEM "ÏÔʾ·þÎñÆ÷״̬..." + IDS_AFS_ITEM "AFS(&A)" + IDS_SUBMOUNTS_ITEM "×Ó°²×°(&B)" + IDS_GET_SUBMT_INFO_ERROR "ÎÞ·¨¶ÁÈ¡Óйع²ÏíÃû %o µÄ×Ó°²×°ÐÅÏ¢¡£" + IDS_REALLY_DELETE_SUBMT "ɾ³ý¹²ÏíÃû %o Âð?" + IDS_SUBMT_SAVE_FAILED "¶ÔÓÚ×Ó°²×°Êý¾Ý¿âµÄ¸ü¸Äʧ°Ü¡£" + IDS_SUBMOUNTS_CREATE_ITEM "Ìí¼Ó(&A)" + IDS_SUBMOUNTS_EDIT_ITEM "±à¼­(&E)..." + IDS_EDIT_PATH_NAME "±à¼­Â·¾¶Ãû" + IDS_SHOW_CELL "ÏÔʾµ¥Ôª" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHOW_CELL_COLUMN "µ¥Ôª" + IDS_SHOW_FS "ÏÔʾÎļþ·þÎñÆ÷" + IDS_SHOW_FS_COLUMN "Îļþ·þÎñÆ÷" + IDS_REMOVE_MP "³ýÈ¥°²×°µã" + IDS_REMOVE_MP_COLUMN "½á¹û" +END + +#endif // Chinese (P.R.C.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#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 +#endif +#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources +#include "afxres.rc" // Standard components +#endif +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/WINNT/client_exp/lang/zh_TW/afs_shl_ext.rc b/src/WINNT/client_exp/lang/zh_TW/afs_shl_ext.rc index 9281a0d52..4c588d313 100644 --- a/src/WINNT/client_exp/lang/zh_TW/afs_shl_ext.rc +++ b/src/WINNT/client_exp/lang/zh_TW/afs_shl_ext.rc @@ -7,632 +7,633 @@ * directory or online at http://www.openafs.org/dl/license10.html */ -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Chinese (Taiwan) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHT) -#ifdef _WIN32 -LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL -#endif //_WIN32 - -#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_CHT)\r\n" - "#ifdef _WIN32\r\n" - "LANGUAGE 4, 1\r\n" - "#endif\r\n" - "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" - "#include ""afxres.rc"" // Standard components\r\n" - "#endif\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MENU_FILE MENU DISCARDABLE -BEGIN - MENUITEM "Ų§O...", IDM_AUTHENTICATION - MENUITEM "¦s¨ú±±¨î²M³æ...", IDM_ACL_SET - POPUP "®eÅé/¤À³Î°Ï(&V)" - BEGIN - MENUITEM "¤º®e(&P)...", IDM_VOLUME_PROPERTIES - MENUITEM "­«·s¾ã²z¦WºÙ/ID ¹ïÀ³(&R)", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE - - END - POPUP "¸Ë¸üÂI(&M)" - BEGIN - MENUITEM "Åã¥Ü(&S)...", IDM_MOUNTPOINT_SHOW - MENUITEM "²¾°£(&R)...", IDM_MOUNTPOINT_REMOVE - MENUITEM "»s§@(&M)...", IDM_MOUNTPOINT_MAKE - END - MENUITEM "¨R¼gÀÉ®×/¥Ø¿ý(&F)", IDM_FLUSH - MENUITEM "¨R¼g®eÅé(&U)", IDM_FLUSH_VOLUME - MENUITEM "Åã¥ÜÀɮצøªA¾¹(&F)...", IDM_SHOW_SERVER - MENUITEM "Åã¥Ü Cell (&C)...", IDM_SHOWCELL - MENUITEM "Åã¥Ü¦øªA¾¹ª¬ºA...", IDM_SERVER_STATUS -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "®eÅé¸ê°T" -FONT 9, "·s²Ó©úÅé" -BEGIN - DEFPUSHBUTTON "½T©w",IDOK,55,150,50,14,WS_DISABLED - PUSHBUTTON "»¡©ú",9,235,150,50,14 - PUSHBUTTON "¨ú®ø",IDCANCEL,145,150,50,14 - LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP - LTEXT "ÀÉ®× / ¥Ø¿ý",IDC_STATIC,10,10,44,10 - LTEXT "¦WºÙ",IDC_STATIC,90,10,20,8 - LTEXT "°tÃB",IDC_STATIC,225,10,19,8 - LTEXT "¤w¨Ï¥Îªº",IDC_STATIC,270,10,20,8 - LTEXT "¤w¨Ï¥Îªº % (U)",IDC_STATIC,305,10,25,8 - LTEXT "ID",IDC_STATIC,175,10,10,8 - LTEXT "·s°tÃB¡G",IDC_STATIC,10,127,40,10 - EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED - PUSHBUTTON "Åã¥Ü¤À³Î°Ï¸ê°T",IDC_PARTITION_INFO,216,125,69,14, - WS_DISABLED - LTEXT "¤d¦ì¤¸²Õ",IDC_STATIC,122,128,51,10 - CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | - UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | - WS_DISABLED,106,125,10,14 -END - -IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "³]©w AFS ACL" -FONT 9, "·s²Ó©úÅé" -BEGIN - LTEXT "",IDC_DIR_NAME,51,12,259,10 - LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | - WS_HSCROLL | WS_TABSTOP - CONTROL "r - Ū¨ú",IDC_READ,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,52,55,10 - CONTROL "w - ¼g¤J",IDC_WRITE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,111,55,10 - CONTROL "l - ¬d¾\",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,66,55,10 - CONTROL "d - §R°£",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,96,55,10 - CONTROL "i - ´¡¤J",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,81,55,10 - CONTROL "k - Âê©w",IDC_LOCK,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,126,55,10 - CONTROL "a - ºÞ²zªÌ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,200,141,55,10 - PUSHBUTTON "·s¼W(&A)...",IDC_ADD,270,45,45,14 - PUSHBUTTON "²¾°£(&R)",IDC_REMOVE,270,70,45,14,WS_DISABLED - PUSHBUTTON "²M°£(&C)",IDC_CLEAN,270,95,45,14 - DEFPUSHBUTTON "½T©w(&O)",IDOK,270,150,45,14 - PUSHBUTTON "¨ú®ø(&N)",IDCANCEL,270,175,45,14 - PUSHBUTTON "»¡©ú(&H)",9,270,201,45,14 - LTEXT "¥Ø¿ý¡G",IDC_STATIC,15,12,30,10 - GROUPBOX "³\¥iÅv",IDC_STATIC,195,41,65,115 - LTEXT "¤@¯ë",IDC_STATIC,10,30,23,8 - LTEXT "¦WºÙ",IDC_COLUMN_3,69,38,20,8 - LTEXT "³\¥iÅv",IDC_STATIC,10,38,37,8 - LTEXT "­t­±ªº",IDC_STATIC,10,125,30,8 - LTEXT "³\¥iÅv",IDC_STATIC,10,133,38,8 - LTEXT "¦WºÙ",IDC_COLUMN_4,69,133,20,8 - GROUPBOX "",IDC_STATIC,10,5,305,20 - PUSHBUTTON "½Æ»s(&P)...",IDC_COPY,270,120,45,14 -END - -IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "»s§@¸Ë¸üÂI" -FONT 9, "·s²Ó©úÅé" -BEGIN - EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL - EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "½T©w",IDOK,20,81,50,14 - PUSHBUTTON "¨ú®ø",IDCANCEL,85,81,50,14 - PUSHBUTTON "»¡©ú",9,150,81,50,14 - LTEXT "¥Ø¿ý¡G",IDC_STATIC,9,12,30,10 - LTEXT "®eÅé¡G",IDC_STATIC,9,28,25,10 - LTEXT "Cell¡G",IDC_STATIC,9,42,26,10 - GROUPBOX "",IDC_STATIC,40,52,115,20 - LTEXT "¿ï¶µ¡G",IDC_STATIC,9,59,25,10 - CONTROL "¼Ð·Ç",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | - WS_GROUP,45,59,41,10 - CONTROL "Ū¨ú / ¼g¤J",IDC_RW,"Button",BS_AUTORADIOBUTTON,100,59, - 54,10 -END - -IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "·s¼W ACL ¶µ¥Ø" -FONT 9, "·s²Ó©úÅé" -BEGIN - EDITTEXT IDC_NAME,41,70,184,12,ES_AUTOHSCROLL - CONTROL "r - Ū¨ú",IDC_READ,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,15,45,10 - CONTROL "l - ¬d¾\",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,25,50,10 - CONTROL "i - ´¡¤J",IDC_INSERT,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,35,50,10 - CONTROL "d - §R°£",IDC_DELETE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,20,45,50,10 - CONTROL "w - ¼g¤J",IDC_WRITE,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,15,50,10 - CONTROL "k - Âê©w",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,25,55,10 - CONTROL "a - ºÞ²zªÌ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | - WS_TABSTOP,80,35,60,10 - CONTROL "¤@¯ë¶µ¥Ø",IDC_ADD_NORMAL_ENTRY,"Button", - BS_AUTORADIOBUTTON | WS_GROUP,161,16,54,10 - CONTROL "­t­±ªº¶µ¥Ø",IDC_ADD_NEGATIVE_ENTRY,"Button", - BS_AUTORADIOBUTTON,161,26,59,10 - PUSHBUTTON "½T©w",IDOK,36,90,50,14 - PUSHBUTTON "¨ú®ø",IDCANCEL,106,90,50,14 - PUSHBUTTON "»¡©ú",9,173,90,50,14 - LTEXT "¦WºÙ¡G",IDC_STATIC,10,72,27,8 - GROUPBOX "³\¥iÅv",IDC_STATIC,10,5,135,55 - GROUPBOX "¶µ¥ØÃþ«¬",IDC_STATIC,155,6,70,34 -END - -IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "¤À³Î°Ï¸ê°T" -FONT 9, "·s²Ó©úÅé" -BEGIN - EDITTEXT IDC_TOTAL_SIZE,51,10,34,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_BLOCKS_FREE,51,25,34,12,ES_AUTOHSCROLL | WS_DISABLED | - NOT WS_TABSTOP - EDITTEXT IDC_PERCENT_USED,51,40,34,12,ES_AUTOHSCROLL | - WS_DISABLED | NOT WS_TABSTOP - DEFPUSHBUTTON "Ãö³¬",IDOK,14,62,40,14 - PUSHBUTTON "»¡©ú",9,69,62,40,14 - LTEXT "¤w¨Ï¥Îªº %¡G",IDC_STATIC,4,42,51,8 - LTEXT "¥i¥Î°Ï¶ô¡G",IDC_STATIC,4,27,40,8 - LTEXT "Á`­p¤j¤p¡G",IDC_STATIC,4,12,46,8 - LTEXT "K ¦ì¤¸²Õ",IDC_STATIC,89,12,32,8 - LTEXT "K ¦ì¤¸²Õ",IDC_STATIC,88,27,31,8 -END - -IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "½Æ»s ACL" -FONT 9, "·s²Ó©úÅé" -BEGIN - EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY - EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL - PUSHBUTTON "ÂsÄý",IDC_BROWSE,195,25,35,15 - CONTROL "²M°£¥Ø«eªº¶µ¥Ø¡G",IDC_CLEAR,"Button",BS_AUTOCHECKBOX | - BS_LEFTTEXT | WS_TABSTOP,10,46,82,10 - DEFPUSHBUTTON "½T©w",IDOK,20,65,50,14,WS_DISABLED - PUSHBUTTON "¨ú®ø",IDCANCEL,95,65,50,14 - PUSHBUTTON "»¡©ú",9,170,65,50,14 - LTEXT "½Æ»s¦Û¡G",IDC_STATIC,10,12,35,8 - LTEXT "½Æ»s¨ì¡G",IDC_STATIC,10,29,38,8 -END - -IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "¦ó³B" -FONT 9, "·s²Ó©úÅé" -BEGIN - DEFPUSHBUTTON "Ãö³¬",IDOK,65,145,50,14 - PUSHBUTTON "»¡©ú",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "ÀÉ®× / ¥Ø¿ý",IDC_STATIC,10,10,47,8 - LTEXT "ÀɮצøªA¾¹",IDC_STATIC,128,10,44,8 -END - -IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "µ²ªG" -FONT 9, "·s²Ó©úÅé" -BEGIN - DEFPUSHBUTTON "Ãö³¬",IDOK,65,145,50,14 - PUSHBUTTON "»¡©ú",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "ÀÉ®× / ¥Ø¿ý",-1,10,10,45,8 - LTEXT "µ²ªG",IDC_RESULTS_LABEL,128,10,44,8 -END - -IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "¸Ë¸üÂI" -FONT 9, "·s²Ó©úÅé" -BEGIN - DEFPUSHBUTTON "Ãö³¬",IDOK,65,145,50,14 - PUSHBUTTON "»¡©ú",9,180,145,50,14 - LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - LTEXT "ÀÉ®×",IDC_STATIC,12,11,32,8 - LTEXT "®eÅé",IDC_STATIC,75,11,27,8 - LTEXT "Cell",IDC_STATIC,155,11,15,8 - LTEXT "Ãþ«¬",IDC_STATIC,230,11,20,8 -END - -IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "¦øªA¾¹°±¤î¹B§@" -FONT 9, "·s²Ó©úÅé" -BEGIN - LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL - LTEXT "³o¨Ç¦øªA¾¹¨ÌµM°±¤î¹B§@¡G",IDC_STATIC,10,7,147,8 - DEFPUSHBUTTON "½T©w",IDOK,82,140,45,15 -END - -IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 -STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | - WS_SYSMENU -CAPTION "¦øªA¾¹ª¬ºA" -FONT 9, "·s²Ó©úÅé" -BEGIN - CONTROL "¥»ºÝ Cell",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | - WS_GROUP | WS_TABSTOP,20,20,50,8 - CONTROL "«ü©wªº Cell¡G",IDC_SPECIFIEDCELL,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,60,10 - CONTROL "©Ò¦³ªº Cell",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON | - WS_TABSTOP,20,65,74,10 - CONTROL "¤£­n±´¬d¦øªA¾¹",IDC_DONTPROBESERVERS,"Button", - BS_AUTOCHECKBOX | WS_TABSTOP,24,87,80,10 - PUSHBUTTON "Åã¥Üª¬ºA",IDC_SHOWSTATUS,10,120,50,14 - GROUPBOX "Cell",IDC_STATIC,10,5,160,105,WS_GROUP - GROUPBOX "",IDC_STATIC,20,80,90,20,WS_GROUP - EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL - PUSHBUTTON "Ãö³¬",IDCANCEL,65,120,50,14 - PUSHBUTTON "»¡©ú",9,120,120,50,14 -END - -IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Ų§O" -FONT 9, "·s²Ó©úÅé" -BEGIN - LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | - WS_TABSTOP - PUSHBUTTON "¨ú±o°O¸¹",ID_GET_TOKENS,15,137,55,14 - PUSHBUTTON "±Ë±ó°O¸¹",ID_DISCARD_TOKENS,80,137,55,14 - PUSHBUTTON "Ãö³¬",IDCANCEL,145,137,55,14 - PUSHBUTTON "»¡©ú",9,215,137,55,14 - LTEXT "¨Ï¥ÎªÌ¦WºÙ",IDC_STATIC,10,9,51,8 - LTEXT "Cell ¦WºÙ",IDC_STATIC,104,9,33,8 - LTEXT "¹L´Á",IDC_STATIC,222,9,43,8 -END - -IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "¨ú±o°O¸¹" -FONT 9, "·s²Ó©úÅé" -BEGIN - EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL - EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL - EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL - DEFPUSHBUTTON "½T©w",IDOK,20,70,35,14,WS_DISABLED - PUSHBUTTON "¨ú®ø",IDCANCEL,70,70,35,14 - PUSHBUTTON "»¡©ú",9,120,70,35,14 - LTEXT "¦WºÙ¡G",IDC_STATIC,7,12,32,8 - LTEXT "±K½X¡G",IDC_STATIC,7,32,34,8 - LTEXT "Cell¡G",IDC_STATIC,7,52,25,8 -END - -IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -EXSTYLE WS_EX_APPWINDOW -CAPTION "±Ë±ó°O¸¹" -FONT 9, "·s²Ó©úÅé" -BEGIN - DEFPUSHBUTTON "½T©w",IDOK,29,40,35,14 - PUSHBUTTON "¨ú®ø",IDCANCEL,79,40,35,14 - PUSHBUTTON "»¡©ú",9,129,40,35,14 - LTEXT "Cell¡G",IDC_STATIC,7,17,22,8 - EDITTEXT IDC_CELL_NAME,31,15,143,12,ES_AUTOHSCROLL -END - -IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU -CAPTION "¤l¸Ë¸ü" -FONT 9, "·s²Ó©úÅé" -BEGIN - LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - PUSHBUTTON "·s¼W",IDC_ADD,202,20,45,14 - PUSHBUTTON "§R°£",IDC_DELETE,202,39,45,14,WS_DISABLED - PUSHBUTTON "Åܧó",IDC_CHANGE,202,58,45,14,WS_DISABLED - LTEXT "¤l¸Ë¸ü¡G",IDC_STATIC,10,10,50,8 - PUSHBUTTON "½T©w",IDOK,202,145,45,14 - PUSHBUTTON "¨ú®ø",IDCANCEL,202,163,45,14 -END - -IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79 -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "·s¼W¤l¸Ë¸ü" -FONT 9, "·s²Ó©úÅé" -BEGIN - EDITTEXT IDC_SHARE_NAME,66,8,147,12,ES_AUTOHSCROLL - EDITTEXT IDC_PATH_NAME,66,23,147,12,ES_AUTOHSCROLL - PUSHBUTTON "½T©w",IDOK,22,53,45,14 - PUSHBUTTON "¨ú®ø",IDCANCEL,92,53,45,14 - PUSHBUTTON "»¡©ú",9,167,53,45,14 - LTEXT "¦@¥Î¦WºÙ¡G",IDC_STATIC,18,10,49,8 - LTEXT "¸ô®|¦WºÙ¡G",IDC_STATIC,19,25,43,8 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE -BEGIN - IDD_SERVERSTATUS, DIALOG - BEGIN - RIGHTMARGIN, 171 - END - - IDD_AUTHENTICATION, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 278 - TOPMARGIN, 7 - BOTTOMMARGIN, 151 - END - - IDD_KLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 162 - TOPMARGIN, 7 - BOTTOMMARGIN, 86 - END - - IDD_UNLOG_DIALOG, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 178 - TOPMARGIN, 7 - BOTTOMMARGIN, 56 - END - - IDD_SUBMTINFO, DIALOG - BEGIN - LEFTMARGIN, 10 - RIGHTMARGIN, 247 - BOTTOMMARGIN, 177 - END - - IDD_ADD_SUBMOUNT, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 228 - TOPMARGIN, 7 - BOTTOMMARGIN, 25 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE DISCARDABLE -BEGIN - ID_ACL_CLEAN "fs cleanacl" - ID_ACL_COPY "fs copyacl" - ID_ACL_LIST "fs listacl" - ID_ACL_SET "fs setacl" - ID_VOLUME_CHECK "fs checkvolumes" - ID_VOLUME_DISKFREE "fs diskfree" - ID_VOLUME_EXAMINE "fs examine" - ID_VOLUME_FLUSH "fs flushvolume" - ID_VOLUME_QUOTA_BRIEF "fs quota" - ID_VOLUME_QUOTA_FULL "fs listquota" - ID_VOLUME_QUOTA_SET "fs setvol" - ID_VOLUME_SET "fs setvol" -END - -STRINGTABLE DISCARDABLE -BEGIN - ID_FLUSH "fs flush" - ID_WHEREIS "fs whereis" - ID_SHOWCELL "fs whichcell" - ID_MOUNTPOINT_SHOW "fs lsmount" - ID_MOUNTPOINT_REMOVE "fs rmmount" - ID_SHOW_SERVER "fs whereis" - ID_AUTHENTICATE "µn¤J©Îµn¥X AFS" - ID_SERVER_STATUS "Àˬd¦øªA¾¹" - ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" - ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" - ID_MOUNTPOINT_MAKE "fs mkmount" - IDS_FLUSH_FAILED "µLªk¨R¼g§@¥Î¤¤ªºÀÉ®× %o" - IDS_FLUSH_ERROR "¨R¼gÀÉ®× %o ®Éµo¥Í¿ù»~¡G %s" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_FLUSH_OK "¶¶§Q¨R¼g©Ò¿ï¨úªºÀÉ®×" - IDS_CANT_GET_CELL "§PÂ_ Cell ®Éµo¥Í¿ù»~¡G" - IDS_FLUSH_VOLUME_ERROR "¨R¼g %o ®eÅé®Éµo¥Í¿ù»~¡G %s" - IDS_FLUSH_VOLUME_OK "¶¶§Q¨R¼g®eÅé" - IDS_WHERE_IS "ÀÉ®× %o ¦b¥D¹q¸£ %s ¤W" - IDS_CLEANACL_NOT_SUPPORTED - "µLªk²M°£ÀÉ®× %o ªº ACL¡GDFS ¦s¨ú²M³æ¤£¤ä´©²M°£ Acl " - IDS_ACL_IS_FINE "%o ªº¦s¨ú²M³æ¨S¦³°ÝÃD" - IDS_CLEANACL_INVALID_ARG - "µLªk²M°£ÀÉ®× %o ªº ACL¡G ¤Þ¼ÆµL®Ä¡A¥i¯àªº­ì¦]¥]¬A¡GÀÉ®×¥¼ºÞ¨î¡A©Î¬O¦s¨ú±±¨î²M³æ¤Wªº¨Ï¥ÎªÌ¤H¼Æ¹L¦h" - IDS_ANY_STRING "%o" - IDS_CLEANACL_DONE "¤w§R°£§@¼oªº ACL ¶µ¥Ø¡C" - ID_SUBMOUNTS "«Ø¥ß©Î§R°£ AFS ¤l¸Ë¸ü" - IDS_GETRIGHTS_ERROR "µLªkŪ¨ú¥Ø¿ý %o ªº¦s¨ú²M³æ¡G %o" - IDS_DFSACL_ERROR "µLªk¥H¦¹«ü¥O½s¿è DFS ACL" - IDS_SAVE_ACL_ERROR "µLªkÀx¦s %o ªº ACL¡G %o" - IDS_SAVE_ACL_EINVAL_ERROR - "µLªkÀx¦s %o ªº ACL¡G¤Þ¼ÆµL®Ä¡A¥i¯àªº­ì¦]¥]¬A¡GÀɮפ£¦b AFS¡B¦s¨ú±±¨î²M³æ¤Wªº¨Ï¥ÎªÌ¤H¼Æ¹L¦h¡A©Î¬O¸Õ¹Ï±N¤£¦s¦bªº¨Ï¥ÎªÌ·s¼W¨ì¦s¨ú±±¨î²M³æ" - IDS_ACL_READ_ERROR "µLªkŪ¨ú %o ªº ACL¡G %o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_NO_DFS_COPY_ACL "µLªk±N ACL ½Æ»s¨ì¥Ø¿ý %o¡GDFS ¦s¨ú²M³æ¤£¤ä´©½Æ»s ACL " - IDS_COPY_ACL_EINVAL_ERROR - "µLªk±N ACL ½Æ»s¨ì¥Ø¿ý %o¡G¤Þ¼ÆµL®Ä¡A¥i¯àªº­ì¦]¥]¬A¡GÀɮפ£¦b AFS¡C" - IDS_COPY_ACL_ERROR "µLªk±N ACL ½Æ»s¨ì %o¡G %o" - IDS_NOT_MOUNT_POINT_ERROR "%o ¨Ã«D¸Ë¸üÂI¡C" - IDS_LIST_MOUNT_POINT_ERROR "¿ù»~¡G %o" - IDS_MAKE_MP_NOT_AFS_ERROR "¸Ë¸üÂI¥²¶·¦b AFS Àɮרt²Î¤º«Ø¥ß" - IDS_MOUNT_POINT_ERROR "«Ø¥ß¸Ë¸üÂI®Éµo¥Í¿ù»~¡G %o" - IDS_ERROR "¿ù»~¡G%o" - IDS_DELETED "¤w¶¶§Q§R°£" - IDS_SET_QUOTA_ERROR "³]©w°tÃB®Éµo¥Í¿ù»~¡G %o" - ID_SUBMOUNTS_CREATE "«Ø¥ß AFS ¤l¸Ë¸ü" - ID_SUBMOUNTS_EDIT "·s¼W¡BÅܧó©Î¬O§R°£ AFS ¤l¸Ë¸ü" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_CHECK_SERVERS_ERROR "ÀˬdÀɮצøªA¾¹¾÷¾¹®Éµo¥Í¿ù»~¡G¡uAFS ¦øªA¾¹ºÞ²zµ{¦¡¡v¡G %o" - IDS_ALL_SERVERS_RUNNING "©Ò¦³¦øªA¾¹³£¦b°õ¦æ¤¤¡C" - IDS_CHECK_VOLUMES_OK "¤wÀˬd©Ò¦³®eÅéID/¦WºÙ¹ïÀ³¡C" - IDS_CHECK_VOLUMES_ERROR "Àˬd®eÅéID/¦WºÙ¹ïÀ³®Éµo¥Í¿ù»~¡G %o" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_ACL_ENTRY_NAME_IN_USE "±z©Ò¿ï¾Üªº¦WºÙ¤w¸g¦s¦b¡C½Ð¿é¤J¤£¦Pªº¦WºÙ¡C" - IDS_REALLY_DEL_MOUNT_POINTS "±z½T©w­n²¾°£©Ò¿ï¨úªº¸Ë¸üÂI¶Ü¡H" - IDS_DIR_DOES_NOT_EXIST_ERROR "¥Ø¿ý '%o' ¨Ã¤£¦s¦b¡C" - IDS_CLEANACL_MSG "±N§R°£¤w§@¼oªº ACL ¡I" - IDS_COPY_ACL_OK "¤w¶¶§Q³Æ¥÷ ACL¡C" - IDS_GET_TOKENS_NO_AFS_SERVICE - "µLªkŪ¨ú°O¸¹¸ê°T¡GAFS ªA°Èµ{¦¡¥i¯à©|¥¼±Ò°Ê¡C" - IDS_GET_TOKENS_UNEXPECTED_ERROR - "µLªkŪ¨ú°O¸¹¸ê°T¡G«D¹w´Áªº¿ù»~¡Aµ{¦¡½X %d¡C" - IDS_GET_TOKENS_UNEXPECTED_ERROR2 - "µLªkŪ¨ú°O¸¹¸ê°T¡G«D¹w´Áªº¿ù»~¡AªA°Èµ{¦¡ %s.%s.%s¡Aµ{¦¡½X %d¡C" - IDS_ENTER_QUOTA "½Ð¿é¤J¦³®Äªº°tÃB¡C" - IDS_AUTHENTICATION_ITEM "Ų§O(&A)..." - IDS_ACLS_ITEM "¦s¨ú±±¨î²M³æ(&C)..." - IDS_VOL_PART_ITEM "®eÅé / ¤À³Î°Ï(&V)" - IDS_VOL_PART_PROPS_ITEM "¤º®e(&P)" - IDS_VOL_PART_REFRESH_ITEM "­«·s¾ã²z¦WºÙ/ID ¹ïÀ³(&R)" - IDS_MOUNT_POINT_ITEM "¸Ë¸üÂI(&M)" - IDS_MP_SHOW_ITEM "Åã¥Ü(&S)..." -END - -STRINGTABLE DISCARDABLE -BEGIN - AFX_IDS_APP_TITLE "AFS ¥Î¤áºÝ" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_MP_REMOVE_ITEM "²¾°£(&R)..." - IDS_MP_MAKE_ITEM "»s§@(&M)..." - IDS_FLUSH_FILE_DIR_ITEM "¨R¼gÀÉ®× / ¥Ø¿ý(&F)" - IDS_FLUSH_VOLUME_ITEM "¨R¼g®eÅé(&U)" - IDS_SHOW_FILE_SERVERS_ITEM "Åã¥ÜÀɮצøªA¾¹(&F)..." - IDS_SHOW_CELL_ITEM "Åã¥Ü Cell (&C)..." - IDS_SHOW_SERVER_STATUS_ITEM "Åã¥Ü¦øªA¾¹ª¬ºA..." - IDS_AFS_ITEM "AFS(&A)" - IDS_SUBMOUNTS_ITEM "¤l¸Ë¸ü(&B)" - IDS_GET_SUBMT_INFO_ERROR "µLªkŪ¨ú¦@¨É¦WºÙ %o ªº¤l¸Ë¸ü¸ê°T¡C" - IDS_REALLY_DELETE_SUBMT "§R°£¦@¨É¦WºÙ %o ¶Ü¡H" - IDS_SUBMT_SAVE_FAILED "±z¹ï¤l¸Ë¸ü¸ê®Æ®w©Ò§@ªºÅܧóµL®Ä¡C" - IDS_SUBMOUNTS_CREATE_ITEM "·s¼W(&A)" - IDS_SUBMOUNTS_EDIT_ITEM "½s¿è(&E)..." - IDS_EDIT_PATH_NAME "½s¿è¸ô®|¦WºÙ" - IDS_SHOW_CELL "Åã¥Ü Cell" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_SHOW_CELL_COLUMN "Cell" - IDS_SHOW_FS "Åã¥ÜÀɮצøªA¾¹" - IDS_SHOW_FS_COLUMN "ÀɮצøªA¾¹" - IDS_REMOVE_MP "²¾°£¸Ë¸üÂI" - IDS_REMOVE_MP_COLUMN "µ²ªG" -END - -#endif // Chinese (Taiwan) resources -///////////////////////////////////////////////////////////////////////////// - - - -#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_CHT) -#ifdef _WIN32 -LANGUAGE 4, 1 -#endif -#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources -#include "afxres.rc" // Standard components -#endif -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Chinese (Taiwan) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHT) +#ifdef _WIN32 +LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL +#endif //_WIN32 + +#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_CHT)\r\n" + "#ifdef _WIN32\r\n" + "LANGUAGE 4, 1\r\n" + "#endif\r\n" + "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n" + "#include ""afxres.rc"" // Standard components\r\n" + "#endif\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MENU_FILE MENU DISCARDABLE +BEGIN + MENUITEM "Ų§O...", IDM_AUTHENTICATION + MENUITEM "¦s¨ú±±¨î²M³æ...", IDM_ACL_SET + POPUP "®eÅé/¤À³Î°Ï(&V)" + BEGIN + MENUITEM "¤º®e(&P)...", IDM_VOLUME_PROPERTIES + MENUITEM "­«·s¾ã²z¦WºÙ/ID ¹ïÀ³(&R)", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE + + END + POPUP "¸Ë¸üÂI(&M)" + BEGIN + MENUITEM "Åã¥Ü(&S)...", IDM_MOUNTPOINT_SHOW + MENUITEM "²¾°£(&R)...", IDM_MOUNTPOINT_REMOVE + MENUITEM "»s§@(&M)...", IDM_MOUNTPOINT_MAKE + END + MENUITEM "¨R¼gÀÉ®×/¥Ø¿ý(&F)", IDM_FLUSH + MENUITEM "¨R¼g®eÅé(&U)", IDM_FLUSH_VOLUME + MENUITEM "Åã¥ÜÀɮצøªA¾¹(&F)...", IDM_SHOW_SERVER + MENUITEM "Åã¥Ü Cell (&C)...", IDM_SHOWCELL + MENUITEM "Åã¥Ü¦øªA¾¹ª¬ºA...", IDM_SERVER_STATUS + MENUITEM "Remove SymLink", IDM_REMOVE_SYMLINK +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "®eÅé¸ê°T" +FONT 9, "·s²Ó©úÅé" +BEGIN + DEFPUSHBUTTON "½T©w",IDOK,55,150,50,14,WS_DISABLED + PUSHBUTTON "»¡©ú",9,235,150,50,14 + PUSHBUTTON "¨ú®ø",IDCANCEL,145,150,50,14 + LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP + LTEXT "ÀÉ®× / ¥Ø¿ý",IDC_STATIC,10,10,44,10 + LTEXT "¦WºÙ",IDC_STATIC,90,10,20,8 + LTEXT "°tÃB",IDC_STATIC,225,10,19,8 + LTEXT "¤w¨Ï¥Îªº",IDC_STATIC,270,10,20,8 + LTEXT "¤w¨Ï¥Îªº % (U)",IDC_STATIC,305,10,25,8 + LTEXT "ID",IDC_STATIC,175,10,10,8 + LTEXT "·s°tÃB¡G",IDC_STATIC,10,127,40,10 + EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED + PUSHBUTTON "Åã¥Ü¤À³Î°Ï¸ê°T",IDC_PARTITION_INFO,216,125,69,14, + WS_DISABLED + LTEXT "¤d¦ì¤¸²Õ",IDC_STATIC,122,128,51,10 + CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | + UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | + WS_DISABLED,106,125,10,14 +END + +IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "³]©w AFS ACL" +FONT 9, "·s²Ó©úÅé" +BEGIN + LTEXT "",IDC_DIR_NAME,51,12,259,10 + LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | + WS_HSCROLL | WS_TABSTOP + CONTROL "r - Ū¨ú",IDC_READ,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,52,55,10 + CONTROL "w - ¼g¤J",IDC_WRITE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,111,55,10 + CONTROL "l - ¬d¾\",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,66,55,10 + CONTROL "d - §R°£",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,96,55,10 + CONTROL "i - ´¡¤J",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,81,55,10 + CONTROL "k - Âê©w",IDC_LOCK,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,126,55,10 + CONTROL "a - ºÞ²zªÌ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,200,141,55,10 + PUSHBUTTON "·s¼W(&A)...",IDC_ADD,270,45,45,14 + PUSHBUTTON "²¾°£(&R)",IDC_REMOVE,270,70,45,14,WS_DISABLED + PUSHBUTTON "²M°£(&C)",IDC_CLEAN,270,95,45,14 + DEFPUSHBUTTON "½T©w(&O)",IDOK,270,150,45,14 + PUSHBUTTON "¨ú®ø(&N)",IDCANCEL,270,175,45,14 + PUSHBUTTON "»¡©ú(&H)",9,270,201,45,14 + LTEXT "¥Ø¿ý¡G",IDC_STATIC,15,12,30,10 + GROUPBOX "³\¥iÅv",IDC_STATIC,195,41,65,115 + LTEXT "¤@¯ë",IDC_STATIC,10,30,23,8 + LTEXT "¦WºÙ",IDC_COLUMN_3,69,38,20,8 + LTEXT "³\¥iÅv",IDC_STATIC,10,38,37,8 + LTEXT "­t­±ªº",IDC_STATIC,10,125,30,8 + LTEXT "³\¥iÅv",IDC_STATIC,10,133,38,8 + LTEXT "¦WºÙ",IDC_COLUMN_4,69,133,20,8 + GROUPBOX "",IDC_STATIC,10,5,305,20 + PUSHBUTTON "½Æ»s(&P)...",IDC_COPY,270,120,45,14 +END + +IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "»s§@¸Ë¸üÂI" +FONT 9, "·s²Ó©úÅé" +BEGIN + EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL + EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "½T©w",IDOK,20,81,50,14 + PUSHBUTTON "¨ú®ø",IDCANCEL,85,81,50,14 + PUSHBUTTON "»¡©ú",9,150,81,50,14 + LTEXT "¥Ø¿ý¡G",IDC_STATIC,9,12,30,10 + LTEXT "®eÅé¡G",IDC_STATIC,9,28,25,10 + LTEXT "Cell¡G",IDC_STATIC,9,42,26,10 + GROUPBOX "",IDC_STATIC,40,52,115,20 + LTEXT "¿ï¶µ¡G",IDC_STATIC,9,59,25,10 + CONTROL "¼Ð·Ç",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,45,59,41,10 + CONTROL "Ū¨ú / ¼g¤J",IDC_RW,"Button",BS_AUTORADIOBUTTON,100,59, + 54,10 +END + +IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "·s¼W ACL ¶µ¥Ø" +FONT 9, "·s²Ó©úÅé" +BEGIN + EDITTEXT IDC_NAME,41,70,184,12,ES_AUTOHSCROLL + CONTROL "r - Ū¨ú",IDC_READ,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,15,45,10 + CONTROL "l - ¬d¾\",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,25,50,10 + CONTROL "i - ´¡¤J",IDC_INSERT,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,35,50,10 + CONTROL "d - §R°£",IDC_DELETE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,20,45,50,10 + CONTROL "w - ¼g¤J",IDC_WRITE,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,15,50,10 + CONTROL "k - Âê©w",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,25,55,10 + CONTROL "a - ºÞ²zªÌ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,80,35,60,10 + CONTROL "¤@¯ë¶µ¥Ø",IDC_ADD_NORMAL_ENTRY,"Button", + BS_AUTORADIOBUTTON | WS_GROUP,161,16,54,10 + CONTROL "­t­±ªº¶µ¥Ø",IDC_ADD_NEGATIVE_ENTRY,"Button", + BS_AUTORADIOBUTTON,161,26,59,10 + PUSHBUTTON "½T©w",IDOK,36,90,50,14 + PUSHBUTTON "¨ú®ø",IDCANCEL,106,90,50,14 + PUSHBUTTON "»¡©ú",9,173,90,50,14 + LTEXT "¦WºÙ¡G",IDC_STATIC,10,72,27,8 + GROUPBOX "³\¥iÅv",IDC_STATIC,10,5,135,55 + GROUPBOX "¶µ¥ØÃþ«¬",IDC_STATIC,155,6,70,34 +END + +IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "¤À³Î°Ï¸ê°T" +FONT 9, "·s²Ó©úÅé" +BEGIN + EDITTEXT IDC_TOTAL_SIZE,51,10,34,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_BLOCKS_FREE,51,25,34,12,ES_AUTOHSCROLL | WS_DISABLED | + NOT WS_TABSTOP + EDITTEXT IDC_PERCENT_USED,51,40,34,12,ES_AUTOHSCROLL | + WS_DISABLED | NOT WS_TABSTOP + DEFPUSHBUTTON "Ãö³¬",IDOK,14,62,40,14 + PUSHBUTTON "»¡©ú",9,69,62,40,14 + LTEXT "¤w¨Ï¥Îªº %¡G",IDC_STATIC,4,42,51,8 + LTEXT "¥i¥Î°Ï¶ô¡G",IDC_STATIC,4,27,40,8 + LTEXT "Á`­p¤j¤p¡G",IDC_STATIC,4,12,46,8 + LTEXT "K ¦ì¤¸²Õ",IDC_STATIC,89,12,32,8 + LTEXT "K ¦ì¤¸²Õ",IDC_STATIC,88,27,31,8 +END + +IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "½Æ»s ACL" +FONT 9, "·s²Ó©úÅé" +BEGIN + EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY + EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL + PUSHBUTTON "ÂsÄý",IDC_BROWSE,195,25,35,15 + CONTROL "²M°£¥Ø«eªº¶µ¥Ø¡G",IDC_CLEAR,"Button",BS_AUTOCHECKBOX | + BS_LEFTTEXT | WS_TABSTOP,10,46,82,10 + DEFPUSHBUTTON "½T©w",IDOK,20,65,50,14,WS_DISABLED + PUSHBUTTON "¨ú®ø",IDCANCEL,95,65,50,14 + PUSHBUTTON "»¡©ú",9,170,65,50,14 + LTEXT "½Æ»s¦Û¡G",IDC_STATIC,10,12,35,8 + LTEXT "½Æ»s¨ì¡G",IDC_STATIC,10,29,38,8 +END + +IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "¦ó³B" +FONT 9, "·s²Ó©úÅé" +BEGIN + DEFPUSHBUTTON "Ãö³¬",IDOK,65,145,50,14 + PUSHBUTTON "»¡©ú",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "ÀÉ®× / ¥Ø¿ý",IDC_STATIC,10,10,47,8 + LTEXT "ÀɮצøªA¾¹",IDC_STATIC,128,10,44,8 +END + +IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "µ²ªG" +FONT 9, "·s²Ó©úÅé" +BEGIN + DEFPUSHBUTTON "Ãö³¬",IDOK,65,145,50,14 + PUSHBUTTON "»¡©ú",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "ÀÉ®× / ¥Ø¿ý",-1,10,10,45,8 + LTEXT "µ²ªG",IDC_RESULTS_LABEL,128,10,44,8 +END + +IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "¸Ë¸üÂI" +FONT 9, "·s²Ó©úÅé" +BEGIN + DEFPUSHBUTTON "Ãö³¬",IDOK,65,145,50,14 + PUSHBUTTON "»¡©ú",9,180,145,50,14 + LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + LTEXT "ÀÉ®×",IDC_STATIC,12,11,32,8 + LTEXT "®eÅé",IDC_STATIC,75,11,27,8 + LTEXT "Cell",IDC_STATIC,155,11,15,8 + LTEXT "Ãþ«¬",IDC_STATIC,230,11,20,8 +END + +IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "¦øªA¾¹°±¤î¹B§@" +FONT 9, "·s²Ó©úÅé" +BEGIN + LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL + LTEXT "³o¨Ç¦øªA¾¹¨ÌµM°±¤î¹B§@¡G",IDC_STATIC,10,7,147,8 + DEFPUSHBUTTON "½T©w",IDOK,82,140,45,15 +END + +IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143 +STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | + WS_SYSMENU +CAPTION "¦øªA¾¹ª¬ºA" +FONT 9, "·s²Ó©úÅé" +BEGIN + CONTROL "¥»ºÝ Cell",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | + WS_GROUP | WS_TABSTOP,20,20,50,8 + CONTROL "«ü©wªº Cell¡G",IDC_SPECIFIEDCELL,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,60,10 + CONTROL "©Ò¦³ªº Cell",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON | + WS_TABSTOP,20,65,74,10 + CONTROL "¤£­n±´¬d¦øªA¾¹",IDC_DONTPROBESERVERS,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,24,87,80,10 + PUSHBUTTON "Åã¥Üª¬ºA",IDC_SHOWSTATUS,10,120,50,14 + GROUPBOX "Cell",IDC_STATIC,10,5,160,105,WS_GROUP + GROUPBOX "",IDC_STATIC,20,80,90,20,WS_GROUP + EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL + PUSHBUTTON "Ãö³¬",IDCANCEL,65,120,50,14 + PUSHBUTTON "»¡©ú",9,120,120,50,14 +END + +IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Ų§O" +FONT 9, "·s²Ó©úÅé" +BEGIN + LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | + LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | + WS_TABSTOP + PUSHBUTTON "¨ú±o°O¸¹",ID_GET_TOKENS,15,137,55,14 + PUSHBUTTON "±Ë±ó°O¸¹",ID_DISCARD_TOKENS,80,137,55,14 + PUSHBUTTON "Ãö³¬",IDCANCEL,145,137,55,14 + PUSHBUTTON "»¡©ú",9,215,137,55,14 + LTEXT "¨Ï¥ÎªÌ¦WºÙ",IDC_STATIC,10,9,51,8 + LTEXT "Cell ¦WºÙ",IDC_STATIC,104,9,33,8 + LTEXT "¹L´Á",IDC_STATIC,222,9,43,8 +END + +IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "¨ú±o°O¸¹" +FONT 9, "·s²Ó©úÅé" +BEGIN + EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL + EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL + EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL + DEFPUSHBUTTON "½T©w",IDOK,20,70,35,14,WS_DISABLED + PUSHBUTTON "¨ú®ø",IDCANCEL,70,70,35,14 + PUSHBUTTON "»¡©ú",9,120,70,35,14 + LTEXT "¦WºÙ¡G",IDC_STATIC,7,12,32,8 + LTEXT "±K½X¡G",IDC_STATIC,7,32,34,8 + LTEXT "Cell¡G",IDC_STATIC,7,52,25,8 +END + +IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW +CAPTION "±Ë±ó°O¸¹" +FONT 9, "·s²Ó©úÅé" +BEGIN + DEFPUSHBUTTON "½T©w",IDOK,29,40,35,14 + PUSHBUTTON "¨ú®ø",IDCANCEL,79,40,35,14 + PUSHBUTTON "»¡©ú",9,129,40,35,14 + LTEXT "Cell¡G",IDC_STATIC,7,17,22,8 + EDITTEXT IDC_CELL_NAME,31,15,143,12,ES_AUTOHSCROLL +END + +IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186 +STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "¤l¸Ë¸ü" +FONT 9, "·s²Ó©úÅé" +BEGIN + LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + PUSHBUTTON "·s¼W",IDC_ADD,202,20,45,14 + PUSHBUTTON "§R°£",IDC_DELETE,202,39,45,14,WS_DISABLED + PUSHBUTTON "Åܧó",IDC_CHANGE,202,58,45,14,WS_DISABLED + LTEXT "¤l¸Ë¸ü¡G",IDC_STATIC,10,10,50,8 + PUSHBUTTON "½T©w",IDOK,202,145,45,14 + PUSHBUTTON "¨ú®ø",IDCANCEL,202,163,45,14 +END + +IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "·s¼W¤l¸Ë¸ü" +FONT 9, "·s²Ó©úÅé" +BEGIN + EDITTEXT IDC_SHARE_NAME,66,8,147,12,ES_AUTOHSCROLL + EDITTEXT IDC_PATH_NAME,66,23,147,12,ES_AUTOHSCROLL + PUSHBUTTON "½T©w",IDOK,22,53,45,14 + PUSHBUTTON "¨ú®ø",IDCANCEL,92,53,45,14 + PUSHBUTTON "»¡©ú",9,167,53,45,14 + LTEXT "¦@¥Î¦WºÙ¡G",IDC_STATIC,18,10,49,8 + LTEXT "¸ô®|¦WºÙ¡G",IDC_STATIC,19,25,43,8 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_SERVERSTATUS, DIALOG + BEGIN + RIGHTMARGIN, 171 + END + + IDD_AUTHENTICATION, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 278 + TOPMARGIN, 7 + BOTTOMMARGIN, 151 + END + + IDD_KLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 162 + TOPMARGIN, 7 + BOTTOMMARGIN, 86 + END + + IDD_UNLOG_DIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 178 + TOPMARGIN, 7 + BOTTOMMARGIN, 56 + END + + IDD_SUBMTINFO, DIALOG + BEGIN + LEFTMARGIN, 10 + RIGHTMARGIN, 247 + BOTTOMMARGIN, 177 + END + + IDD_ADD_SUBMOUNT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 228 + TOPMARGIN, 7 + BOTTOMMARGIN, 25 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + ID_ACL_CLEAN "fs cleanacl" + ID_ACL_COPY "fs copyacl" + ID_ACL_LIST "fs listacl" + ID_ACL_SET "fs setacl" + ID_VOLUME_CHECK "fs checkvolumes" + ID_VOLUME_DISKFREE "fs diskfree" + ID_VOLUME_EXAMINE "fs examine" + ID_VOLUME_FLUSH "fs flushvolume" + ID_VOLUME_QUOTA_BRIEF "fs quota" + ID_VOLUME_QUOTA_FULL "fs listquota" + ID_VOLUME_QUOTA_SET "fs setvol" + ID_VOLUME_SET "fs setvol" +END + +STRINGTABLE DISCARDABLE +BEGIN + ID_FLUSH "fs flush" + ID_WHEREIS "fs whereis" + ID_SHOWCELL "fs whichcell" + ID_MOUNTPOINT_SHOW "fs lsmount" + ID_MOUNTPOINT_REMOVE "fs rmmount" + ID_SHOW_SERVER "fs whereis" + ID_AUTHENTICATE "µn¤J©Îµn¥X AFS" + ID_SERVER_STATUS "Àˬd¦øªA¾¹" + ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol" + ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes" + ID_MOUNTPOINT_MAKE "fs mkmount" + IDS_FLUSH_FAILED "µLªk¨R¼g§@¥Î¤¤ªºÀÉ®× %o" + IDS_FLUSH_ERROR "¨R¼gÀÉ®× %o ®Éµo¥Í¿ù»~¡G %s" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_FLUSH_OK "¶¶§Q¨R¼g©Ò¿ï¨úªºÀÉ®×" + IDS_CANT_GET_CELL "§PÂ_ Cell ®Éµo¥Í¿ù»~¡G" + IDS_FLUSH_VOLUME_ERROR "¨R¼g %o ®eÅé®Éµo¥Í¿ù»~¡G %s" + IDS_FLUSH_VOLUME_OK "¶¶§Q¨R¼g®eÅé" + IDS_WHERE_IS "ÀÉ®× %o ¦b¥D¹q¸£ %s ¤W" + IDS_CLEANACL_NOT_SUPPORTED + "µLªk²M°£ÀÉ®× %o ªº ACL¡GDFS ¦s¨ú²M³æ¤£¤ä´©²M°£ Acl " + IDS_ACL_IS_FINE "%o ªº¦s¨ú²M³æ¨S¦³°ÝÃD" + IDS_CLEANACL_INVALID_ARG + "µLªk²M°£ÀÉ®× %o ªº ACL¡G ¤Þ¼ÆµL®Ä¡A¥i¯àªº­ì¦]¥]¬A¡GÀÉ®×¥¼ºÞ¨î¡A©Î¬O¦s¨ú±±¨î²M³æ¤Wªº¨Ï¥ÎªÌ¤H¼Æ¹L¦h" + IDS_ANY_STRING "%o" + IDS_CLEANACL_DONE "¤w§R°£§@¼oªº ACL ¶µ¥Ø¡C" + ID_SUBMOUNTS "«Ø¥ß©Î§R°£ AFS ¤l¸Ë¸ü" + IDS_GETRIGHTS_ERROR "µLªkŪ¨ú¥Ø¿ý %o ªº¦s¨ú²M³æ¡G %o" + IDS_DFSACL_ERROR "µLªk¥H¦¹«ü¥O½s¿è DFS ACL" + IDS_SAVE_ACL_ERROR "µLªkÀx¦s %o ªº ACL¡G %o" + IDS_SAVE_ACL_EINVAL_ERROR + "µLªkÀx¦s %o ªº ACL¡G¤Þ¼ÆµL®Ä¡A¥i¯àªº­ì¦]¥]¬A¡GÀɮפ£¦b AFS¡B¦s¨ú±±¨î²M³æ¤Wªº¨Ï¥ÎªÌ¤H¼Æ¹L¦h¡A©Î¬O¸Õ¹Ï±N¤£¦s¦bªº¨Ï¥ÎªÌ·s¼W¨ì¦s¨ú±±¨î²M³æ" + IDS_ACL_READ_ERROR "µLªkŪ¨ú %o ªº ACL¡G %o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_NO_DFS_COPY_ACL "µLªk±N ACL ½Æ»s¨ì¥Ø¿ý %o¡GDFS ¦s¨ú²M³æ¤£¤ä´©½Æ»s ACL " + IDS_COPY_ACL_EINVAL_ERROR + "µLªk±N ACL ½Æ»s¨ì¥Ø¿ý %o¡G¤Þ¼ÆµL®Ä¡A¥i¯àªº­ì¦]¥]¬A¡GÀɮפ£¦b AFS¡C" + IDS_COPY_ACL_ERROR "µLªk±N ACL ½Æ»s¨ì %o¡G %o" + IDS_NOT_MOUNT_POINT_ERROR "%o ¨Ã«D¸Ë¸üÂI¡C" + IDS_LIST_MOUNT_POINT_ERROR "¿ù»~¡G %o" + IDS_MAKE_MP_NOT_AFS_ERROR "¸Ë¸üÂI¥²¶·¦b AFS Àɮרt²Î¤º«Ø¥ß" + IDS_MOUNT_POINT_ERROR "«Ø¥ß¸Ë¸üÂI®Éµo¥Í¿ù»~¡G %o" + IDS_ERROR "¿ù»~¡G%o" + IDS_DELETED "¤w¶¶§Q§R°£" + IDS_SET_QUOTA_ERROR "³]©w°tÃB®Éµo¥Í¿ù»~¡G %o" + ID_SUBMOUNTS_CREATE "«Ø¥ß AFS ¤l¸Ë¸ü" + ID_SUBMOUNTS_EDIT "·s¼W¡BÅܧó©Î¬O§R°£ AFS ¤l¸Ë¸ü" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_CHECK_SERVERS_ERROR "ÀˬdÀɮצøªA¾¹¾÷¾¹®Éµo¥Í¿ù»~¡G¡uAFS ¦øªA¾¹ºÞ²zµ{¦¡¡v¡G %o" + IDS_ALL_SERVERS_RUNNING "©Ò¦³¦øªA¾¹³£¦b°õ¦æ¤¤¡C" + IDS_CHECK_VOLUMES_OK "¤wÀˬd©Ò¦³®eÅéID/¦WºÙ¹ïÀ³¡C" + IDS_CHECK_VOLUMES_ERROR "Àˬd®eÅéID/¦WºÙ¹ïÀ³®Éµo¥Í¿ù»~¡G %o" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ACL_ENTRY_NAME_IN_USE "±z©Ò¿ï¾Üªº¦WºÙ¤w¸g¦s¦b¡C½Ð¿é¤J¤£¦Pªº¦WºÙ¡C" + IDS_REALLY_DEL_MOUNT_POINTS "±z½T©w­n²¾°£©Ò¿ï¨úªº¸Ë¸üÂI¶Ü¡H" + IDS_DIR_DOES_NOT_EXIST_ERROR "¥Ø¿ý '%o' ¨Ã¤£¦s¦b¡C" + IDS_CLEANACL_MSG "±N§R°£¤w§@¼oªº ACL ¡I" + IDS_COPY_ACL_OK "¤w¶¶§Q³Æ¥÷ ACL¡C" + IDS_GET_TOKENS_NO_AFS_SERVICE + "µLªkŪ¨ú°O¸¹¸ê°T¡GAFS ªA°Èµ{¦¡¥i¯à©|¥¼±Ò°Ê¡C" + IDS_GET_TOKENS_UNEXPECTED_ERROR + "µLªkŪ¨ú°O¸¹¸ê°T¡G«D¹w´Áªº¿ù»~¡Aµ{¦¡½X %d¡C" + IDS_GET_TOKENS_UNEXPECTED_ERROR2 + "µLªkŪ¨ú°O¸¹¸ê°T¡G«D¹w´Áªº¿ù»~¡AªA°Èµ{¦¡ %s.%s.%s¡Aµ{¦¡½X %d¡C" + IDS_ENTER_QUOTA "½Ð¿é¤J¦³®Äªº°tÃB¡C" + IDS_AUTHENTICATION_ITEM "Ų§O(&A)..." + IDS_ACLS_ITEM "¦s¨ú±±¨î²M³æ(&C)..." + IDS_VOL_PART_ITEM "®eÅé / ¤À³Î°Ï(&V)" + IDS_VOL_PART_PROPS_ITEM "¤º®e(&P)" + IDS_VOL_PART_REFRESH_ITEM "­«·s¾ã²z¦WºÙ/ID ¹ïÀ³(&R)" + IDS_MOUNT_POINT_ITEM "¸Ë¸üÂI(&M)" + IDS_MP_SHOW_ITEM "Åã¥Ü(&S)..." +END + +STRINGTABLE DISCARDABLE +BEGIN + AFX_IDS_APP_TITLE "AFS ¥Î¤áºÝ" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_MP_REMOVE_ITEM "²¾°£(&R)..." + IDS_MP_MAKE_ITEM "»s§@(&M)..." + IDS_FLUSH_FILE_DIR_ITEM "¨R¼gÀÉ®× / ¥Ø¿ý(&F)" + IDS_FLUSH_VOLUME_ITEM "¨R¼g®eÅé(&U)" + IDS_SHOW_FILE_SERVERS_ITEM "Åã¥ÜÀɮצøªA¾¹(&F)..." + IDS_SHOW_CELL_ITEM "Åã¥Ü Cell (&C)..." + IDS_SHOW_SERVER_STATUS_ITEM "Åã¥Ü¦øªA¾¹ª¬ºA..." + IDS_AFS_ITEM "AFS(&A)" + IDS_SUBMOUNTS_ITEM "¤l¸Ë¸ü(&B)" + IDS_GET_SUBMT_INFO_ERROR "µLªkŪ¨ú¦@¨É¦WºÙ %o ªº¤l¸Ë¸ü¸ê°T¡C" + IDS_REALLY_DELETE_SUBMT "§R°£¦@¨É¦WºÙ %o ¶Ü¡H" + IDS_SUBMT_SAVE_FAILED "±z¹ï¤l¸Ë¸ü¸ê®Æ®w©Ò§@ªºÅܧóµL®Ä¡C" + IDS_SUBMOUNTS_CREATE_ITEM "·s¼W(&A)" + IDS_SUBMOUNTS_EDIT_ITEM "½s¿è(&E)..." + IDS_EDIT_PATH_NAME "½s¿è¸ô®|¦WºÙ" + IDS_SHOW_CELL "Åã¥Ü Cell" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_SHOW_CELL_COLUMN "Cell" + IDS_SHOW_FS "Åã¥ÜÀɮצøªA¾¹" + IDS_SHOW_FS_COLUMN "ÀɮצøªA¾¹" + IDS_REMOVE_MP "²¾°£¸Ë¸üÂI" + IDS_REMOVE_MP_COLUMN "µ²ªG" +END + +#endif // Chinese (Taiwan) resources +///////////////////////////////////////////////////////////////////////////// + + + +#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_CHT) +#ifdef _WIN32 +LANGUAGE 4, 1 +#endif +#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources +#include "afxres.rc" // Standard components +#endif +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/WINNT/client_exp/resource.h b/src/WINNT/client_exp/resource.h index 57f9d520a..4550009c9 100644 --- a/src/WINNT/client_exp/resource.h +++ b/src/WINNT/client_exp/resource.h @@ -1,12 +1,14 @@ -/* - * 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 - */ - +//{{NO_DEPENDENCIES}} +// +// 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 +// +// Used by afs_shl_ext.rc +// #define IDM_AUTHENTICATION 1 #define IDM_ACL_SET 2 #define IDM_VOLUME_PROPERTIES 3 @@ -19,12 +21,13 @@ #define IDM_SHOW_SERVER 10 #define IDM_SHOWCELL 11 #define IDM_SERVER_STATUS 12 -#define IDM_SUBMOUNTS_CREATE 13 +#define IDM_REMOVE_SYMLINK 13 #define IDM_SUBMOUNTS_EDIT 14 #define IDM_SUBMOUNTS 15 #define IDM_ACL_CLEAN 16 #define ID_GET_TOKENS 17 #define ID_DISCARD_TOKENS 18 +#define IDM_SUBMOUNTS_CREATE 19 #define IDD_KLOG_DIALOG 102 #define IDR_MENU_FILE 129 #define IDD_VOLUME_INFO 130 @@ -190,6 +193,7 @@ #define IDS_SET_QUOTA_ERROR 32825 #define ID_SUBMOUNTS_CREATE 32826 #define ID_SUBMOUNTS_EDIT 32827 +#define ID_REMOVE_SYMLINK 32828 #define IDS_CHECK_SERVERS_ERROR 59146 #define IDS_ALL_SERVERS_RUNNING 59147 #define IDS_CHECK_VOLUMES_OK 59150 @@ -231,13 +235,15 @@ #define IDS_SHOW_FS_COLUMN 59186 #define IDS_REMOVE_MP 59187 #define IDS_REMOVE_MP_COLUMN 59188 +#define IDS_REMOVE_SYMLINK_ITEM 59189 +#define IDS_REALLY_REMOVE_SYMLINK 59190 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 155 -#define _APS_NEXT_COMMAND_VALUE 32826 +#define _APS_NEXT_COMMAND_VALUE 32829 #define _APS_NEXT_CONTROL_VALUE 1087 #define _APS_NEXT_SYMED_VALUE 101 #endif diff --git a/src/WINNT/client_exp/shell_ext.cpp b/src/WINNT/client_exp/shell_ext.cpp index 49dc7690a..37e0f1102 100644 --- a/src/WINNT/client_exp/shell_ext.cpp +++ b/src/WINNT/client_exp/shell_ext.cpp @@ -12,6 +12,7 @@ extern "C" { #include } +#include #include "stdafx.h" #include #include @@ -25,7 +26,7 @@ extern "C" { #include "server_status_dlg.h" #include "auth_dlg.h" #include "submounts_dlg.h" - +#include "gui2fs.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -36,7 +37,13 @@ static char THIS_FILE[] = __FILE__; ULONG nCMRefCount = 0; // IContextMenu ref count ULONG nSERefCount = 0; // IShellExtInit ref count +ULONG nICRefCount=0; +ULONG nTPRefCount=0; +ULONG nXPRefCount=0; +#define MAXSIZE 2048 /* most I'll get back from PIOCTL */ +#define PCCHAR(str) ((char *)(const char *)str) +static char space[MAXSIZE]; static BOOL IsADir(const CString& strName) { @@ -57,10 +64,15 @@ CShellExt::CShellExt() { EnableAutomation(); nCMRefCount++; + HRESULT hr; + hr = SHGetMalloc(&m_pAlloc); + if (FAILED(hr)) + m_pAlloc = NULL; } CShellExt::~CShellExt() { + if(m_pAlloc) m_pAlloc->Release(); nCMRefCount--; } @@ -100,9 +112,12 @@ BEGIN_INTERFACE_MAP(CShellExt, CCmdTarget) INTERFACE_PART(CShellExt, IID_IShellExt, Dispatch) INTERFACE_PART(CShellExt, IID_IContextMenu, MenuExt) INTERFACE_PART(CShellExt, IID_IShellExtInit, ShellInit) + INTERFACE_PART(CShellExt, IID_IShellIconOverlayIdentifier, IconExt) + INTERFACE_PART(CShellExt, IID_IQueryInfo , ToolTipExt) + INTERFACE_PART(CShellExt, IID_IPersistFile , PersistFileExt) END_INTERFACE_MAP() -IMPLEMENT_OLECREATE(CShellExt, "AfsClientContextMenu", 0xdc515c27, 0x6cac, 0x11d1, 0xba, 0xe7, 0x0, 0xc0, 0x4f, 0xd1, 0x40, 0xd2) +IMPLEMENT_OLECREATE(CShellExt, STR_EXT_TITLE, 0xdc515c27, 0x6cac, 0x11d1, 0xba, 0xe7, 0x0, 0xc0, 0x4f, 0xd1, 0x40, 0xd2) ///////////////////////////////////////////////////////////////////////////// @@ -155,10 +170,17 @@ STDMETHODIMP CShellExt::XMenuExt::QueryContextMenu(HMENU hMenu,UINT indexMenu, continue; if (!lstrcmp (szItemText, pszAfsItemText)) { DeleteMenu (hMenu, iItem, MF_BYPOSITION); - break; + continue; + } + if ((!lstrcmp(szItemText,"&Delete"))&&(pThis->m_bIsSymlink)) { /*this is a symlink - don't present a delete menu!*/ + DeleteMenu (hMenu, iItem, MF_BYPOSITION); + continue; + } + if ((!lstrcmp(szItemText,"Cu&t"))&&(pThis->m_bIsSymlink)) { /*same for cut*/ + DeleteMenu (hMenu, iItem, MF_BYPOSITION); + continue; } } - int indexShellMenu = 0; // Create the AFS submenu using the allowed ID's. @@ -196,6 +218,8 @@ STDMETHODIMP CShellExt::XMenuExt::QueryContextMenu(HMENU hMenu,UINT indexMenu, ::InsertMenu(hAfsMenu, indexAfsMenu++, MF_STRING | MF_BYPOSITION, idCmdFirst + IDM_SHOW_SERVER, GetMessageString(IDS_SHOW_FILE_SERVERS_ITEM)); ::InsertMenu(hAfsMenu, indexAfsMenu++, MF_STRING | MF_BYPOSITION, idCmdFirst + IDM_SHOWCELL, GetMessageString(IDS_SHOW_CELL_ITEM)); ::InsertMenu(hAfsMenu, indexAfsMenu++, MF_STRING | MF_BYPOSITION, idCmdFirst + IDM_SERVER_STATUS, GetMessageString(IDS_SHOW_SERVER_STATUS_ITEM)); + if (pThis->m_bIsSymlink) + ::InsertMenu(hAfsMenu, indexAfsMenu++, MF_STRING | MF_BYPOSITION, idCmdFirst + IDM_REMOVE_SYMLINK, GetMessageString(IDS_REMOVE_SYMLINK_ITEM)); // The Submounts menu has been removed because the AFS tray icon // and control panel now support mapping drives directly to an AFS @@ -307,7 +331,14 @@ STDMETHODIMP CShellExt::XMenuExt::InvokeCommand(LPCMINVOKECOMMANDINFO lpici) dlg.DoModal(); } break; - + case IDM_REMOVE_SYMLINK: { + if (files.GetSize()>1) + break; + int nChoice = ShowMessageBox(IDS_REALLY_REMOVE_SYMLINK, MB_ICONQUESTION | MB_YESNO, IDS_REALLY_REMOVE_SYMLINK); + if (nChoice == IDYES) + RemoveSymlink(files.GetAt(0)); + } + break; default: ASSERT(FALSE); Release(); @@ -372,6 +403,9 @@ STDMETHODIMP CShellExt::XMenuExt::GetCommandString(UINT idCmd, UINT uType, case IDM_SUBMOUNTS_EDIT: nCmdStrID = ID_SUBMOUNTS_EDIT; break; + + case IDM_REMOVE_SYMLINK: nCmdStrID= ID_REMOVE_SYMLINK; + break; default: ASSERT(FALSE); @@ -454,6 +488,8 @@ STDMETHODIMP CShellExt::XShellInit::Initialize(LPCITEMIDLIST pidlFolder, IDataOb if (!IsPathInAfs(strFileName)) { pThis->m_astrFileNames.RemoveAll(); break; + } else { + pThis->m_bIsSymlink=IsSymlink(strFileName); } if (IsADir(strFileName)) @@ -474,3 +510,160 @@ STDMETHODIMP CShellExt::XShellInit::Initialize(LPCITEMIDLIST pidlFolder, IDataOb return hres; } +STDMETHODIMP CShellExt::XIconExt::QueryInterface(REFIID riid, void** ppv) +{ + METHOD_PROLOGUE(CShellExt, IconExt); + return pThis->ExternalQueryInterface(&riid, ppv); +} + +STDMETHODIMP_(ULONG) CShellExt::XIconExt::AddRef(void) +{ + return ++nICRefCount; +} + +STDMETHODIMP_(ULONG) CShellExt::XIconExt::Release(void) +{ + if (nICRefCount > 0) + nICRefCount--; + + return nICRefCount; +} + + +///////////////////////////////////////////////////////////////////////////// +// IIconHandler Functions +///////////////////////////////////////////////////////////////////////////// + +STDMETHODIMP CShellExt::XIconExt::GetOverlayInfo(LPWSTR pwszIconFile + ,int cchMax,int* pIndex,DWORD* pdwFlags) +{ + if(IsBadWritePtr(pIndex, sizeof(int))) + return E_INVALIDARG; + if(IsBadWritePtr(pdwFlags, sizeof(DWORD))) + return E_INVALIDARG; + + HMODULE hModule=GetModuleHandle("shell32.dll"); + TCHAR szModule[MAX_PATH]; + DWORD z=GetModuleFileName(hModule,szModule,sizeof(szModule)); + MultiByteToWideChar( CP_ACP,0,szModule,-1,pwszIconFile,cchMax); + *pIndex = 30; + *pdwFlags = ISIOI_ICONFILE | ISIOI_ICONINDEX; + return S_OK; +} + +STDMETHODIMP CShellExt::XIconExt::GetPriority(int* pPriority) +{ + if(IsBadWritePtr(pPriority, sizeof(int))) + return E_INVALIDARG; + *pPriority = 0; + return S_OK; +} + +STDMETHODIMP CShellExt::XIconExt::IsMemberOf(LPCWSTR pwszPath,DWORD dwAttrib) +{ + TCHAR szPath[MAX_PATH]; + WideCharToMultiByte( CP_ACP,0,pwszPath,-1,szPath,MAX_PATH,NULL,NULL); + if (IsSymlink(szPath)) + return S_OK; + return S_FALSE; +} + +/* TOOL TIP INFO IMPLIMENTION */ + +STDMETHODIMP CShellExt::XToolTipExt::QueryInterface(REFIID riid, void** ppv) +{ + METHOD_PROLOGUE(CShellExt, ToolTipExt); + return pThis->ExternalQueryInterface(&riid, ppv); +} + +STDMETHODIMP_(ULONG) CShellExt::XToolTipExt::AddRef(void) +{ + return ++nTPRefCount; +} + +STDMETHODIMP_(ULONG) CShellExt::XToolTipExt::Release(void) +{ + if (nTPRefCount> 0) + nTPRefCount--; + + return nTPRefCount; +} + +STDMETHODIMP CShellExt::XToolTipExt::GetInfoTip(DWORD dwFlags, LPWSTR *ppwszTip) +{ + METHOD_PROLOGUE(CShellExt, ToolTipExt); + + if (!IsSymlink(pThis->m_szFile)) + { + ppwszTip=NULL; + return S_OK; + } + USES_CONVERSION; + // dwFlags is currently unused. + *ppwszTip = (WCHAR*) (pThis->m_pAlloc)->Alloc((1+lstrlen(pThis->m_szFile))*sizeof(WCHAR)); + if (*ppwszTip) + { + wcscpy(*ppwszTip, (WCHAR*)T2OLE(pThis->m_szFile)); + } + + return S_OK; +} +STDMETHODIMP CShellExt::XToolTipExt::GetInfoFlags(LPDWORD pdwFlags) +{ + return S_OK; +} + +////////// IPersistFile +/////// PersistFileExt + +STDMETHODIMP CShellExt::XPersistFileExt::QueryInterface(REFIID riid, void** ppv) +{ + METHOD_PROLOGUE(CShellExt, PersistFileExt); + return pThis->ExternalQueryInterface(&riid, ppv); +} + +STDMETHODIMP_(ULONG) CShellExt::XPersistFileExt::AddRef(void) +{ + return ++nXPRefCount; +} + +STDMETHODIMP_(ULONG) CShellExt::XPersistFileExt::Release(void) +{ + if (nXPRefCount> 0) + nXPRefCount--; + + return nXPRefCount; +} + +STDMETHODIMP CShellExt::XPersistFileExt::Load(LPCOLESTR wszFile, DWORD dwMode) +{ + METHOD_PROLOGUE(CShellExt, PersistFileExt); + USES_CONVERSION; + _tcscpy(pThis->m_szFile, OLE2T((WCHAR*)wszFile)); + return S_OK; +} + +STDMETHODIMP CShellExt::XPersistFileExt::GetClassID(LPCLSID) +{ + return E_NOTIMPL; +} + +STDMETHODIMP CShellExt::XPersistFileExt::IsDirty(VOID) +{ + return E_NOTIMPL; +} + +STDMETHODIMP CShellExt::XPersistFileExt::Save(LPCOLESTR, BOOL) +{ + return E_NOTIMPL; +} + +STDMETHODIMP CShellExt::XPersistFileExt::SaveCompleted(LPCOLESTR) +{ + return E_NOTIMPL; +} + +STDMETHODIMP CShellExt::XPersistFileExt::GetCurFile(LPOLESTR FAR*) +{ + return E_NOTIMPL; +} diff --git a/src/WINNT/client_exp/shell_ext.h b/src/WINNT/client_exp/shell_ext.h index 02a2ffd71..de826a2eb 100644 --- a/src/WINNT/client_exp/shell_ext.h +++ b/src/WINNT/client_exp/shell_ext.h @@ -18,10 +18,14 @@ #include - extern ULONG nCMRefCount; // IContextMenu ref count extern ULONG nSERefCount; // IShellExtInit ref count +extern ULONG nICRefCount; // IContextMenu ref count +extern ULONG nTPRefCount; // IQueryInfo ref count +extern ULONG nXPRefCount; // IPersistFile ref count +#define STR_EXT_TITLE TEXT("AfsClientContextMenu") +#define STR_REG_PATH TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ShellIconOverlayIdentifiers") ///////////////////////////////////////////////////////////////////////////// // CShellExt command target @@ -31,10 +35,13 @@ class CShellExt : public CCmdTarget DECLARE_DYNCREATE(CShellExt) BOOL m_bDirSelected; + BOOL m_bIsSymlink; // is symbolic link! + TCHAR m_szFile[MAX_PATH]; CStringArray m_astrFileNames; CShellExt(); // protected constructor used by dynamic creation + LPMALLOC m_pAlloc; // Attributes public: @@ -81,6 +88,26 @@ protected: STDMETHOD(Initialize)(LPCITEMIDLIST pidlFolder,LPDATAOBJECT lpdobj, HKEY hkeyProgID); END_INTERFACE_PART(ShellInit) + BEGIN_INTERFACE_PART(IconExt, IShellIconOverlayIdentifier) + STDMETHOD(GetOverlayInfo)(LPWSTR pwszIconFile,int cchMax,int* pIndex,DWORD* pdwFlags); + STDMETHOD(GetPriority)(int* pPriority); + STDMETHOD(IsMemberOf)(LPCWSTR pwszPath,DWORD dwAttrib); + END_INTERFACE_PART(IconExt) + + BEGIN_INTERFACE_PART(ToolTipExt, IQueryInfo) + STDMETHOD(GetInfoTip)(DWORD dwFlags, LPWSTR *ppwszTip); + STDMETHOD(GetInfoFlags)(LPDWORD pdwFlags); + END_INTERFACE_PART(ToolTipExt) + + BEGIN_INTERFACE_PART(PersistFileExt, IPersistFile) + STDMETHOD(Load)(LPCOLESTR wszFile, DWORD dwMode); + STDMETHOD(GetClassID)(LPCLSID); + STDMETHOD(IsDirty)(VOID); + STDMETHOD(Save)(LPCOLESTR, BOOL); + STDMETHOD(SaveCompleted)(LPCOLESTR); + STDMETHOD(GetCurFile)(LPOLESTR FAR*); + END_INTERFACE_PART(PersistFileExt) + DECLARE_INTERFACE_MAP() }; diff --git a/src/WINNT/eventlog/lang/NTMakefile b/src/WINNT/eventlog/lang/NTMakefile index 7c8894c3f..6b176a86b 100644 --- a/src/WINNT/eventlog/lang/NTMakefile +++ b/src/WINNT/eventlog/lang/NTMakefile @@ -40,7 +40,7 @@ EVENTRESFILE = $(LANGNAME)\event.res DLLOBJS = $(DLLRESFILE) $(DLLFILE): $(DLLOBJS) - $(DLLCONLINK) + $(DLLRESLINK) $(DLLPREP) ############################################################################ diff --git a/src/WINNT/install/InstallShield5/NTMakefile b/src/WINNT/install/InstallShield5/NTMakefile index 5577a96b4..498daa220 100644 --- a/src/WINNT/install/InstallShield5/NTMakefile +++ b/src/WINNT/install/InstallShield5/NTMakefile @@ -20,6 +20,15 @@ AFSBUILDCOMMENTS=Build:*DatE* *TimE* CellServDB:$(CELLSERVDB_INSTALL) ############################################################################ +#CHECK which OS we are using to avoid using the wrong options +!IF (([$(DESTDIR)\bin\util_cr.exe _ xp w2])==1) +XCOPY= xcopy /s/e/y +!ELSE +XCOPY= xcopy /s/e +!ENDIF + +#check which version of the complier we are using + prep: AFS_component_version_number.txt $(DESTDIR)\bin\util_cr.exe } "$(AFSPRODUCT_VERSION)" ".\lang\en_US\value.txt" ".\lang\en_US\value.shl" $(DESTDIR)\bin\util_cr.exe } "$(AFSPRODUCT_VERSION)" "default.txt" "default.rge" @@ -62,8 +71,7 @@ build: $(DEL) /q $(DESTDIR)\Wininstall\PackageWeb\*.* $(ISWEB)\Pftwwiz.exe $(AFSROOT)\src\winnt\install\InstallShield5\PackageWeb.pfw -s -a !ENDIF - xcopy /s/e/y "Media\OpenAFS\Disk Images\disk1\*.*" $(DESTDIR)\WinInstall + $(XCOPY) Media\OpenAFS\DiskIm~1\disk1\*.* $(DESTDIR)\WinInstall copy AFS_component_version_number.txt $(DESTDIR)\WinInstall\Version.txt $(DEL) /q "Media\OpenAFS\Disk Images\disk1\*.*" - install: prep build diff --git a/src/afs/HPUX/osi_machdep.h b/src/afs/HPUX/osi_machdep.h index edc948d30..2ea602166 100644 --- a/src/afs/HPUX/osi_machdep.h +++ b/src/afs/HPUX/osi_machdep.h @@ -87,11 +87,8 @@ extern void afsHashRelease(tid_t key); extern caddr_t kmem_alloc(); #include /* for kt_cred() */ -#endif /* _OSI_MACHDEP_H_ */ - - - - - - +/* Expected to be available as a patch from HP */ +/* See section D of the top level README for details */ +#include +#endif /* _OSI_MACHDEP_H_ */ diff --git a/src/afs/HPUX/osi_vnodeops.c b/src/afs/HPUX/osi_vnodeops.c index 501693ed6..a39858b9f 100644 --- a/src/afs/HPUX/osi_vnodeops.c +++ b/src/afs/HPUX/osi_vnodeops.c @@ -12,7 +12,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/HPUX/osi_vnodeops.c,v 1.1.1.6 2002/05/10 23:43:53 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/HPUX/osi_vnodeops.c,v 1.1.1.7 2002/12/11 02:36:12 hartmans Exp $"); #include "../afs/sysincludes.h" /* Standard vendor system headers */ #include "../afs/afsincludes.h" /* Afs-based standard headers */ @@ -179,10 +179,6 @@ afs_lockf( vp, flag, len, cred, fp, LB, UB ) #include "../h/tuneable.h" #include "../h/buf.h" #include "../netinet/in.h" -#include "../rpc/types.h" -#include "../rpc/auth.h" -#include "../rpc/clnt.h" -#include "../rpc/xdr.h" /* a freelist of one */ struct buf *afs_bread_freebp = 0; diff --git a/src/afs/LINUX/osi_groups.c b/src/afs/LINUX/osi_groups.c index a1f6eb856..d6a8fc5ae 100644 --- a/src/afs/LINUX/osi_groups.c +++ b/src/afs/LINUX/osi_groups.c @@ -16,7 +16,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/LINUX/osi_groups.c,v 1.1.1.9 2002/05/10 23:44:03 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/LINUX/osi_groups.c,v 1.1.1.10 2002/12/11 02:36:15 hartmans Exp $"); #include "../afs/sysincludes.h" #include "../afs/afsincludes.h" @@ -42,7 +42,7 @@ int set_pag_in_parent(int pag, int g0, int g1) gp = current->p_pptr->groups; - if (afs_get_pag_from_groups(gp[0], gp[1]) == NOPAG) { + if ((ngroups < 2) || (afs_get_pag_from_groups(gp[0], gp[1]) == NOPAG)) { /* We will have to shift grouplist to make room for pag */ if (ngroups + 2 > NGROUPS) { return EINVAL; diff --git a/src/afs/LINUX/osi_prototypes.h b/src/afs/LINUX/osi_prototypes.h index 615fb453c..0d119216c 100644 --- a/src/afs/LINUX/osi_prototypes.h +++ b/src/afs/LINUX/osi_prototypes.h @@ -27,6 +27,8 @@ extern cred_t *crdup(cred_t *cr); extern cred_t *crref(void); extern void crset(cred_t *cr); +/* osi_file.c */ +extern afs_rwlock_t afs_xosi; /* osi_misc.c */ extern int osi_lookupname(char *aname, uio_seg_t seg, int followlink, diff --git a/src/afs/LINUX/osi_vfs.hin b/src/afs/LINUX/osi_vfs.hin index ee0588b91..90a572c17 100644 --- a/src/afs/LINUX/osi_vfs.hin +++ b/src/afs/LINUX/osi_vfs.hin @@ -44,6 +44,7 @@ typedef struct vnode vnode_t; #define VCHR S_IFCHR #define VLNK S_IFLNK #define VSOCK S_IFSOCK +#define VFIFO S_IFIFO /* vcexcl - used only by afs_create */ enum vcexcl { EXCL, NONEXCL } ; diff --git a/src/afs/SOLARIS/osi_file.c b/src/afs/SOLARIS/osi_file.c index afe36c49a..13295789f 100644 --- a/src/afs/SOLARIS/osi_file.c +++ b/src/afs/SOLARIS/osi_file.c @@ -10,7 +10,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/SOLARIS/osi_file.c,v 1.1.1.8 2002/09/26 18:58:18 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/SOLARIS/osi_file.c,v 1.1.1.9 2002/12/11 02:36:19 hartmans Exp $"); #include "../afs/sysincludes.h" /* Standard vendor system headers */ #include "../afs/afsincludes.h" /* Afs-based standard headers */ @@ -149,8 +149,11 @@ void *osi_VxfsOpen(ainode) } #endif /* AFS_HAVE_VXFS */ -void *osi_UfsOpen(ainode) - afs_int32 ainode; +#if defined(AFS_SUN57_64BIT_ENV) +void *osi_UfsOpen(ino_t ainode) +#else +void *osi_UfsOpen(afs_int32 ainode) +#endif { struct inode *ip; register struct osi_file *afile = NULL; diff --git a/src/afs/SOLARIS/osi_vnodeops.c b/src/afs/SOLARIS/osi_vnodeops.c index b38c01571..d06ca8284 100644 --- a/src/afs/SOLARIS/osi_vnodeops.c +++ b/src/afs/SOLARIS/osi_vnodeops.c @@ -10,7 +10,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/SOLARIS/osi_vnodeops.c,v 1.1.1.10 2002/08/02 04:28:59 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/SOLARIS/osi_vnodeops.c,v 1.1.1.11 2002/12/11 02:36:21 hartmans Exp $"); #if defined(AFS_SUN_ENV) || defined(AFS_SUN5_ENV) /* @@ -1935,12 +1935,17 @@ void afs_inactive(struct vcache *avc, struct AFS_UCRED *acred) mutex_exit(&vp->v_lock); return; } - mutex_exit(&vp->v_lock); + mutex_exit(&vp->v_lock); + /* - * Solaris calls VOP_OPEN on exec, but isn't very diligent about calling - * VOP_CLOSE when executable exits. + * Solaris calls VOP_OPEN on exec, but doesn't call VOP_CLOSE when + * the executable exits. So we clean up the open count here. + * + * Only do this for mvstat 0 vnodes: when using fakestat, we can't + * lose the open count for volume roots (mvstat 2), even though they + * will get VOP_INACTIVE'd when released by afs_PutFakeStat(). */ - if (avc->opens > 0 && !(avc->states & CCore)) + if (avc->opens > 0 && avc->mvstat == 0 && !(avc->states & CCore)) avc->opens = avc->execsOrWriters = 0; afs_InactiveVCache(avc, acred); diff --git a/src/afs/UKERNEL/afs_usrops.c b/src/afs/UKERNEL/afs_usrops.c index 42db954f3..43a0182b0 100644 --- a/src/afs/UKERNEL/afs_usrops.c +++ b/src/afs/UKERNEL/afs_usrops.c @@ -14,7 +14,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/UKERNEL/afs_usrops.c,v 1.1.1.8 2002/05/10 23:44:15 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/UKERNEL/afs_usrops.c,v 1.1.1.9 2002/12/11 02:36:21 hartmans Exp $"); #ifdef UKERNEL @@ -2219,7 +2219,7 @@ int uafs_LookupName( /* * terminate the current component and skip over slashes */ - nextPathP = strchr(pathP, '/'); + nextPathP = afs_strchr(pathP, '/'); if (nextPathP != NULL) { while (*nextPathP == '/') { *(nextPathP++) = '\0'; diff --git a/src/afs/VNOPS/afs_vnop_create.c b/src/afs/VNOPS/afs_vnop_create.c index 6622455c4..9bd9c7b5d 100644 --- a/src/afs/VNOPS/afs_vnop_create.c +++ b/src/afs/VNOPS/afs_vnop_create.c @@ -16,7 +16,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/VNOPS/afs_vnop_create.c,v 1.1.1.8 2002/08/02 04:29:01 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/VNOPS/afs_vnop_create.c,v 1.1.1.9 2002/12/11 02:36:23 hartmans Exp $"); #include "../afs/sysincludes.h" /* Standard vendor system headers */ #include "../afs/afsincludes.h" /* Afs-based standard headers */ @@ -106,14 +106,18 @@ afs_create(OSI_VC_ARG(adp), aname, attrs, aexcl, amode, avcp, acred) code = EINVAL; goto done; } -#if defined(AFS_SUN5_ENV) - if ((attrs->va_type == VBLK) || (attrs->va_type == VCHR)) { -#else - if ((attrs->va_type == VBLK) || (attrs->va_type == VCHR) || (attrs->va_type == VSOCK)) { + switch (attrs->va_type) { + case VBLK: + case VCHR: +#if !defined(AFS_SUN5_ENV) + case VSOCK: #endif - /* We don't support special devices */ + case VFIFO: + /* We don't support special devices or FIFOs */ code = EINVAL; goto done; + default: + ; } code = afs_EvalFakeStat(&adp, &fakestate, &treq); if (code) goto done; diff --git a/src/afs/afs_dynroot.c b/src/afs/afs_dynroot.c index e42714b2c..107b3a8bd 100644 --- a/src/afs/afs_dynroot.c +++ b/src/afs/afs_dynroot.c @@ -125,6 +125,23 @@ afs_IsDynroot(avc) return afs_IsDynrootFid(&avc->fid); } +/* + * Given the current page and chunk pointers in a directory, adjust them + * appropriately so that the given file name can be appended. Used for + * computing the size of a directory. + */ +static void afs_dynroot_computeDirEnt(char *name, int *curPageP, int *curChunkP) +{ + int esize; + + esize = afs_dir_NameBlobs(name); + if (*curChunkP + esize > EPP) { + *curPageP += 1; + *curChunkP = 1; + } + *curChunkP += esize; +} + /* * Add directory entry by given name to a directory. Assumes the * caller has allocated the directory to be large enough to hold @@ -207,7 +224,7 @@ afs_RefreshDynroot() int cellidx, maxcellidx, i; struct cell *c; int curChunk, curPage; - int dirSize, sizeOfCurEntry; + int dirSize, sizeOfCurEntry, dotLen; char *newDir, *dotCell; struct DirHeader *dirHeader; struct PageHeader *pageHeader; @@ -229,6 +246,9 @@ afs_RefreshDynroot() curChunk = 13; curPage = 0; + /* Reserve space for "." and ".." */ + curChunk += 2; + for (cellidx = 0; cellidx < maxcellidx; cellidx++) { c = afs_GetCellByIndex(cellidx, READ_LOCK, 0 /* don't refresh */); if (!c) continue; @@ -240,7 +260,8 @@ afs_RefreshDynroot() } curChunk += sizeOfCurEntry; - dotCell = afs_osi_Alloc(strlen(c->cellName) + 2); + dotLen = strlen(c->cellName) + 2; + dotCell = afs_osi_Alloc(dotLen); strcpy(dotCell, "."); strcat(dotCell, c->cellName); sizeOfCurEntry = afs_dir_NameBlobs(dotCell); @@ -250,6 +271,7 @@ afs_RefreshDynroot() } curChunk += sizeOfCurEntry; + afs_osi_Free(dotCell, dotLen); afs_PutCell(c, READ_LOCK); } @@ -294,14 +316,12 @@ afs_RefreshDynroot() afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk, "..", 1); linkCount += 2; - /* Reserve space for "." and ".." */ - curChunk += 2; - for (cellidx = 0; cellidx < maxcellidx; cellidx++) { c = afs_GetCellByIndex(cellidx, READ_LOCK, 0 /* don't refresh */); if (!c) continue; - dotCell = afs_osi_Alloc(strlen(c->cellName) + 2); + dotLen = strlen(c->cellName) + 2; + dotCell = afs_osi_Alloc(dotLen); strcpy(dotCell, "."); strcat(dotCell, c->cellName); afs_dynroot_addDirEnt(dirHeader, &curPage, &curChunk, @@ -310,6 +330,8 @@ afs_RefreshDynroot() dotCell, VNUM_FROM_CIDX_RW(cellidx, 1)); if (!(c->states & CAlias)) linkCount += 2; + + afs_osi_Free(dotCell, dotLen); afs_PutCell(c, READ_LOCK); } diff --git a/src/afs/afs_init.c b/src/afs/afs_init.c index d12bdbeff..e5eebf188 100644 --- a/src/afs/afs_init.c +++ b/src/afs/afs_init.c @@ -16,7 +16,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/afs_init.c,v 1.1.1.8 2002/09/26 18:57:51 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/afs_init.c,v 1.1.1.9 2002/12/11 02:35:59 hartmans Exp $"); #include "../afs/stds.h" #include "../afs/sysincludes.h" /* Standard vendor system headers */ @@ -39,6 +39,7 @@ extern afs_rwlock_t afs_xaxs; extern afs_rwlock_t afs_xvolume; extern afs_rwlock_t afs_xuser; extern afs_rwlock_t afs_xserver; +extern afs_rwlock_t afs_xsrvAddr; #ifndef AFS_AIX41_ENV extern afs_lock_t osi_fsplock; #endif @@ -89,6 +90,7 @@ extern afs_int32 usedihint; /* afs_server.c */ extern afs_int32 afs_setTime; +extern afs_rwlock_t afs_xsrvAddr; /* Imported functions. */ extern struct rx_securityClass *rxnull_NewServerSecurityObject(); @@ -521,6 +523,8 @@ afs_ResourceInit(preallocs) RWLOCK_INIT(&afs_xvolume, "afs_xvolume"); RWLOCK_INIT(&afs_xcell, "afs_xcell"); RWLOCK_INIT(&afs_xserver, "afs_xserver"); + RWLOCK_INIT(&afs_xsrvAddr, "afs_xsrvAddr"); + RWLOCK_INIT(&afs_icl_lock, "afs_icl_lock"); RWLOCK_INIT(&afs_xinterface, "afs_xinterface"); LOCK_INIT(&afs_puttofileLock, "afs_puttofileLock"); #ifndef AFS_AIX32_ENV diff --git a/src/afs/afs_nfsdisp.c b/src/afs/afs_nfsdisp.c index a9141f300..c0c5c3706 100644 --- a/src/afs/afs_nfsdisp.c +++ b/src/afs/afs_nfsdisp.c @@ -10,7 +10,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/afs_nfsdisp.c,v 1.1.1.4 2002/08/02 04:28:40 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/afs_nfsdisp.c,v 1.1.1.5 2002/12/11 02:36:00 hartmans Exp $"); /* Ugly Ugly Ugly but precludes conflicting XDR macros; We want kernel xdr */ #define __XDR_INCLUDE__ @@ -37,176 +37,181 @@ RCSID("$Header: /tmp/cvstemp/openafs/src/afs/afs_nfsdisp.c,v 1.1.1.4 2002/08/02 static int xlatorinit_v2_done=0; static int xlatorinit_v3_done=0; - extern int afs_nobody; extern int afs_NFSRootOnly; -/* It's bigger than this, but we don't care about anything else */ struct rfs_disp_tbl { - void (*dis_proc)(); + void (*dis_proc)(); + xdrproc_t dis_xdrargs; + xdrproc_t dis_fastxdrargs; + int dis_argsz; + xdrproc_t dis_xdrres; + xdrproc_t dis_fastxdrres; + int dis_ressz; + void (*dis_resfree)(); + int dis_flags; + fhandle_t (*dis_getfh)(); }; struct afs_nfs_disp_tbl { void (*afs_proc)(); void (*orig_proc)(); }; - struct afs_nfs2_resp { enum nfsstat status; }; #ifndef ACL2_NPROC -#define ACL2_NPROC 5 +#define ACL2_NPROC 5 #endif - struct afs_nfs_disp_tbl afs_rfs_disp_tbl[RFS_NPROC]; struct afs_nfs_disp_tbl afs_acl_disp_tbl[ACL2_NPROC]; -static int +static int is_afs_fh(fhandle_t *fhp) { if ((fhp->fh_fsid.val[0] == AFS_VFSMAGIC) && - (fhp->fh_fsid.val[1] == AFS_VFSFSID)) + (fhp->fh_fsid.val[1] == AFS_VFSFSID)) return 1; return 0; } -afs_int32 +afs_int32 nfs2_to_afs_call(int which, caddr_t *args, fhandle_t **fhpp, fhandle_t **fh2pp) { struct vnode *vp; fhandle_t *fhp1=0; fhandle_t *fhp2=0; int errorcode; - + *fh2pp = (fhandle_t *)0; switch (which) { - case RFS_GETATTR: - case RFS_READLINK: - case RFS_STATFS: - fhp1 = (fhandle_t *)args; - break; - case RFS_SETATTR: - { - struct nfssaargs *sargs = (struct nfssaargs *)args; - fhp1 = (fhandle_t *)&sargs->saa_fh; - break; - } - case RFS_LOOKUP: - { - struct nfsdiropargs *sargs = (struct nfsdiropargs *)args; - fhp1 = (fhandle_t *)&sargs->da_fhandle; - break; - } - case RFS_READ: - { - struct nfsreadargs *sargs = (struct nfsreadargs *)args; - fhp1 = (fhandle_t *)&sargs->ra_fhandle; - break; - } - case RFS_WRITE: - { - struct nfswriteargs *sargs = (struct nfswriteargs *)args; - fhp1 = (fhandle_t *)&sargs->wa_fhandle; - break; - } - case RFS_CREATE: - { - struct nfscreatargs *sargs = (struct nfscreatargs *)args; - fhp1 = (fhandle_t *)&sargs->ca_da.da_fhandle; - break; - } - case RFS_REMOVE: - { - struct nfsdiropargs *sargs = (struct nfsdiropargs *)args; - fhp1 = (fhandle_t *)&sargs->da_fhandle; - break; - } - case RFS_RENAME: - { - struct nfsrnmargs *sargs = (struct nfsrnmargs *)args; - fhp1 = (fhandle_t *)&sargs->rna_from.da_fhandle; - fhp2 = (fhandle_t *)&sargs->rna_to.da_fhandle; - break; - } - case RFS_LINK: - { - struct nfslinkargs *sargs = (struct nfslinkargs *)args; - fhp1 = (fhandle_t *)&sargs->la_from; - fhp2 = (fhandle_t *)&sargs->la_to.da_fhandle; - break; - } - case RFS_SYMLINK: - { - struct nfsslargs *sargs = (struct nfsslargs *)args; - fhp1 = (fhandle_t *)&sargs->sla_from.da_fhandle; - break; - } - case RFS_MKDIR: - { - struct nfscreatargs *sargs = (struct nfscreatargs *)args; - fhp1 = (fhandle_t *)&sargs->ca_da.da_fhandle; - break; - } - case RFS_RMDIR: - { - struct nfsdiropargs *sargs = (struct nfsdiropargs *)args; - fhp1 = (fhandle_t *)&sargs->da_fhandle; - break; - } - case RFS_READDIR: - { - struct nfsrddirargs *sargs = (struct nfsrddirargs *)args; - fhp1 = (fhandle_t *)&sargs->rda_fh; - break; - } - default: - return NULL; + case RFS_GETATTR: + case RFS_READLINK: + case RFS_STATFS: + fhp1 = (fhandle_t *)args; + break; + case RFS_SETATTR: + { + struct nfssaargs *sargs = (struct nfssaargs *)args; + fhp1 = (fhandle_t *)&sargs->saa_fh; + break; } - + case RFS_LOOKUP: + { + struct nfsdiropargs *sargs = (struct nfsdiropargs *)args; + fhp1 = sargs->da_fhandle; + break; + } + case RFS_READ: + { + struct nfsreadargs *sargs = (struct nfsreadargs *)args; + fhp1 = (fhandle_t *)&sargs->ra_fhandle; + break; + } + case RFS_WRITE: + { + struct nfswriteargs *sargs = (struct nfswriteargs *)args; + fhp1 = (fhandle_t *)&sargs->wa_fhandle; + break; + } + case RFS_CREATE: + { + struct nfscreatargs *sargs = (struct nfscreatargs *)args; + fhp1 = sargs->ca_da.da_fhandle; + break; + } + case RFS_REMOVE: + { + struct nfsdiropargs *sargs = (struct nfsdiropargs *)args; + fhp1 = sargs->da_fhandle; + break; + } + case RFS_RENAME: + { + struct nfsrnmargs *sargs = (struct nfsrnmargs *)args; + fhp1 = sargs->rna_from.da_fhandle; + fhp2 = sargs->rna_to.da_fhandle; + break; + } + case RFS_LINK: + { + struct nfslinkargs *sargs = (struct nfslinkargs *)args; + fhp1 = sargs->la_from; + fhp2 = sargs->la_to.da_fhandle; + break; + } + case RFS_SYMLINK: + { + struct nfsslargs *sargs = (struct nfsslargs *)args; + fhp1 = sargs->sla_from.da_fhandle; + break; + } + case RFS_MKDIR: + { + struct nfscreatargs *sargs = (struct nfscreatargs *)args; + fhp1 = sargs->ca_da.da_fhandle; + break; + } + case RFS_RMDIR: + { + struct nfsdiropargs *sargs = (struct nfsdiropargs *)args; + fhp1 = sargs->da_fhandle; + break; + } + case RFS_READDIR: + { + struct nfsrddirargs *sargs = (struct nfsrddirargs *)args; + fhp1 = (fhandle_t *)&sargs->rda_fh; + break; + } + default: + return NULL; + } + /* Ok if arg 1 is in AFS or if 2 args and arg 2 is in AFS */ if (is_afs_fh(fhp1)) { *fhpp = fhp1; - if (fhp2) + if (fhp2) *fh2pp = fhp2; - return 1; + return 1; } - if (is_afs_fh(fhp2)) { + if (fhp2 && is_afs_fh(fhp2)) { *fhpp = fhp1; *fh2pp = fhp2; - return 1; + return 1; } return NULL; } -afs_int32 +afs_int32 acl2_to_afs_call(int which, caddr_t *args, fhandle_t **fhpp) { fhandle_t *fhp; - + switch(which) { case ACLPROC2_NULL: { return NULL; } - case ACLPROC2_GETACL: + case ACLPROC2_GETACL: { struct GETACL2args *sargs = (struct GETACL2args *) args; fhp = &sargs->fh; break; } - case ACLPROC2_SETACL: + case ACLPROC2_SETACL: { struct SETACL2args *sargs = (struct SETACL2args *) args; fhp = &sargs->fh; break; } - case ACLPROC2_GETATTR: + case ACLPROC2_GETATTR: { struct GETATTR2args *sargs = (struct GETATTR2args *) args; fhp = &sargs->fh; break; } - case ACLPROC2_ACCESS: + case ACLPROC2_ACCESS: { struct ACCESS2args *sargs = (struct ACCESS2args *) args; fhp = &sargs->fh; @@ -215,19 +220,19 @@ acl2_to_afs_call(int which, caddr_t *args, fhandle_t **fhpp) default: return NULL; } - + if (is_afs_fh(fhp)) { *fhpp = fhp; return 1; } - + return NULL; } int -afs_nfs2_dispatcher(int type, afs_int32 which, char *argp, - struct exportinfo **expp, - struct svc_req *rp, struct AFS_UCRED *crp) +afs_nfs2_dispatcher(int type, afs_int32 which, char *argp, + struct exportinfo **expp, + struct svc_req *rp, struct AFS_UCRED *crp) { afs_int32 call = 0; afs_int32 code = 0; @@ -235,33 +240,38 @@ afs_nfs2_dispatcher(int type, afs_int32 which, char *argp, struct sockaddr *sa; fhandle_t *fh = (fhandle_t *)argp; fhandle_t *fh2 = (fhandle_t *)0; - + if (!xlatorinit_v2_done) return 2; - + sa = (struct sockaddr *)svc_getrpccaller(rp->rq_xprt)->buf; - client = ((struct sockaddr_in *)sa)->sin_addr.s_addr; - + if (sa->sa_family == AF_INET) + client = ((struct sockaddr_in *)sa)->sin_addr.s_addr; + AFS_GLOCK(); code = 0; switch (type) { case 0: - code = nfs2_to_afs_call(which, argp, &fh, &fh2); + code = (client && nfs2_to_afs_call(which, argp, &fh, &fh2)); break; case 1: - code = acl2_to_afs_call(which, argp, &fh); + code = (client && acl2_to_afs_call(which, argp, &fh)); break; default: break; } - + if (code) { struct afs_exporter *out = 0; afs_int32 dummy; static int once = 0; struct SmallFid Sfid; - + memcpy((char *)&Sfid, fh->fh_data, SIZEOF_SMALLFID); + + afs_Trace2(afs_iclSetp, CM_TRACE_NFSIN1, + ICL_TYPE_POINTER, client, + ICL_TYPE_FID, &Sfid); /* We ran */ call = 1; @@ -271,44 +281,42 @@ afs_nfs2_dispatcher(int type, afs_int32 which, char *argp, } code = afs_nfsclient_reqhandler((struct afs_exporter *)0, &crp, client, &dummy, &out); - /* Be careful to release this */ + if (!code && out) EXP_RELE(out); - - /* We ran and failed */ - if (code == EINVAL) + + if (code == EINVAL) call = 2; } - + AFS_GUNLOCK(); return call; } -void +void afs_nfs2_smallfidder(struct nfsdiropres *dr) { register fhandle_t *fhp = (fhandle_t *)&dr->dr_fhandle; afs_int32 addr[2]; struct vcache *vcp; - + #if defined(AFS_SUN57_64BIT_ENV) /* See also afs_fid() */ - memcpy((char *)addr, fhp->fh_data, 10); + memcpy((char *)addr, fhp->fh_data, SIZEOF_SMALLFID); addr[1] = (addr[1] >> 48) & 0xffff; #else memcpy((char *)addr, fhp->fh_data, 2 * sizeof(long)); #endif - + AFS_GLOCK(); vcp = VTOAFS((struct vnode*)addr[0]); - - /* See also afs_osi_vget */ + if (addr[1] == AFS_XLATOR_MAGIC) { if (dr->dr_status == NFS_OK) { struct SmallFid Sfid; struct cell *tcell; - + /* Make up and copy out a SmallFid */ tcell = afs_GetCell(vcp->fid.Cell, READ_LOCK); Sfid.Volume = vcp->fid.Fid.Volume; @@ -318,12 +326,15 @@ afs_nfs2_smallfidder(struct nfsdiropres *dr) Sfid.Vnode = (u_short)(vcp->fid.Fid.Vnode & 0xffff); fhp->fh_len = SIZEOF_SMALLFID; memcpy(dr->dr_fhandle.fh_data, (char*)&Sfid, fhp->fh_len); - } + afs_Trace3(afs_iclSetp, CM_TRACE_NFSOUT, ICL_TYPE_INT32, 0, + ICL_TYPE_POINTER, vcp, ICL_TYPE_FID, &Sfid); + } + /* If we have a ref, release it */ - if (vcp->vrefCount >= 1) + if (vcp->vrefCount >= 1) AFS_RELE(AFSTOV(vcp)); - } + } AFS_GUNLOCK(); } @@ -337,44 +348,183 @@ void afs_nfs2_null(char *args, char *xp, char *exp, char *rp, char *crp) { } -void +void afs_nfs2_root(char *args, char *xp, char *exp, char *rp, char *crp) { } -void +void afs_nfs2_writecache(char *args, char *xp, char *exp, char *rp, char *crp) { } -#define NFS_V2_REQ(FUNCNAME, RFSOP, POST) \ -void FUNCNAME(char *args, char *xp, char *exp, char *rp, char *crp) { \ - u_int call; \ - struct cred *svcred = curthread->t_cred; \ - curthread->t_cred = (struct cred*)crp; \ - call=afs_nfs2_dispatcher(0, RFSOP, (char *)args, &exp, rp, crp); \ - if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); \ - else { (*afs_rfs_disp_tbl[RFSOP].orig_proc)(args, xp, exp, rp, crp); \ - if (POST && afs_NFSRootOnly && call) afs_nfs2_smallfidder(xp); } \ - curthread->t_cred = svcred; \ - return; \ -} - -NFS_V2_REQ(afs_nfs2_getattr, RFS_GETATTR, 0) -NFS_V2_REQ(afs_nfs2_setattr, RFS_SETATTR, 0) -NFS_V2_REQ(afs_nfs2_lookup, RFS_LOOKUP, 1) -NFS_V2_REQ(afs_nfs2_readlink, RFS_READLINK, 0) -NFS_V2_REQ(afs_nfs2_read, RFS_READ, 0) -NFS_V2_REQ(afs_nfs2_write, RFS_WRITE, 0) -NFS_V2_REQ(afs_nfs2_create, RFS_CREATE, 1) -NFS_V2_REQ(afs_nfs2_remove, RFS_REMOVE, 0) -NFS_V2_REQ(afs_nfs2_rename, RFS_RENAME, 0) -NFS_V2_REQ(afs_nfs2_link, RFS_LINK, 0) -NFS_V2_REQ(afs_nfs2_symlink, RFS_SYMLINK, 0) -NFS_V2_REQ(afs_nfs2_mkdir, RFS_MKDIR, 1) -NFS_V2_REQ(afs_nfs2_rmdir, RFS_RMDIR, 0) -NFS_V2_REQ(afs_nfs2_readdir, RFS_READDIR, 0) -NFS_V2_REQ(afs_nfs2_statfs, RFS_STATFS, 0) +void afs_nfs2_getattr(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_GETATTR, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_GETATTR].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_setattr(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_SETATTR, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_SETATTR].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_lookup(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_LOOKUP, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else { (*afs_rfs_disp_tbl[RFS_LOOKUP].orig_proc)(args, xp, exp, rp, crp); + if (afs_NFSRootOnly && call) afs_nfs2_smallfidder(xp); } + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_readlink(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_READLINK, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_READLINK].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_read(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_READ, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_READ].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_write(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_WRITE, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_WRITE].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_create(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_CREATE, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else { (*afs_rfs_disp_tbl[RFS_CREATE].orig_proc)(args, xp, exp, rp, crp); + if (afs_NFSRootOnly && call) afs_nfs2_smallfidder(xp); } + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_remove(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_REMOVE, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_REMOVE].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_rename(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_RENAME, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_RENAME].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_link(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_LINK, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_LINK].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_symlink(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_SYMLINK, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_SYMLINK].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_mkdir(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_MKDIR, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else { (*afs_rfs_disp_tbl[RFS_MKDIR].orig_proc)(args, xp, exp, rp, crp); + if (afs_NFSRootOnly && call) afs_nfs2_smallfidder(xp); } + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_rmdir(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_RMDIR, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_RMDIR].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_readdir(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_READDIR, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_READDIR].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs2_statfs(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(0, RFS_STATFS, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_rfs_disp_tbl[RFS_STATFS].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} struct afs_nfs_disp_tbl afs_rfs_disp_tbl[RFS_NPROC] = { { afs_nfs2_null }, @@ -384,12 +534,12 @@ struct afs_nfs_disp_tbl afs_rfs_disp_tbl[RFS_NPROC] = { { afs_nfs2_lookup }, { afs_nfs2_readlink }, { afs_nfs2_read }, - { afs_nfs2_writecache }, + { afs_nfs2_writecache }, { afs_nfs2_write }, { afs_nfs2_create }, - { afs_nfs2_remove }, + { afs_nfs2_remove }, { afs_nfs2_rename }, - { afs_nfs2_link }, + { afs_nfs2_link }, { afs_nfs2_symlink }, { afs_nfs2_mkdir }, { afs_nfs2_rmdir }, @@ -397,57 +547,84 @@ struct afs_nfs_disp_tbl afs_rfs_disp_tbl[RFS_NPROC] = { { afs_nfs2_statfs } }; -#define ACL_V2_REQ(FUNCNAME, ACLOP) \ -void FUNCNAME(char *args, char *xp, char *exp, char *rp, char *crp) { \ - u_int call; \ - struct cred *svcred = curthread->t_cred; \ - curthread->t_cred = (struct cred*)crp; \ - call=afs_nfs2_dispatcher(1, ACLOP, (char *)args, &exp, rp, crp); \ - if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); \ - else (*afs_rfs_disp_tbl[ACLOP].orig_proc)(args, xp, exp, rp, crp); \ - curthread->t_cred = svcred; \ - return; \ -} - -ACL_V2_REQ(afs_acl2_getacl, ACLPROC2_GETACL) -ACL_V2_REQ(afs_acl2_setacl, ACLPROC2_SETACL) -ACL_V2_REQ(afs_acl2_getattr, ACLPROC2_GETATTR) -ACL_V2_REQ(afs_acl2_access, ACLPROC2_ACCESS) - -struct afs_nfs_disp_tbl afs_acl_disp_tbl[ACL2_NPROC] = { - { afs_nfs2_null }, - { afs_acl2_getacl }, +void afs_acl2_getacl(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(1, ACLPROC2_GETACL, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_acl_disp_tbl[ACLPROC2_GETACL].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_acl2_setacl(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(1, ACLPROC2_SETACL, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_acl_disp_tbl[ACLPROC2_SETACL].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_acl2_getattr(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(1, ACLPROC2_GETATTR, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_acl_disp_tbl[ACLPROC2_GETATTR].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_acl2_access(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs2_dispatcher(1, ACLPROC2_ACCESS, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs2_noaccess((struct afs_nfs2_resp *)xp); + else (*afs_acl_disp_tbl[ACLPROC2_ACCESS].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +struct afs_nfs_disp_tbl afs_acl_disp_tbl[5] = { + { afs_nfs2_null }, + { afs_acl2_getacl }, { afs_acl2_setacl }, - { afs_acl2_getattr }, - { afs_acl2_access } + { afs_acl2_getattr }, + { afs_acl2_access } }; /* Munge the dispatch tables to link us in first */ -void -afs_xlatorinit_v2(struct rfs_disp_tbl *_rfs_tbl, - struct rfs_disp_tbl *_acl_tbl) +void +afs_xlatorinit_v2(struct rfs_disp_tbl *_rfs_tbl, + struct rfs_disp_tbl *_acl_tbl) { int i; - + if (xlatorinit_v2_done++) return; - + for (i=0; i < RFS_NPROC; i++) { afs_rfs_disp_tbl[i].orig_proc = _rfs_tbl[i].dis_proc; _rfs_tbl[i].dis_proc = afs_rfs_disp_tbl[i].afs_proc; } - - for (i=0; i < ACL2_NPROC; i++) { + + for (i=0; i < 5; i++) { afs_acl_disp_tbl[i].orig_proc = _acl_tbl[i].dis_proc; _acl_tbl[i].dis_proc = afs_acl_disp_tbl[i].afs_proc; } } #ifndef RFS3_NPROC -#define RFS3_NPROC 22 +#define RFS3_NPROC 22 #endif #ifndef ACL3_NPROC -#define ACL3_NPROC 3 +#define ACL3_NPROC 3 #endif struct afs_nfs_disp_tbl afs_rfs3_disp_tbl[RFS3_NPROC]; @@ -455,14 +632,14 @@ struct afs_nfs_disp_tbl afs_acl3_disp_tbl[ACL3_NPROC]; struct afs_nfs3_resp { nfsstat3 status; - bool_t flags; + bool_t flags; }; typedef struct afs_nfs3_resp afs_nfs3_resp; -static int +static int is_afs_fh3(nfs_fh3 *fhp) { if ((fhp->fh3_fsid.val[0] == AFS_VFSMAGIC) && - (fhp->fh3_fsid.val[1] == AFS_VFSFSID)) + (fhp->fh3_fsid.val[1] == AFS_VFSFSID)) return 1; return 0; } @@ -474,197 +651,201 @@ afs_nfs3_noaccess(struct afs_nfs3_resp *resp) resp->flags = FALSE; } -afs_int32 +afs_int32 nfs3_to_afs_call(int which, caddr_t *args, nfs_fh3 **fhpp, nfs_fh3 **fh2pp) { struct vnode *vp; nfs_fh3 *fhp1=0; nfs_fh3 *fhp2=0; int errorcode; - + + afs_Trace1(afs_iclSetp, CM_TRACE_NFS3IN, ICL_TYPE_INT32, which); *fh2pp = (nfs_fh3 *)0; switch (which) { - case NFSPROC3_GETATTR: - { - GETATTR3args *arg = (GETATTR3args *)args; - fhp1 = (nfs_fh3 *) &arg->object; - break; - } - case NFSPROC3_SETATTR: - { - SETATTR3args *arg = (SETATTR3args *)args; - fhp1 = (nfs_fh3 *) &arg->object; - break; - } - case NFSPROC3_LOOKUP: - { - LOOKUP3args *arg = (LOOKUP3args *)args; - fhp1 = (nfs_fh3 *) &arg->what.dirp; - break; - } - case NFSPROC3_ACCESS: - { - ACCESS3args *arg = (ACCESS3args *)args; - fhp1 = (nfs_fh3 *) &arg->object; - break; - } - case NFSPROC3_READLINK: - { - READLINK3args *arg = (READLINK3args *)args; - fhp1 = (nfs_fh3 *) &arg->symlink; - break; - } - case NFSPROC3_READ: - { - READ3args *arg = (READ3args *)args; - fhp1 = (nfs_fh3 *) &arg->file; - break; - } - case NFSPROC3_WRITE: - { - WRITE3args *arg = (WRITE3args *)args; - fhp1 = (nfs_fh3 *) &arg->file; - break; - } - case NFSPROC3_CREATE: - { - CREATE3args *arg = (CREATE3args *)args; - fhp1 = (nfs_fh3 *) &arg->where.dir; - break; - } - case NFSPROC3_MKDIR: - { - MKDIR3args *arg = (MKDIR3args *)args; - fhp1 = (nfs_fh3 *) &arg->where.dir; - break; - } - case NFSPROC3_SYMLINK: - { - SYMLINK3args *arg = (SYMLINK3args *)args; - fhp1 = (nfs_fh3 *) &arg->where.dir; - break; - } - case NFSPROC3_MKNOD: - { - MKNOD3args *arg = (MKNOD3args *)args; - fhp1 = (nfs_fh3 *) &arg->where.dir; - break; - } - case NFSPROC3_REMOVE: - { - REMOVE3args *arg = (REMOVE3args *)args; - fhp1 = (nfs_fh3 *) &arg->object.dir; - break; - } - case NFSPROC3_RMDIR: - { - RMDIR3args *arg = (RMDIR3args *)args; - fhp1 = (nfs_fh3 *) &arg->object.dir; - break; - } - case NFSPROC3_RENAME: - { - RENAME3args *arg = (RENAME3args *)args; - fhp1 = (nfs_fh3 *) &arg->from.dir; - fhp2 = (nfs_fh3 *) &arg->to.dir; - break; - } - case NFSPROC3_LINK: - { - LINK3args *arg = (LINK3args *)args; - fhp1 = (nfs_fh3 *) &arg->file; - fhp2 = (nfs_fh3 *) &arg->link.dir; - break; - } - case NFSPROC3_READDIR: - { - READDIR3args *arg = (READDIR3args *)args; - fhp1 = (nfs_fh3 *) &arg->dir; - break; - } - case NFSPROC3_READDIRPLUS: - { - READDIRPLUS3args *arg = (READDIRPLUS3args *)args; - fhp1 = (nfs_fh3 *) &arg->dir; - break; - } - case NFSPROC3_FSSTAT: - { - FSSTAT3args *arg = (FSSTAT3args *)args; - fhp1 = (nfs_fh3 *) &arg->fsroot; - break; - } - case NFSPROC3_FSINFO: - { - FSINFO3args *arg = (FSINFO3args *)args; - fhp1 = (nfs_fh3 *) &arg->fsroot; - break; - } - case NFSPROC3_PATHCONF: - { - PATHCONF3args *arg = (PATHCONF3args *)args; - fhp1 = (nfs_fh3 *) &arg->object; - break; - } - case NFSPROC3_COMMIT: - { - COMMIT3args *arg = (COMMIT3args *)args; - fhp1 = (nfs_fh3 *) &arg->file; - break; - } - default: - return NULL; + case NFSPROC3_GETATTR: + { + GETATTR3args *arg = (GETATTR3args *)args; + fhp1 = (nfs_fh3 *) &arg->object; + break; } - - /* Ok if arg 1 is in AFS or if 2 args and arg 2 is in AFS */ + case NFSPROC3_SETATTR: + { + SETATTR3args *arg = (SETATTR3args *)args; + fhp1 = (nfs_fh3 *) &arg->object; + break; + } + case NFSPROC3_LOOKUP: + { + LOOKUP3args *arg = (LOOKUP3args *)args; +#ifdef AFS_SUN57_ENV + fhp1 = (nfs_fh3 *) &arg->what.dirp; +#else + fhp1 = (nfs_fh3 *) &arg->what.dir; +#endif + break; + } + case NFSPROC3_ACCESS: + { + ACCESS3args *arg = (ACCESS3args *)args; + fhp1 = (nfs_fh3 *) &arg->object; + break; + } + case NFSPROC3_READLINK: + { + READLINK3args *arg = (READLINK3args *)args; + fhp1 = (nfs_fh3 *) &arg->symlink; + break; + } + case NFSPROC3_READ: + { + READ3args *arg = (READ3args *)args; + fhp1 = (nfs_fh3 *) &arg->file; + break; + } + case NFSPROC3_WRITE: + { + WRITE3args *arg = (WRITE3args *)args; + fhp1 = (nfs_fh3 *) &arg->file; + break; + } + case NFSPROC3_CREATE: + { + CREATE3args *arg = (CREATE3args *)args; + fhp1 = (nfs_fh3 *) &arg->where.dir; + break; + } + case NFSPROC3_MKDIR: + { + MKDIR3args *arg = (MKDIR3args *)args; + fhp1 = (nfs_fh3 *) &arg->where.dir; + break; + } + case NFSPROC3_SYMLINK: + { + SYMLINK3args *arg = (SYMLINK3args *)args; + fhp1 = (nfs_fh3 *) &arg->where.dir; + break; + } + case NFSPROC3_MKNOD: + { + MKNOD3args *arg = (MKNOD3args *)args; + fhp1 = (nfs_fh3 *) &arg->where.dir; + break; + } + case NFSPROC3_REMOVE: + { + REMOVE3args *arg = (REMOVE3args *)args; + fhp1 = (nfs_fh3 *) &arg->object.dir; + break; + } + case NFSPROC3_RMDIR: + { + RMDIR3args *arg = (RMDIR3args *)args; + fhp1 = (nfs_fh3 *) &arg->object.dir; + break; + } + case NFSPROC3_RENAME: + { + RENAME3args *arg = (RENAME3args *)args; + fhp1 = (nfs_fh3 *) &arg->from.dir; + fhp2 = (nfs_fh3 *) &arg->to.dir; + break; + } + case NFSPROC3_LINK: + { + LINK3args *arg = (LINK3args *)args; + fhp1 = (nfs_fh3 *) &arg->file; + fhp2 = (nfs_fh3 *) &arg->link.dir; + break; + } + case NFSPROC3_READDIR: + { + READDIR3args *arg = (READDIR3args *)args; + fhp1 = (nfs_fh3 *) &arg->dir; + break; + } + case NFSPROC3_READDIRPLUS: + { + READDIRPLUS3args *arg = (READDIRPLUS3args *)args; + fhp1 = (nfs_fh3 *) &arg->dir; + break; + } + case NFSPROC3_FSSTAT: + { + FSSTAT3args *arg = (FSSTAT3args *)args; + fhp1 = (nfs_fh3 *) &arg->fsroot; + break; + } + case NFSPROC3_FSINFO: + { + FSINFO3args *arg = (FSINFO3args *)args; + fhp1 = (nfs_fh3 *) &arg->fsroot; + break; + } + case NFSPROC3_PATHCONF: + { + PATHCONF3args *arg = (PATHCONF3args *)args; + fhp1 = (nfs_fh3 *) &arg->object; + break; + } + case NFSPROC3_COMMIT: + { + COMMIT3args *arg = (COMMIT3args *)args; + fhp1 = (nfs_fh3 *) &arg->file; + break; + } + default: + return NULL; + } + if (is_afs_fh3(fhp1)) { *fhpp = fhp1; - if (fhp2) + if (fhp2) *fh2pp = fhp2; - return 1; + return 1; } - if (is_afs_fh3(fhp2)) { + if (fhp2 && is_afs_fh3(fhp2)) { *fhpp = fhp1; *fh2pp = fhp2; - return 1; + return 1; } return NULL; } -afs_int32 +afs_int32 acl3_to_afs_call(int which, caddr_t *args, nfs_fh3 **fhpp) { nfs_fh3 *fhp; - + switch(which) { - case ACLPROC3_GETACL: + case ACLPROC3_GETACL: { - struct GETACL3args *sargs = (struct GETACL3args *) args; - fhp = &sargs->fh; - break; + struct GETACL3args *sargs = (struct GETACL3args *) args; + fhp = &sargs->fh; + break; } - case ACLPROC3_SETACL: + case ACLPROC3_SETACL: { - struct SETACL3args *sargs = (struct SETACL3args *) args; - fhp = &sargs->fh; - break; + struct SETACL3args *sargs = (struct SETACL3args *) args; + fhp = &sargs->fh; + break; } default: return NULL; } - + if (is_afs_fh3(fhp)) { *fhpp = fhp; return 1; } - + return NULL; } int -afs_nfs3_dispatcher(int type, afs_int32 which, char *argp, - struct exportinfo **expp, - struct svc_req *rp, struct AFS_UCRED *crp) +afs_nfs3_dispatcher(int type, afs_int32 which, char *argp, + struct exportinfo **expp, + struct svc_req *rp, struct AFS_UCRED *crp) { afs_int32 call = 0; afs_int32 code = 0; @@ -672,35 +853,39 @@ afs_nfs3_dispatcher(int type, afs_int32 which, char *argp, struct sockaddr *sa; nfs_fh3 *fh = (nfs_fh3 *)argp; nfs_fh3 *fh2 = (nfs_fh3 *)0; - + if (!xlatorinit_v3_done) return 2; - + sa = (struct sockaddr *)svc_getrpccaller(rp->rq_xprt)->buf; - client = ((struct sockaddr_in *)sa)->sin_addr.s_addr; - + if (sa->sa_family == AF_INET) + client = ((struct sockaddr_in *)sa)->sin_addr.s_addr; + AFS_GLOCK(); code = 0; switch (type) { case 0: - code = nfs3_to_afs_call(which, argp, &fh, &fh2); + code = (client && nfs3_to_afs_call(which, argp, &fh, &fh2)); break; case 1: - code = acl3_to_afs_call(which, argp, &fh); + code = (client && acl3_to_afs_call(which, argp, &fh)); break; default: break; } - + if (code) { struct afs_exporter *out = 0; afs_int32 dummy; static int once = 0; struct SmallFid Sfid; - + memcpy((char *)&Sfid, fh->fh3_data, SIZEOF_SMALLFID); + + afs_Trace2(afs_iclSetp, CM_TRACE_NFS3IN1, + ICL_TYPE_INT32, client, + ICL_TYPE_FID, &Sfid); - /* We ran */ call = 1; if (!once && *expp) { afs_nobody = (*expp)->exi_export.ex_anon; @@ -708,25 +893,25 @@ afs_nfs3_dispatcher(int type, afs_int32 which, char *argp, } code = afs_nfsclient_reqhandler((struct afs_exporter *)0, &crp, client, &dummy, &out); - /* Be careful to release this */ + if (!code && out) EXP_RELE(out); - - /* We ran and failed */ - if (code == EINVAL) + + + if (code == EINVAL) call = 2; } - + AFS_GUNLOCK(); return call; } -void +void afs_nfs3_smallfidder(struct nfs_fh3 *fhp, int status) { afs_int32 addr[2]; struct vcache *vcp; - + #if defined(AFS_SUN57_64BIT_ENV) /* See also afs_fid() */ memcpy((char *)addr, fhp->fh3_data, 10); @@ -734,18 +919,18 @@ afs_nfs3_smallfidder(struct nfs_fh3 *fhp, int status) #else memcpy((char *)addr, fhp->fh3_data, 2 * sizeof(long)); #endif - + AFS_GLOCK(); vcp = VTOAFS((struct vnode*)addr[0]); - + /* See also afs_osi_vget */ if (addr[1] == AFS_XLATOR_MAGIC) { if (status == NFS_OK) { struct SmallFid Sfid; struct cell *tcell; - - /* Make up and copy out a SmallFid */ + + /* Make up and copy out a SmallFid */ tcell = afs_GetCell(vcp->fid.Cell, READ_LOCK); Sfid.Volume = vcp->fid.Fid.Volume; Sfid.CellAndUnique = ((tcell->cellIndex << 24) | @@ -754,54 +939,285 @@ afs_nfs3_smallfidder(struct nfs_fh3 *fhp, int status) Sfid.Vnode = (u_short)(vcp->fid.Fid.Vnode & 0xffff); fhp->fh3_len = SIZEOF_SMALLFID; memcpy(fhp->fh3_data, (char*)&Sfid, fhp->fh3_len); - } + afs_Trace3(afs_iclSetp, CM_TRACE_NFS3OUT, ICL_TYPE_INT32, status, + ICL_TYPE_POINTER, vcp, ICL_TYPE_FID, &Sfid); + } + /* If we have a ref, release it */ - if (vcp->vrefCount >= 1) + if (vcp->vrefCount >= 1) AFS_RELE(AFSTOV(vcp)); - } + } AFS_GUNLOCK(); } -#define NFS_V3_REQ(FUNCNAME, NFSOP, POST, RESP, RESPP) \ -void FUNCNAME(char *args, char *xp, char *exp, char *rp, char *crp) { \ - u_int call; \ - afs_nfs3_resp dummy; \ - struct cred *svcred = curthread->t_cred; \ - curthread->t_cred = (struct cred*)crp; \ - call=afs_nfs3_dispatcher(0, NFSOP, (char *)args, &exp, rp, crp); \ - if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); \ - else { (*afs_rfs3_disp_tbl[NFSOP].orig_proc)(args, xp, exp, rp, crp); \ - if (POST && afs_NFSRootOnly && call) { \ - RESP *resp = ( RESP *)xp; \ - afs_nfs3_smallfidder( RESPP , resp->status); } } \ - curthread->t_cred = svcred; \ - return; \ -} - -NFS_V3_REQ(afs_nfs3_getattr, NFSPROC3_GETATTR, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_setattr, NFSPROC3_SETATTR, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_lookup, NFSPROC3_LOOKUP, 1, LOOKUP3res, &resp->resok.object) -NFS_V3_REQ(afs_nfs3_access, NFSPROC3_ACCESS, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_readlink, NFSPROC3_READLINK, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_read, NFSPROC3_READ, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_write, NFSPROC3_WRITE, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_create, NFSPROC3_CREATE, 1, CREATE3res, &resp->resok.obj.handle) -NFS_V3_REQ(afs_nfs3_mkdir, NFSPROC3_MKDIR, 1, MKDIR3res, &resp->resok.obj.handle) -NFS_V3_REQ(afs_nfs3_symlink, NFSPROC3_SYMLINK, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_mknod, NFSPROC3_MKNOD, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_remove, NFSPROC3_REMOVE, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_rmdir, NFSPROC3_RMDIR, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_rename, NFSPROC3_RENAME, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_link, NFSPROC3_LINK, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_readdir, NFSPROC3_READDIR, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_readdirplus, NFSPROC3_READDIRPLUS, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_fsstat, NFSPROC3_FSSTAT, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_fsinfo, NFSPROC3_FSINFO, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_pathconf, NFSPROC3_PATHCONF, 0, afs_nfs3_resp, &dummy) -NFS_V3_REQ(afs_nfs3_commit, NFSPROC3_COMMIT, 0, afs_nfs3_resp, &dummy) - -struct afs_nfs_disp_tbl afs_rfs3_disp_tbl[RFS3_NPROC] = { +void afs_nfs3_getattr(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_GETATTR, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_GETATTR].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_setattr(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_SETATTR, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_SETATTR].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_lookup(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_LOOKUP, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else { (*afs_rfs3_disp_tbl[NFSPROC3_LOOKUP].orig_proc)(args, xp, exp, rp, crp); + if (afs_NFSRootOnly && call) { + LOOKUP3res *resp = ( LOOKUP3res *)xp; + afs_nfs3_smallfidder( &resp->resok.object , resp->status); } } + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_access(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_ACCESS, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_ACCESS].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_readlink(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_READLINK, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_READLINK].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_read(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_READ, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_READ].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_write(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_WRITE, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_WRITE].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} +void afs_nfs3_create(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_CREATE, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else { (*afs_rfs3_disp_tbl[NFSPROC3_CREATE].orig_proc)(args, xp, exp, rp, crp); + if (afs_NFSRootOnly && call) { + CREATE3res *resp = ( CREATE3res *)xp; + afs_nfs3_smallfidder( &resp->resok.obj.handle , resp->status); } } + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_mkdir(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_MKDIR, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else { (*afs_rfs3_disp_tbl[NFSPROC3_MKDIR].orig_proc)(args, xp, exp, rp, crp); + if (afs_NFSRootOnly && call) { + MKDIR3res *resp = ( MKDIR3res *)xp; + afs_nfs3_smallfidder( &resp->resok.obj.handle , resp->status); } } + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_symlink(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_SYMLINK, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else { (*afs_rfs3_disp_tbl[NFSPROC3_SYMLINK].orig_proc)(args, xp, exp, rp, crp); + if (afs_NFSRootOnly && call) { + SYMLINK3res *resp = ( SYMLINK3res *)xp; + afs_nfs3_smallfidder( &resp->resok.obj.handle , resp->status); } } + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_mknod(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_MKNOD, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else { (*afs_rfs3_disp_tbl[NFSPROC3_MKNOD].orig_proc)(args, xp, exp, rp, crp); + if (afs_NFSRootOnly && call) { + MKNOD3res *resp = ( MKNOD3res *)xp; + afs_nfs3_smallfidder( &resp->resok.obj.handle , resp->status); } } + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_remove(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_REMOVE, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_REMOVE].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_rmdir(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_RMDIR, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_RMDIR].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_rename(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_RENAME, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_RENAME].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_link(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_LINK, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_LINK].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_readdir(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_READDIR, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_READDIR].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_readdirplus(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_READDIRPLUS, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_READDIRPLUS].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_fsstat(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_FSSTAT, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_FSSTAT].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_fsinfo(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_FSINFO, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_FSINFO].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_pathconf(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_PATHCONF, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_PATHCONF].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +void afs_nfs3_commit(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + afs_nfs3_resp dummy; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(0, NFSPROC3_COMMIT, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_rfs3_disp_tbl[NFSPROC3_COMMIT].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} + +struct afs_nfs_disp_tbl afs_rfs3_disp_tbl[22] = { { afs_nfs2_null }, { afs_nfs3_getattr }, { afs_nfs3_setattr }, @@ -814,10 +1230,10 @@ struct afs_nfs_disp_tbl afs_rfs3_disp_tbl[RFS3_NPROC] = { { afs_nfs3_mkdir }, { afs_nfs3_symlink }, { afs_nfs3_mknod }, - { afs_nfs3_remove }, + { afs_nfs3_remove }, { afs_nfs3_rmdir }, { afs_nfs3_rename }, - { afs_nfs3_link }, + { afs_nfs3_link }, { afs_nfs3_readdir }, { afs_nfs3_readdirplus }, { afs_nfs3_fsstat }, @@ -826,44 +1242,51 @@ struct afs_nfs_disp_tbl afs_rfs3_disp_tbl[RFS3_NPROC] = { { afs_nfs3_commit } }; -#define ACL_V3_REQ(FUNCNAME, NFSOP) \ -void FUNCNAME(char *args, char *xp, char *exp, char *rp, char *crp) { \ - u_int call; \ - struct cred *svcred = curthread->t_cred; \ - curthread->t_cred = (struct cred*)crp; \ - call=afs_nfs3_dispatcher(1, NFSOP, (char *)args, &exp, rp, crp); \ - if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); \ - else (*afs_rfs3_disp_tbl[NFSOP].orig_proc)(args, xp, exp, rp, crp); \ - curthread->t_cred = svcred; \ - return; \ +void afs_acl3_getacl(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(1, ACLPROC3_GETACL, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_acl3_disp_tbl[ACLPROC3_GETACL].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; } -ACL_V3_REQ(afs_acl3_getacl, ACLPROC3_GETACL) -ACL_V3_REQ(afs_acl3_setacl, ACLPROC3_SETACL) +void afs_acl3_setacl(char *args, char *xp, char *exp, char *rp, char *crp) { + u_int call; + struct cred *svcred = curthread->t_cred; + curthread->t_cred = (struct cred*)crp; + call=afs_nfs3_dispatcher(1, ACLPROC3_SETACL, (char *)args, &exp, rp, crp); + if (call>1) afs_nfs3_noaccess((struct afs_nfs3_resp *)xp); + else (*afs_acl3_disp_tbl[ACLPROC3_SETACL].orig_proc)(args, xp, exp, rp, crp); + curthread->t_cred = svcred; + return; +} -struct afs_nfs_disp_tbl afs_acl3_disp_tbl[ACL3_NPROC] = { - { afs_nfs2_null }, - { afs_acl3_getacl }, +struct afs_nfs_disp_tbl afs_acl3_disp_tbl[3] = { + { afs_nfs2_null }, + { afs_acl3_getacl }, { afs_acl3_setacl }, }; /* Munge the dispatch tables to link us in first */ -void -afs_xlatorinit_v3(struct rfs_disp_tbl *_rfs_tbl, +void +afs_xlatorinit_v3(struct rfs_disp_tbl *_rfs_tbl, struct rfs_disp_tbl *_acl_tbl) { int i; - + if (xlatorinit_v3_done++) return; - - for (i=0; i < RFS3_NPROC; i++) { - afs_rfs3_disp_tbl[i].orig_proc = _rfs_tbl[i].dis_proc; - _rfs_tbl[i].dis_proc = afs_rfs3_disp_tbl[i].afs_proc; + + for (i=0; i < 22; i++) { + afs_rfs3_disp_tbl[i].orig_proc = _rfs_tbl[i].dis_proc; + _rfs_tbl[i].dis_proc = afs_rfs3_disp_tbl[i].afs_proc; } - - for (i=0; i < ACL3_NPROC; i++) { - afs_acl3_disp_tbl[i].orig_proc = _acl_tbl[i].dis_proc; - _acl_tbl[i].dis_proc = afs_acl3_disp_tbl[i].afs_proc; + + for (i=0; i < 3; i++) { + afs_acl3_disp_tbl[i].orig_proc = _acl_tbl[i].dis_proc; + _acl_tbl[i].dis_proc = afs_acl3_disp_tbl[i].afs_proc; } } #endif /* !defined(AFS_NONFSTRANS) */ diff --git a/src/afs/afs_prototypes.h b/src/afs/afs_prototypes.h index 8c7fb39c4..2bbfc9eb8 100644 --- a/src/afs/afs_prototypes.h +++ b/src/afs/afs_prototypes.h @@ -84,6 +84,7 @@ extern void afs_GCPAGs_perproc_func(AFS_PROC *pproc); /* afs_util.c */ extern char *afs_cv2string(char *ttp, afs_uint32 aval); +extern char *afs_strchr(char *s, int c); extern void print_internet_address(char *preamble, struct srvAddr *sa, char *postamble, int flag); extern afs_int32 afs_data_pointer_to_int32(const void *p); diff --git a/src/afs/afs_trace.et b/src/afs/afs_trace.et index 2b9658304..24817af5a 100644 --- a/src/afs/afs_trace.et +++ b/src/afs/afs_trace.et @@ -131,6 +131,6 @@ error_table 2 ZCM ec CM_TRACE_RESIDCMD, "ResidencyCmd tvc 0x%x command %d fid (%d:%d.%d.%d)" ec CM_TRACE_DENTRYDELETE, "d_delete inode 0x%x d_name %s/%s" ec CM_TRACE_DENTRYIPUT, "d_iput inode 0x%x d_name %s/%s" - ec CM_TRACE_TRYFLUSHDCACHECHILDREN, "TryFlushDcacheChildren ip 0x%x" + ec CM_TRACE_TRYFLUSHDCACHECHILDREN, "TryFlushDcacheChildren ip 0x%x name %s parent %s" end diff --git a/src/afs/afs_util.c b/src/afs/afs_util.c index 6b158dd6e..c3d807c0c 100644 --- a/src/afs/afs_util.c +++ b/src/afs/afs_util.c @@ -15,7 +15,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/afs_util.c,v 1.1.1.7 2002/09/26 18:57:57 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/afs_util.c,v 1.1.1.8 2002/12/11 02:36:03 hartmans Exp $"); #include "../afs/stds.h" #include "../afs/sysincludes.h" /* Standard vendor system headers */ @@ -71,6 +71,16 @@ char *afs_cv2string(char *ttp, afs_uint32 aval) } /*afs_cv2string*/ +char *afs_strchr(char *s, int c) +{ + char *p; + + for (p = s; *p; p++) + if (*p == c) + return p; + return NULL; +} + void print_internet_address(char *preamble, struct srvAddr *sa, char *postamble, int flag) { diff --git a/src/afs/afs_vcache.c b/src/afs/afs_vcache.c index 52d20a2d3..e1c270f78 100644 --- a/src/afs/afs_vcache.c +++ b/src/afs/afs_vcache.c @@ -38,7 +38,7 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/afs/afs_vcache.c,v 1.1.1.14 2002/09/26 18:57:58 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afs/afs_vcache.c,v 1.1.1.15 2002/12/11 02:36:03 hartmans Exp $"); #include "../afs/sysincludes.h" /*Standard vendor system headers*/ #include "../afs/afsincludes.h" /*AFS-based standard headers*/ @@ -467,6 +467,79 @@ static afs_int32 afs_QueueVCB(struct vcache *avc) } #ifdef AFS_LINUX22_ENV + +static void __shrink_dcache_parent(struct dentry * parent) +{ + struct dentry *this_parent = parent; + struct list_head *next; + int found = 0; + LIST_HEAD(afs_dentry_unused); + +repeat: + next = this_parent->d_subdirs.next; +resume: + while (next != &this_parent->d_subdirs) { + struct list_head *tmp = next; + struct dentry *dentry = list_entry(tmp, struct dentry, d_child); + next = tmp->next; + if (!DCOUNT(dentry)) { + list_del(&dentry->d_lru); + list_add(&dentry->d_lru, afs_dentry_unused.prev); + found++; + } + /* + * Descend a level if the d_subdirs list is non-empty. + */ + if (!list_empty(&dentry->d_subdirs)) { + this_parent = dentry; + goto repeat; + } + } + /* + * All done at this level ... ascend and resume the search. + */ + if (this_parent != parent) { + next = this_parent->d_child.next; + this_parent = this_parent->d_parent; + goto resume; + } + + for (;;) { + struct dentry *dentry; + struct list_head *tmp; + + tmp = afs_dentry_unused.prev; + + if (tmp == &afs_dentry_unused) + break; +#ifdef AFS_LINUX24_ENV + list_del_init(tmp); +#else + list_del(tmp); + INIT_LIST_HEAD(tmp); +#endif /* AFS_LINUX24_ENV */ + dentry = list_entry(tmp, struct dentry, d_lru); + +#ifdef AFS_LINUX24_ENV + /* Unused dentry with a count? */ + if (DCOUNT(dentry)) + BUG(); +#endif + DGET(dentry); +#ifdef AFS_LINUX24_ENV + list_del_init(&dentry->d_hash); /* d_drop */ +#else + list_del(&dentry->d_hash); + INIT_LIST_HEAD(&dentry->d_hash); +#endif /* AFS_LINUX24_ENV */ + DUNLOCK(); + dput(dentry); + DLOCK(); + if (!--found) + break; + } +} + /* afs_TryFlushDcacheChildren -- Shakes loose vcache references held by * children of the dentry * @@ -485,51 +558,48 @@ static void afs_TryFlushDcacheChildren(struct vcache *tvc) struct list_head *head = &ip->i_dentry; struct dentry *dentry; + AFS_GUNLOCK(); restart: +#ifndef old_vcache_scheme DLOCK(); cur = head; while ((cur = cur->next) != head) { dentry = list_entry(cur, struct dentry, d_alias); -#ifdef notdef - if (DCOUNT(dentry)) { - this_parent = dentry; - repeat: - next = this_parent->d_subdirs.next; - resume: - while (next && next != &this_parent->d_subdirs) { - struct list_head *tmp = next; - struct dentry *dchld = list_entry(tmp, struct dentry, d_child); - - next = tmp->next; - if (!DCOUNT(dchld) && !dchld->d_inode) { - DGET(dchld); - AFS_GUNLOCK(); - DUNLOCK(); - d_drop(dchld); - dput(dchld); - AFS_GLOCK(); - DLOCK(); - goto repeat; - } - /* - * Descend a level if the d_subdirs list is non-empty. - */ - if (!list_empty(&dchld->d_subdirs)) { - this_parent = dchld; - goto repeat; - } - } - - /* - * All done at this level ... ascend and resume the search. - */ - if (this_parent != dentry) { - next = this_parent->d_child.next; - this_parent = this_parent->d_parent; - goto resume; - } - } -#endif + + afs_Trace3(afs_iclSetp, CM_TRACE_TRYFLUSHDCACHECHILDREN, + ICL_TYPE_POINTER, ip, + ICL_TYPE_STRING, dentry->d_parent->d_name.name, + ICL_TYPE_STRING, dentry->d_name.name); + + if (!list_empty(&dentry->d_hash) && !list_empty(&dentry->d_subdirs)) + __shrink_dcache_parent(dentry); + + if (!DCOUNT(dentry)) { + DGET(dentry); +#ifdef AFS_LINUX24_ENV + list_del_init(&dentry->d_hash); /* d_drop */ +#else + list_del(&dentry->d_hash); + INIT_LIST_HEAD(&dentry->d_hash); +#endif /* AFS_LINUX24_ENV */ + DUNLOCK(); + dput(dentry); + goto restart; + } + } + DUNLOCK(); + AFS_GLOCK(); +#else +restart: + DLOCK(); + cur = head; + while ((cur = cur->next) != head) { + dentry = list_entry(cur, struct dentry, d_alias); + + afs_Trace3(afs_iclSetp, CM_TRACE_TRYFLUSHDCACHECHILDREN, + ICL_TYPE_POINTER, ip, + ICL_TYPE_STRING, dentry->d_parent->d_name.name, + ICL_TYPE_STRING, dentry->d_name.name); if (!DCOUNT(dentry)) { AFS_GUNLOCK(); @@ -542,7 +612,7 @@ restart: } } DUNLOCK(); - +#endif } #endif /* AFS_LINUX22_ENV */ diff --git a/src/afs/sysincludes.h b/src/afs/sysincludes.h index ecaa173b9..5f5d0aab6 100644 --- a/src/afs/sysincludes.h +++ b/src/afs/sysincludes.h @@ -72,6 +72,9 @@ struct xfs_inode_info {}; #include #include #include +#ifdef COMPLETION_H_EXISTS +#include +#endif #else /* AFS_LINUX22_ENV */ #if defined(AFS_DARWIN_ENV) diff --git a/src/afsd/afsd.c b/src/afsd/afsd.c index 3795f038f..b14446b7d 100644 --- a/src/afsd/afsd.c +++ b/src/afsd/afsd.c @@ -55,7 +55,7 @@ #include #include -RCSID("$Header: /tmp/cvstemp/openafs/src/afsd/afsd.c,v 1.1.1.15 2002/09/26 19:04:22 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/afsd/afsd.c,v 1.1.1.16 2002/12/11 02:41:43 hartmans Exp $"); #define VFS 1 @@ -1335,6 +1335,10 @@ mainproc(as, arock) } if (as->parms[27].items) { /* -fakestat */ + enable_fakestat = 2; + } + if (as->parms[28].items) { + /* -fakestat-all */ enable_fakestat = 1; } @@ -1579,7 +1583,7 @@ mainproc(as, arock) if (enable_fakestat) { if (afsd_verbose) printf("%s: Enabling fakestat support in kernel.\n", rn); - code = call_syscall(AFSOP_SET_FAKESTAT, 1); + code = call_syscall(AFSOP_SET_FAKESTAT, enable_fakestat); if (code) printf("%s: Error enabling fakestat support.\n", rn); } @@ -1937,7 +1941,8 @@ char **argv; { ), "Enable AFSDB support"); cmd_AddParm(ts, "-files_per_subdir", CMD_SINGLE, CMD_OPTIONAL, "log(2) of the number of cache files per cache subdirectory"); cmd_AddParm(ts, "-dynroot", CMD_FLAG, CMD_OPTIONAL, "Enable dynroot support"); - cmd_AddParm(ts, "-fakestat", CMD_FLAG, CMD_OPTIONAL, "Enable fakestat support"); + cmd_AddParm(ts, "-fakestat", CMD_FLAG, CMD_OPTIONAL, "Enable fakestat support for cross-cell mounts"); + cmd_AddParm(ts, "-fakestat-all", CMD_FLAG, CMD_OPTIONAL, "Enable fakestat support for all mounts"); return (cmd_Dispatch(argc, argv)); } diff --git a/src/cf/linux-test4.m4 b/src/cf/linux-test4.m4 index 694732753..ee2b143af 100644 --- a/src/cf/linux-test4.m4 +++ b/src/cf/linux-test4.m4 @@ -14,6 +14,70 @@ ac_cv_linux_exports_tasklist_lock=no)]) AC_MSG_RESULT($ac_cv_linux_exports_tasklist_lock) CPPFLAGS="$save_CPPFLAGS"]) +AC_DEFUN(LINUX_EXPORTS_SYS_CALL_TABLE, [ +AC_MSG_CHECKING(for exported sys_call_table) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_exports_sys_call_table, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef __ver_sys_call_table +#error sys_call_table not exported +#endif], +ac_cv_linux_exports_sys_call_table=yes, +ac_cv_linux_exports_sys_call_table=no)]) +AC_MSG_RESULT($ac_cv_linux_exports_sys_call_table) +CPPFLAGS="$save_CPPFLAGS"]) + +AC_DEFUN(LINUX_EXPORTS_INIT_MM, [ +AC_MSG_CHECKING(for exported init_mm) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_exports_init_mm, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef __ver_init_mm +#error init_mm not exported +#endif], +ac_cv_linux_exports_init_mm=yes, +ac_cv_linux_exports_init_mm=no)]) +AC_MSG_RESULT($ac_cv_linux_exports_init_mm) +CPPFLAGS="$save_CPPFLAGS"]) + +AC_DEFUN(LINUX_EXPORTS_KALLSYMS_SYMBOL, [ +AC_MSG_CHECKING(for exported kallsyms_symbol_to_address) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_exports_kallsyms_symbol, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef __ver_kallsyms_symbol_to_address +#error kallsyms_symbol_to_address not exported +#endif], +ac_cv_linux_exports_kallsyms_symbol=yes, +ac_cv_linux_exports_kallsyms_symbol=no)]) +AC_MSG_RESULT($ac_cv_linux_exports_kallsyms_symbol) +CPPFLAGS="$save_CPPFLAGS"]) + +AC_DEFUN(LINUX_EXPORTS_KALLSYMS_ADDRESS, [ +AC_MSG_CHECKING(for exported kallsyms_address_to_symbol) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" +AC_CACHE_VAL(ac_cv_linux_exports_kallsyms_address, +[ +AC_TRY_COMPILE( +[#include ], +[#ifndef __ver_kallsyms_address_to_symbol +#error kallsyms_address_to_symbol not exported +#endif], +ac_cv_linux_exports_kallsyms_address=yes, +ac_cv_linux_exports_kallsyms_address=no)]) +AC_MSG_RESULT($ac_cv_linux_exports_kallsyms_address) +CPPFLAGS="$save_CPPFLAGS"]) + AC_DEFUN(LINUX_COMPLETION_H_EXISTS, [ AC_MSG_CHECKING(for linux/completion.h existance) save_CPPFLAGS="$CPPFLAGS" @@ -21,8 +85,13 @@ CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $CPPFLAGS" AC_CACHE_VAL(ac_cv_linux_completion_h_exists, [ AC_TRY_COMPILE( -[#include ], -[struct completion _c;], +[#include +#include ], +[struct completion _c; +#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8) +lose +#endif +], ac_cv_linux_completion_h_exists=yes, ac_cv_linux_completion_h_exists=no)]) AC_MSG_RESULT($ac_cv_linux_completion_h_exists) diff --git a/src/config/Makefile.hp_ux110.in b/src/config/Makefile.hp_ux110.in index ca42600c9..719835a8f 100644 --- a/src/config/Makefile.hp_ux110.in +++ b/src/config/Makefile.hp_ux110.in @@ -12,7 +12,7 @@ XCFLAGS0=-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGE XCFLAGS=${XCFLAGS0} +DA1.0 XCFLAGS64=${XCFLAGS0} +DA2.0W MT_CFLAGS=-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS} -XLIBS=@LIB_AFSDB@ -lnsl +XLIBS=@LIB_AFSDB@ XLIBELFA=-lelf TXLIBS=/usr/lib/libHcurses.a MTLIBS=-lpthread diff --git a/src/config/NTMakefile.i386_nt40 b/src/config/NTMakefile.i386_nt40 index 43f278963..9d390b50d 100644 --- a/src/config/NTMakefile.i386_nt40 +++ b/src/config/NTMakefile.i386_nt40 @@ -37,8 +37,8 @@ APPVER = 4.0 !ENDIF #define used in WinNT/2000 installation and program version display -AFSPRODUCT_VERSION=1.2.2 b -CELLNAME_DEFAULT=Your Cell Name +AFSPRODUCT_VERSION=1.2.8 +CELLNAME_DEFAULT=openafs.org CELLSERVDB_INSTALL=CellServDB.GrandCentral CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB #NMAKE_DEFINES=-DDEBUG_VERBOSE @@ -61,43 +61,10 @@ AFSDEV_BUILDTYPE = NONE !ENDIF -# Limit default include and library directories to those specified for build. - -!IFNDEF AFSDEV_INCLUDE -!ERROR Must define AFSDEV_INCLUDE to be the default include directories. -!ENDIF - -!IF ((!DEFINED(INCLUDE)) && ([set INCLUDE=$(AFSDEV_INCLUDE)] != 0)) -# If env. var. INCLUDE not defined then macro assignment won't set it. -!ERROR Failed setting environment variable INCLUDE. -!ENDIF -INCLUDE = $(AFSDEV_INCLUDE) - - -!IFNDEF AFSDEV_LIB -!ERROR Must define AFSDEV_LIB to be the default library directories. -!ENDIF - -!IF ((!DEFINED(LIB)) && ([set LIB=$(AFSDEV_LIB)] != 0)) -# If env. var. LIB not defined then macro assignment won't set it. -!ERROR Failed setting environment variable LIB. -!ENDIF -LIB = $(AFSDEV_LIB) - - -# Put default build binary directories at front of path. - !IFNDEF AFSDEV_BIN !ERROR Must define AFSDEV_BIN to be the default build binary directories. !ENDIF -!IF ((!DEFINED(PATH)) && ([set PATH=$(AFSDEV_BIN)] != 0)) -# If env. var. PATH not defined then macro assignment won't set it. -!ERROR Failed setting environment variable PATH. -!ENDIF -PATH = $(AFSDEV_BIN);$(PATH) - - # Undefine WIN32.MAK NODEBUG macro. # Always generate full debug info, unless profiling or tuning (see below). @@ -118,6 +85,42 @@ DESTDIR = $(AFSDEV_DESTDIR) DESTDIR = $(AFSROOT)\DEST !ENDIF +#CHECK which VERSION of the complier we are using +#v6.0 doesn't work using msvcrtd.lib unless AFSDEV_CRTDEBUG is defined, v7.0 requires it +!IF ("$(AFSVER)"=="") +!IF EXISTS("$(DESTDIR)\bin\util_cr.exe") +!IF EXISTS("$(AFSDEV_BIN)\CL.exe") +!IF (([$(DESTDIR)\bin\util_cr.exe __ $(AFSDEV_BIN)\CL.exe 7])==1) +AFSVER_CL=70 +!ELSE +AFSVER_CL=60 +!ENDIF +!ELSE +!MESSAGE WARNING-Complier version not available +!ENDIF +!ELSE +!MESSAGE WARNING-Complier version not available +!ENDIF +!ENDIF + +#CHECK which VERSION of the complier we are using +#v6.0 doesn't work using msvcrtd.lib unless AFSDEV_CRTDEBUG is defined, v7.0 requires it +!IF ("$(AFSVER)"=="") +!IF EXISTS("$(DESTDIR)\bin\util_cr.exe") +!IF EXISTS("$(AFSDEV_BIN)\CL.exe") +!IF (([$(DESTDIR)\bin\util_cr.exe __ $(AFSDEV_BIN)\CL.exe 7])==1) +AFSVER_CL=70 +!ELSE +AFSVER_CL=60 +!ENDIF +!ELSE +!MESSAGE WARNING-Complier version not available +!ENDIF +!ELSE +!MESSAGE WARNING-Complier version not available +!ENDIF +!ENDIF + # Command macros. COPY = copy DEL = -del @@ -184,13 +187,15 @@ afscflags =\ !IF ("$(AFSDEV_BUILDTYPE)" == "FREE") # Apply full optimization; generate full debug info in obj. afscflags = $(afscflags) /Ox /Z7 -ldebug = $(ldebug) -debugtype:both +ldebug = $(ldebug) cdebug = $(cdebug:-Od=) # avoid annoying override warning (D4025) +cvarsdll = $(cvarsdll:-MDd=-MD) !ELSEIF ("$(AFSDEV_BUILDTYPE)" == "CHECKED") # Disable optimization; generate full debug info in obj. afscflags = $(afscflags) /Od /Z7 ldebug = $(ldebug) -debugtype:both +cdebug = $(cdebug:-Z7=-Z7) # avoid annoying override warning (D4025) !ENDIF # Set compiler warning level @@ -215,13 +220,13 @@ afscflags = $(afscflags) /W$(AFSDEV_WARNLEVEL) # /FIXED:NO generates a relocation section in the executable afslflags =\ - /FIXED:NO + /FIXED:NO /VERBOSE:LIB # For checked builds, define DEBUG (but not the MS control flag _DEBUG). -!IF ("$(AFSDEV_BUILDTYPE)" == "CHECKED") +!IF (("$(AFSDEV_BUILDTYPE)" == "CHECKED") && ("$(AFSVER_CL)"=="60")) afscdefs = $(afscdefs) -DDEBUG !ENDIF @@ -267,7 +272,7 @@ mfcdlllflags = $(mfcdlllflags) /NODEFAULTLIB:msvcrt.lib # Macros for creating/modifying binary targets # EXE link macro for console applications -EXECONLINK = $(link) /OUT:$@ $(ldebug) $(conlflags) $(afslflags) $(conlibsdll) $** +EXECONLINK = $(link) /OUT:$@ $(ldebug) $(conlflags) $(afslflags) $(conlibsdll) version.lib $** # EXE link macro for GUI applications EXEGUILINK = $(link) /OUT:$@ $(ldebug) $(guilflags) $(afslflags) $(guilibsdll) $** @@ -279,11 +284,23 @@ EXEMFCLINK = $(link) /OUT:$@ $(ldebug) $(mfclflags) $(afslflags) $(mfclibsdll) $ DLLCONLINK = $(link) /OUT:$@ $(ldebug) $(dlllflags) $(afslflags) $(conlibsdll) $** # DLL link macro for GUI applications +!IF ("$(AFSDEV_BUILDTYPE)" == "CHECKED") +DLLGUILINK = $(link) /OUT:$@ /NODEFAULTLIB:LIBC $(ldebug) $(dlllflags) $(afslflags) $(guilibsdll) $** +!ELSE DLLGUILINK = $(link) /OUT:$@ $(ldebug) $(dlllflags) $(afslflags) $(guilibsdll) $** +!ENDIF # DLL link macro for MFC applications DLLMFCLINK = $(link) /OUT:$@ $(ldebug) $(mfcdlllflags) $(afslflags) $(mfclibsdll) $** +#v6.0 doesn't work using msvcrtd.lib unless AFSDEV_CRTDEBUG is defined, v7.0 requires it +!IFNDEF AFSDEV_CRTDEBUG +!IF ("$(AFSVER_CL)"=="60") +EXEMFCLINK=$(EXEMFCLINK:/NODEFAULTLIB:msvcrtd.lib=) +DLLMFCLINK=$(DLLMFCLINK:/NODEFAULTLIB:msvcrtd.lib=) +!ENDIF +!ENDIF + # DLL link macro for resource-only DLLs DLLRESLINK = $(link) /OUT:$@ $(dlllflags:-entry:_DllMainCRTStartup@12=-noentry) $(afslflags) $** diff --git a/src/config/NTMakefile.i386_win95 b/src/config/NTMakefile.i386_win95 index 13799adf9..7d2c950d6 100644 --- a/src/config/NTMakefile.i386_win95 +++ b/src/config/NTMakefile.i386_win95 @@ -11,7 +11,6 @@ # AFSDEV_BUILDTYPE = [ CHECKED | FREE ] # AFSDEV_INCLUDE = # AFSDEV_LIB = -# AFSDEV_BIN = # # Optional definitions: # AFSDEV_DESTDIR = (default is $(AFSROOT)\DEST) @@ -94,20 +93,6 @@ INCLUDE = $(AFSDEV_INCLUDE) !ENDIF LIB = $(AFSDEV_LIB) - -# Put default build binary directories at front of path. - -!IFNDEF AFSDEV_BIN -!ERROR Must define AFSDEV_BIN to be the default build binary directories. -!ENDIF - -!IF ((!DEFINED(PATH)) && ([set PATH=$(AFSDEV_BIN)] != 0)) -# If env. var. PATH not defined then macro assignment won't set it. -!ERROR Failed setting environment variable PATH. -!ENDIF -PATH = $(AFSDEV_BIN);$(PATH) - - # Undefine WIN32.MAK NODEBUG macro. # Always generate full debug info, unless profiling or tuning (see below). diff --git a/src/config/NTMakefile.version-NOCML b/src/config/NTMakefile.version-NOCML index 035cf418a..408da36c9 100644 --- a/src/config/NTMakefile.version-NOCML +++ b/src/config/NTMakefile.version-NOCML @@ -14,11 +14,11 @@ VERSFILE=AFS_component_version_number !ENDIF $(VERSFILE).c: - echo char $(CML_PREFIX)cml_version_number[]="@(#)CML not accessible: No version information"; >$(VERSFILE).c - echo char* AFSVersion = "afs??"; >>$(VERSFILE).c + echo char $(CML_PREFIX)cml_version_number[]="@(#)OpenAFS$(AFSPRODUCT_VERSION)"; >$(VERSFILE).c + echo char* AFSVersion = "OpenAFS$(AFSPRODUCT_VERSION)"; >>$(VERSFILE).c $(VERSFILE).h: - echo #define AFS_VERINFO_BUILD "CML not accessible: No version information" >$(VERSFILE).h + echo #define AFS_VERINFO_BUILD "OpenAFS$(AFSPRODUCT_VERSION)" >$(VERSFILE).h $(VERSFILE).txt: - echo CML not accessible: No version information >$(VERSFILE).txt + echo OpenAFS$(AFSPRODUCT_VERSION)>$(VERSFILE).txt diff --git a/src/config/param.hp_ux110.h b/src/config/param.hp_ux110.h index 7af67ffc7..cb5fc78ae 100644 --- a/src/config/param.hp_ux110.h +++ b/src/config/param.hp_ux110.h @@ -80,6 +80,10 @@ * supress the warnings. */ struct uio; + +#define memset(A, B, S) bzero(A, S) +#define memcpy(B, A, S) bcopy(A, B, S) +#define memcmp(A, B, S) bcmp(A, B, S) #endif #endif /* KERNEL */ #define AFS_DIRENT diff --git a/src/config/util_cr.c b/src/config/util_cr.c index 15e54e0c8..77e77e888 100644 --- a/src/config/util_cr.c +++ b/src/config/util_cr.c @@ -16,6 +16,8 @@ #include "windows.h" #include "malloc.h" #include "time.h" +#include "stdlib.h" +#include void usuage() { @@ -29,10 +31,149 @@ void usuage() OR util_cr * \"-[register key value]\" ; aremove register key value\n\ OR util_cr @ file.ini \"[SectionKey]variable=value\" ; update ini-ipr-pwf file\n\ OR util_cr @ file.ini \"[SectionKey]variable=value*DatE*\" ; update ini-ipr-pwf file, insert date\n\ - OR util_cr ~ ;force error\n"); + OR util_cr ~ ;force error\n\ + OR util_cr _ [nt xp 98 9x w2] ;test for OS, return 1 if match else 0\n\ + OR util_cr _ [nt xp 98 9x w2] _[command] [true options] [false options] [paramters] \n\t test for OS; execute command with options\n"); exit(0xc000); } +struct TRANSLATION { + WORD langID; // language ID + WORD charset; // character set (code page) +}; + +int CheckProductVersion (int argc,char *argv[]) +{ + DWORD wHandle; + DWORD rc; + UINT len; + char query[1024]; + BYTE *lpData; + struct TRANSLATION mTrans,* pTrans; + LPCTSTR pVal; + UINT iLenVal; + int ret; + lpData=NULL; + ret=0; +/* printf("1=%s,2=%s\n",argv[2],argv[3]);*/ + rc =GetFileVersionInfoSize(argv[2],&wHandle); + if (rc>0) + { + lpData=(BYTE *)malloc(rc*sizeof(BYTE)); + if (GetFileVersionInfo(argv[2],wHandle,rc,lpData)) + { + if (VerQueryValue(lpData, + "\\VarFileInfo\\Translation", (PVOID *)&pTrans, &len) && len >= 4) { + mTrans = *pTrans; + } + sprintf(query,"\\StringFileInfo\\%04x%04x\\%s",mTrans.langID,mTrans.charset,"ProductVersion"); + if (VerQueryValue(lpData, (LPTSTR)(LPCTSTR)query, + (LPVOID*)&pVal, &iLenVal)) { + ret=(atoi(pVal)>=atoi(argv[3]))?1:0; + } + } + if (lpData) + free(lpData); + } + return ret; +} + +int CheckVersion(int argc,char *argv[]) +{ + OSVERSIONINFO VersionInfo; + int i; + memset(&VersionInfo,0,sizeof(VersionInfo)); + VersionInfo.dwOSVersionInfoSize =sizeof(OSVERSIONINFO); + if (!GetVersionEx(&VersionInfo)) + { + return 0XC000; + } + for (i=1;i=argc) + { + return ret; + } + for (++x;((x #include -RCSID("$Header: /tmp/cvstemp/openafs/src/des/read_pssword.c,v 1.1.1.8 2001/10/14 18:04:48 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/des/read_pssword.c,v 1.1.1.9 2002/12/11 02:43:03 hartmans Exp $"); #include #include @@ -310,7 +310,7 @@ lose: if (!ok) memset(s, 0, maxa); printf("\n"); -#if defined(AFS_HPUX_ENV) || defined(AFS_XBSD_ENV) +#if defined(AFS_HPUX_ENV) || defined(AFS_XBSD_ENV) || defined(AFS_DARWIN_ENV) /* * Restore the terminal to its previous characteristics. * Restore the old signal handler for SIGINT. diff --git a/src/libafs/MakefileProto.HPUX.in b/src/libafs/MakefileProto.HPUX.in index 6562701d6..29830be64 100644 --- a/src/libafs/MakefileProto.HPUX.in +++ b/src/libafs/MakefileProto.HPUX.in @@ -119,7 +119,7 @@ setup: # Compile the clients. ${COMPDIRS} ${INSTDIRS} ${DESTDIRS}: - if false; then \ + if true; then \ for b in $(BITS); do \ for t in $(KOBJ); do \ dir=$$t.$$b; \ diff --git a/src/libafs/MakefileProto.SOLARIS.in b/src/libafs/MakefileProto.SOLARIS.in index fac745683..a5b7c574f 100644 --- a/src/libafs/MakefileProto.SOLARIS.in +++ b/src/libafs/MakefileProto.SOLARIS.in @@ -142,9 +142,9 @@ DEST_LIBAFSNONFS = ${DEST}/root.client/usr/vice/etc/modload/${LIBAFSNONFS} # Without this line, gmake tries to build libafs.o .PHONY: libafs -libafs: $(LIBAFSNONFS) -install_libafs: $(INST_LIBAFSNONFS) -dest_libafs: $(DEST_LIBAFSNONFS) +libafs: $(LIBAFSNONFS) $(LIBAFS) +install_libafs: $(INST_LIBAFSNONFS) $(INST_LIBAFS) +dest_libafs: $(DEST_LIBAFSNONFS) $(DEST_LIBAFS) $(INST_LIBAFS): $(LIBAFS) @@ -170,13 +170,15 @@ ${LIBAFSNONFS}: $(AFSAOBJS) $(AFSNONFSOBJS) -libafs: ${LIBAFSNONFS} +libafs: ${LIBAFSNONFS} ${LIBAFS} -install_libafs: ${LIBAFSNONFS} +install_libafs: ${LIBAFSNONFS} ${LIBAFS} ${INSTALL} -f ${LIBAFSNONFS} ${DESTDIR}${afskerneldir}/libafs${BITS}.nonfs.o + ${INSTALL} -f ${LIBAFS} ${DESTDIR}${afskerneldir}/libafs${BITS}.o -dest_libafs: ${LIBAFSNONFS} +dest_libafs: ${LIBAFSNONFS} ${LIBAFS} ${INSTALL} -f ${LIBAFSNONFS} ${DEST}/root.client/usr/vice/etc/modload/libafs${BITS}.nonfs.o + ${INSTALL} -f ${LIBAFS} ${DEST}/root.client/usr/vice/etc/modload/libafs${BITS}.o diff --git a/src/libafsrpc/Makefile.in b/src/libafsrpc/Makefile.in index b0ae1e8e1..c46f29754 100644 --- a/src/libafsrpc/Makefile.in +++ b/src/libafsrpc/Makefile.in @@ -31,7 +31,7 @@ SHELL = /bin/sh include ../config/Makefile.${SYS_NAME} CC=${MT_CC} -INCLUDES=-I${TOP_INCDIR} -I.. -I../rx +INCLUDES=-I${TOP_INCDIR} -I.. -I../rx -I../rxkad CFLAGS = ${OPTMZ} ${DBG} ${INCLUDES} -DRXDEBUG ${MT_CFLAGS} -I${TOP_SRCDIR}/config SFLAGS=-P -I${TOP_INCDIR} RX = ../rx @@ -63,6 +63,8 @@ XDROBJS =\ xdr_rx.o \ xdr_int64.o \ xdr_afsuuid.o \ + xdr_update.o \ + xdr_refernce.o \ AFS_component_version_number.o RXOBJS =\ @@ -98,6 +100,8 @@ RXKADOBJS =\ rxkad_server.o \ rxkad_common.o \ ticket.o \ + ticket5.o \ + crc.o \ fcrypt.o \ crypt_conn.o @@ -197,6 +201,12 @@ rxkad_common.o: ${RXKAD}/rxkad_common.c ticket.o: ${RXKAD}/ticket.c ${CCRULE} +ticket5.o: ${RXKAD}/ticket5.c + ${CCRULE} + +crc.o: ${RXKAD}/crc.c + ${CCRULE} + fcrypt.o: ${RXKAD}/fcrypt.c ${CCRULE} @@ -258,7 +268,7 @@ xdr_afsuuid.o: ${RX}/xdr_afsuuid.c # # $ what /opt/langtools/bin/pxdb32 # /opt/langtools/bin/pxdb32: -# HP92453-02 A.10.0A HP-UX SYMBOLIC DEBUGGER (PXDB) $Revision: 1.1.1.3 $ +# HP92453-02 A.10.0A HP-UX SYMBOLIC DEBUGGER (PXDB) $Revision: 1.1.1.4 $ # # The problem occurs when -g and -O are both used when compiling des.c. # The simplest way to work around the problem is to leave out either -g or -O. diff --git a/src/libafsrpc/NTMakefile b/src/libafsrpc/NTMakefile index f8131dd31..eb84cf540 100644 --- a/src/libafsrpc/NTMakefile +++ b/src/libafsrpc/NTMakefile @@ -262,7 +262,8 @@ DLLLIBS =\ $(DESTDIR)\lib\afspthread.lib \ !ENDIF $(DESTDIR)\lib\afs\afsutil.lib \ - $(DESTDIR)\lib\afs\afsreg.lib + $(DESTDIR)\lib\afs\afsreg.lib \ + $(DESTDIR)\lib\afsrxkad.lib $(DESTDIR)\lib\afsrpc.dll: $(DLLOBJS) $(DLLLIBS) $(DLLCONLINK) /DEF:afsrpc.def diff --git a/src/rx/HPUX/rx_kmutex.h b/src/rx/HPUX/rx_kmutex.h index c5bc1e47f..a1584c518 100644 --- a/src/rx/HPUX/rx_kmutex.h +++ b/src/rx/HPUX/rx_kmutex.h @@ -1,35 +1,137 @@ +/* + * 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 + */ + +/* rx_kmutex.h - mutex and condition variable macros for kernel environment. + * + * HPUX implementation. + */ + #ifndef _RX_KMUTEX_H_ #define _RX_KMUTEX_H_ + +#if defined(AFS_HPUX110_ENV) && defined(KERNEL) +/* rx fine grain locking primitives */ + +#include #include -#include +#include +#include +#include + +#include "../rx/rx_kernel.h" /* For osi_Panic() */ #define RX_ENABLE_LOCKS 1 -extern lock_t* rx_sleepLock; #define AFS_GLOBAL_RXLOCK_KERNEL -#define CV_INIT(cv,a,b,c) -#define CV_DESTROY(a) +extern lock_t* rx_sleepLock; -/* These 3, at least, need to do something */ -#define CV_WAIT(cv, lck) { \ - } +/* We use beta semaphores instead of sync semaphores for Rx locks as + * recommended by HP labs. Sync semaphores are not supported by HP + * any more. + */ -#define CV_SIGNAL(cv) { \ - } +#define CV_INIT(cv,a,b,c) -#define CV_BROADCAST(cv) { \ - } +/* This is supposed to atomically drop the mutex and go to sleep + * and reacquire the mutex when it wakes up. + */ +#define CV_WAIT(cv, lck) \ + do { \ + int code; \ + ksleep_prepare(); \ + MP_SPINLOCK(rx_sleepLock); \ + if (!b_owns_sema(lck)) \ + osi_Panic("mutex not held \n"); \ + b_vsema(lck); \ + code = ksleep_one(PCATCH | KERNEL_ADDRESS | KERN_SPINLOCK_OBJECT, \ + (cv), rx_sleepLock, 0); \ + if (code) { \ + if (code == EINTR) { /* lock still held */ \ + MP_SPINUNLOCK(rx_sleepLock); \ + } else if (code != -EINTR) { \ + osi_Panic("ksleep_one failed: code = %d \n", code); \ + } \ + } \ + b_psema(lck); /* grab the mutex again */ \ + } while(0) -typedef sync_t afs_kmutex_t; +/* Wakes up a thread waiting on this condition */ +#define CV_SIGNAL(cv) \ + do { \ + int wo, code; \ + MP_SPINLOCK(rx_sleepLock); \ + if ((code = kwakeup_one(KERNEL_ADDRESS, (cv), WAKEUP_ONE, &wo)) < 0) \ + osi_Panic("kwakeup_one failed: code = %d \n", code); \ + MP_SPINUNLOCK(rx_sleepLock); \ + } while (0) + +/* Wakes up all threads waiting on this condition */ +#define CV_BROADCAST(cv) \ + do { \ + int wo, code; \ + MP_SPINLOCK(rx_sleepLock); \ + if ((code = kwakeup_one(KERNEL_ADDRESS, (cv), WAKEUP_ALL, &wo)) < 0) \ + osi_Panic("kwakeup_all failed: code = %d \n", code); \ + MP_SPINUNLOCK(rx_sleepLock); \ + } while (0) + +#define CV_DESTROY(a) + +/* We now use beta semaphores for mutexes */ +typedef b_sema_t afs_kmutex_t; typedef caddr_t afs_kcondvar_t; -#define RXObtainWriteLock(a) +#else /* AFS_HPUX110_ENV */ + +#if defined(AFS_HPUX102_ENV) +#define CV_INIT(a,b,c,d) +#define CV_DESTROY(a) +#endif /* AFS_HPUX102_ENV */ +#endif /* else AFS_HPUX110_ENV */ + +#ifdef AFS_HPUX102_ENV + +#define RXObtainWriteLock(a) AFS_ASSERT_RXGLOCK() #define RXReleaseWriteLock(a) + +#if defined(AFS_HPUX110_ENV) +#undef osirx_AssertMine +extern void osirx_AssertMine(afs_kmutex_t *lockaddr, char *msg); + +#define AFS_RX_ORDER 30 + +#define MUTEX_INIT(a,b,c,d) b_initsema((a), 1, AFS_RX_ORDER, (b)) +#define MUTEX_DESTROY(a) + +#define MUTEX_TRYENTER(a) b_cpsema(a) + +#define MUTEX_ENTER(a) \ + ((b_owns_sema(a)) ? (osi_Panic("Already Held"), 0) : b_psema(a)) + +#define MUTEX_EXIT(a) \ + ((b_owns_sema(a)) ? b_vsema(a) : (osi_Panic("mutex not held"), 0)) + +#undef MUTEX_ISMINE +#define MUTEX_ISMINE(a) b_owns_sema(a) + +#else /* AFS_HPUX110_ENV */ + +#define osirx_AssertMine(addr, msg) + #define MUTEX_DESTROY(a) #define MUTEX_ENTER(a) #define MUTEX_TRYENTER(a) 1 #define MUTEX_EXIT(a) #define MUTEX_INIT(a,b,c,d) -/* #define MUTEX_ISMINE(a) */ -#endif + +#endif /* else AFS_HPUX110_ENV */ +#endif /* AFS_HPUX102_ENV */ +#endif /* _RX_KMUTEX_H_ */ + diff --git a/src/rx/Makefile.in b/src/rx/Makefile.in index bd2cac240..dce3aeb16 100644 --- a/src/rx/Makefile.in +++ b/src/rx/Makefile.in @@ -42,7 +42,7 @@ XDROBJS = xdr.o xdr_array.o xdr_arrayn.o xdr_rx.o xdr_afsuuid.o RXOBJS = rx_clock.o rx_event.o rx_user.o rx_lwp.o rx.o rx_null.o rx_globals.o \ rx_getaddr.o rx_misc.o rx_packet.o rx_rdwr.o rx_trace.o rx_conncache.o \ - xdr_int64.o + xdr_int64.o xdr_update.o xdr_refernce.o MULTIOBJS = rx_multi.o @@ -56,7 +56,7 @@ XDROBJS_djgpp = xdr.o xdr_rec.o xdr_stdio.o \ RXOBJS_djgpp = rx_clock.o rx_event.o rx_user.o rx_lwp.o rx.o rx_null.o rx_globals.o \ rx_getaddr.o rx_misc.o rx_packet.o rx_rdwr.o rx_trace.o rx_conncache.o \ - xdr_int64.o rx_xmit_nt.o + xdr_int64.o xdr_update.o xdr_refernce.o rx_xmit_nt.o BASICINCLS=${TOP_INCDIR}/lwp.h ${TOP_INCDIR}/lock.h \ rx_clock.h rx_queue.h rx_event.h diff --git a/src/rx/rx_kcommon.c b/src/rx/rx_kcommon.c index 6c40a2820..fbc32cb97 100644 --- a/src/rx/rx_kcommon.c +++ b/src/rx/rx_kcommon.c @@ -14,14 +14,13 @@ #include #include "../afs/param.h" -RCSID("$Header: /tmp/cvstemp/openafs/src/rx/rx_kcommon.c,v 1.1.1.13 2002/09/26 19:07:36 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/rx/rx_kcommon.c,v 1.1.1.14 2002/12/11 02:44:30 hartmans Exp $"); #include "../rx/rx_kcommon.h" #ifdef AFS_HPUX110_ENV #include "../h/tihdr.h" #include -#include "../afs/hpux_110.h" #endif #include "../afsint/afsint.h" diff --git a/src/rx/rx_kcommon.h b/src/rx/rx_kcommon.h index 271d1058d..4ac04c2c4 100644 --- a/src/rx/rx_kcommon.h +++ b/src/rx/rx_kcommon.h @@ -37,7 +37,9 @@ typedef unsigned short etap_event_t; #include "../h/protosw.h" #if !defined(AFS_SUN5_ENV) && !defined(AFS_XBSD_ENV) #include "../h/domain.h" +#if !defined(AFS_HPUX110_ENV) #include "../h/dir.h" +#endif #include "../h/buf.h" #include "../h/mbuf.h" #else diff --git a/src/rx/rx_kernel.h b/src/rx/rx_kernel.h index bb267c7fe..ff8cb1b45 100644 --- a/src/rx/rx_kernel.h +++ b/src/rx/rx_kernel.h @@ -30,7 +30,7 @@ typedef struct socket *osi_socket; extern osi_socket rxi_GetUDPSocket(); -#if (!defined(AFS_GLOBAL_SUNLOCK) && !defined(RX_ENABLE_LOCKS)) || (defined(AFS_HPUX_ENV) && !defined(RX_ENABLE_LOCKS)) +#if (!defined(AFS_GLOBAL_SUNLOCK) && !defined(RX_ENABLE_LOCKS)) #define osi_rxSleep(a) afs_osi_Sleep(a) #define osi_rxWakeup(a) afs_osi_Wakeup(a) #endif diff --git a/src/rx/xdr.h b/src/rx/xdr.h index 686974509..5f899ac4a 100644 --- a/src/rx/xdr.h +++ b/src/rx/xdr.h @@ -171,14 +171,14 @@ typedef bool_t (*xdrproc_t)(); typedef struct { enum xdr_op x_op; /* operation; fast additional param */ struct xdr_ops { -#if defined(AFS_SGI61_ENV) && defined(KERNEL) && (_MIPS_SZLONG != _MIPS_SZINT) +#if defined(KERNEL) && ((defined(AFS_SGI61_ENV) && (_MIPS_SZLONG != _MIPS_SZINT)) || defined(AFS_HPUX_64BIT_ENV)) /* NOTE: SGI 6.1 adds two routines to the xdr_ops if the size of a long is * 64 bits. I've only done this for the kernel, since other changes may * be necessary if we make a 64 bit user version of AFS. */ bool_t (*x_getint64)(); /* get 32 bits into a long */ bool_t (*x_putint64)(); /* send 32 bits of a long */ -#endif /* AFS_SGI61_ENV */ +#endif /* defined(KERNEL) && ((defined(AFS_SGI61_ENV) && (_MIPS_SZLONG != _MIPS_SZINT)) || defined(AFS_HPUX_64BIT_ENV)) */ #if !(defined(KERNEL) && defined(AFS_SUN57_ENV)) bool_t (*x_getint32)(); /* get an afs_int32 from underlying stream */ bool_t (*x_putint32)(); /* put an afs_int32 to " */ @@ -210,7 +210,7 @@ typedef struct { * u_int len; * u_int pos; */ -#if defined(AFS_SGI61_ENV) && defined(KERNEL) && (_MIPS_SZLONG != _MIPS_SZINT) +#if defined(AFS_SGI61_ENV) && defined(KERNEL) && (_MIPS_SZLONG != _MIPS_SZINT) || defined(AFS_HPUX_64BIT_ENV) #define XDR_GETINT64(xdrs, int64p) \ (*(xdrs)->x_ops->x_getint64)(xdrs, int64p) #define xdr_getint64(xdrs, int64p) \ @@ -220,7 +220,7 @@ typedef struct { (*(xdrs)->x_ops->x_putint64)(xdrs, int64p) #define xdr_putint64(xdrs, int64p) \ (*(xdrs)->x_ops->x_putint64)(xdrs, int64p) -#endif /* defined(AFS_SGI61_ENV) && KERNEL && (_MIPS_SZLONG != _MIPS_SZINT) */ +#endif /* defined(KERNEL) && ((defined(AFS_SGI61_ENV) && (_MIPS_SZLONG != _MIPS_SZINT)) || defined(AFS_HPUX_64BIT_ENV)) */ #define XDR_GETINT32(xdrs, int32p) \ (*(xdrs)->x_ops->x_getint32)(xdrs, int32p) diff --git a/src/rx/xdr_rx.c b/src/rx/xdr_rx.c index 56682216d..75c4747d3 100644 --- a/src/rx/xdr_rx.c +++ b/src/rx/xdr_rx.c @@ -18,7 +18,7 @@ #endif #include -RCSID("$Header: /tmp/cvstemp/openafs/src/rx/xdr_rx.c,v 1.1.1.5 2002/06/10 11:47:16 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/rx/xdr_rx.c,v 1.1.1.6 2002/12/11 02:44:36 hartmans Exp $"); #ifdef KERNEL #ifndef UKERNEL @@ -102,11 +102,11 @@ void xdrrx_destroy(); * Ops vector for stdio type XDR */ static struct xdr_ops xdrrx_ops = { -#if (defined(AFS_SGI61_ENV) && (_MIPS_SZLONG != _MIPS_SZINT)) || defined(AFS_HPUX_64BIT_ENV) +#if defined(KERNEL) && ((defined(AFS_SGI61_ENV) && (_MIPS_SZLONG != _MIPS_SZINT)) || defined(AFS_HPUX_64BIT_ENV)) xdrrx_getint64, xdrrx_putint64, -#endif /* (defined(AFS_SGI61_ENV) && (_MIPS_SZLONG != _MIPS_SZINT)) || defined(AFS_HPUX_64BIT_ENV) */ -#if !(defined(KERNEL) && defined(AFS_SUN57_ENV)) && !defined(AFS_HPUX_64BIT_ENV) +#endif /* defined(KERNEL) && ((defined(AFS_SGI61_ENV) && (_MIPS_SZLONG != _MIPS_SZINT)) || defined(AFS_HPUX_64BIT_ENV)) */ +#if !(defined(KERNEL) && defined(AFS_SUN57_ENV)) xdrrx_getint32, /* deserialize an afs_int32 */ xdrrx_putint32, /* serialize an afs_int32 */ #endif diff --git a/src/rxkad/Makefile.in b/src/rxkad/Makefile.in index c97851225..543e4adc7 100644 --- a/src/rxkad/Makefile.in +++ b/src/rxkad/Makefile.in @@ -33,12 +33,12 @@ KERNELDIR = ../libafs/ UKERNELDIR = ../libuafs/ COMPILE_ET=${TOP_SRCDIR}/comerr/compile_et -CFLAGS=${OPTMZ} -I${TOP_SRCDIR}/config -I${TOP_INCDIR} ${XCFLAGS} +CFLAGS=${OPTMZ} -I${TOP_SRCDIR}/config -I${TOP_INCDIR} -I. ${XCFLAGS} INCLS=${TOP_INCDIR}/rx/rx.h ${TOP_INCDIR}/rx/xdr.h \ - rxkad.h + rxkad.h v5gen.h OBJS=rxkad_client.o rxkad_server.o rxkad_common.o ticket.o rxkad_errs.o \ - fcrypt.o crypt_conn.o + fcrypt.o crypt_conn.o ticket.o ticket5.o crc.o fc_test_OBJS=fc_test.o @@ -184,6 +184,10 @@ rxkad_errs.c rxkad.h: rxkad_errs.et rxkad.p.h ticket.o: ticket.c lifetimes.h ${INCLS} +ticket5.o: ticket5.c v5gen.c v5der.c v5gen-rewrite.h ${INCLS} + +crc.o: crc.c ${INCLS} + fcrypt.o: fcrypt.c fcrypt.h sboxes.h rxkad.h ${CC} ${CFLAGS} -c fcrypt.c diff --git a/src/rxkad/NTMakefile b/src/rxkad/NTMakefile index fc71d72eb..8a5f8d443 100644 --- a/src/rxkad/NTMakefile +++ b/src/rxkad/NTMakefile @@ -23,6 +23,8 @@ LIBOBJS =\ rxkad_errs.obj \ AFS_component_version_number.obj \ fcrypt.obj \ + crc.obj \ + ticket5.obj \ crypt_conn.obj # afsrxkad.lib diff --git a/src/rxkad/rxkad.p.h b/src/rxkad/rxkad.p.h index 8c876dbc2..2cd432557 100644 --- a/src/rxkad/rxkad.p.h +++ b/src/rxkad/rxkad.p.h @@ -36,6 +36,9 @@ * passed to/from ktc_[SG]etToken. */ #define RXKAD_TKT_TYPE_KERBEROS_V5 256 +#define RXKAD_TKT_TYPE_KERBEROS_V5_ENCPART_ONLY 213 + +#define MAXKRB5TICKETLEN 1024 /* * The AFS/DFS translator may also make use of additional ticket types in diff --git a/src/rxkad/rxkad_server.c b/src/rxkad/rxkad_server.c index 1377b1cc3..c30c8360f 100644 --- a/src/rxkad/rxkad_server.c +++ b/src/rxkad/rxkad_server.c @@ -14,7 +14,7 @@ #include #include -RCSID("$Header: /tmp/cvstemp/openafs/src/rxkad/rxkad_server.c,v 1.1.1.9 2001/10/14 18:06:36 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/rxkad/rxkad_server.c,v 1.1.1.10 2002/12/11 02:44:47 hartmans Exp $"); #include #include @@ -304,6 +304,23 @@ rxs_return_t rxkad_CheckResponse (aobj, aconn, apacket) * If the alternate decoder is not present, or returns -1, then * assume the ticket is of the default style. */ + if (code == -1 && + (kvno == RXKAD_TKT_TYPE_KERBEROS_V5) || + (kvno == RXKAD_TKT_TYPE_KERBEROS_V5_ENCPART_ONLY)) + { + code = tkt_DecodeTicket5 (tix, tlen, + tsp->get_key, + tsp->get_key_rock, + kvno, + client.name, client.instance, client.cell, + &sessionkey, &host, &start, &end); + if (code) return RXKADBADTICKET; + } + + /* + * If the alternate decoder/kerberos 5 decoder is not present, or + * returns -1, then assume the ticket is of the default style. + */ if (code == -1) { /* get ticket's key */ code = (*tsp->get_key)(tsp->get_key_rock, kvno, &serverKey); diff --git a/src/rxkad/test/Makefile.in b/src/rxkad/test/Makefile.in index e7a0c4576..cea77cecf 100644 --- a/src/rxkad/test/Makefile.in +++ b/src/rxkad/test/Makefile.in @@ -5,21 +5,42 @@ # License. For details, see the LICENSE file in the top-level source # directory or online at http://www.openafs.org/dl/license10.html -DESTDIR=@DESTDIR@ -SRCDIR=@SRCDIR@ +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@ +RXGEN=${TOP_SRCDIR}/rxgen/rxgen TOP_SRCDIR=@TOP_SRCDIR@ SYS_NAME=@AFS_SYSNAME@ +SHELL = /bin/sh + include ../../config/Makefile.${SYS_NAME} +KERNELDIR = ../libafs/ +UKERNELDIR = ../libuafs/ +COMPILE_ET=${TOP_SRCDIR}/comerr/compile_et + OPTIMIZE=-g -CFLAGS=-g -I. -I${srcdir} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} +CFLAGS=-g -I. -I${TOP_SRCDIR} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${XCFLAGS} HEADERS = ../rxkad.h stress.h stress_internal.h stress_errs.h -LIBS=${TOP_LIBDIR}/librx.a \ +LIBS=${TOP_LIBDIR}/libauth.a \ + ${TOP_LIBDIR}/librx.a \ ${TOP_LIBDIR}/liblwp.a \ + ${TOP_LIBDIR}/libsys.a \ ${TOP_LIBDIR}/libcmd.a \ ${TOP_LIBDIR}/librxkad.a \ ${TOP_LIBDIR}/libdes.a \ @@ -50,7 +71,7 @@ th_stress.ss.o: stress.ss.c th_stress.cs.o: stress.cs.c ${THRULE} -o th_stress.cs.o - + th_stress.xdr.o: stress.xdr.c stress.h ${THRULE} -o th_stress.xdr.o diff --git a/src/rxkad/test/stress.c b/src/rxkad/test/stress.c index 8d2e9411d..369db2a83 100644 --- a/src/rxkad/test/stress.c +++ b/src/rxkad/test/stress.c @@ -12,7 +12,7 @@ #include #include -RCSID("$Header: /tmp/cvstemp/openafs/src/rxkad/test/stress.c,v 1.1.1.7 2001/10/14 18:06:37 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/rxkad/test/stress.c,v 1.1.1.8 2002/12/11 02:44:48 hartmans Exp $"); #include #include @@ -89,6 +89,9 @@ static int StringToAuth (authname) #define aRECLAIM 21 #define a2DCHOICE 22 #define aMAXSKEW 23 +#define aUSETOKENS 24 +#define aCELL 25 +#define aKEYFILE 26 static int CommandProc (as, arock) char *arock; @@ -122,6 +125,7 @@ static int CommandProc (as, arock) cParms->callTest = (as->parms[aCALLTEST].items != 0); cParms->hijackTest = (as->parms[aHIJACKTEST].items != 0); cParms->stopServer = (as->parms[aSTOPSERVER].items != 0); + cParms->useTokens = (as->parms[aUSETOKENS].items != 0); if (as->parms[aMELT1b].items) meltdown_1pkt = 0; @@ -151,6 +155,8 @@ static int CommandProc (as, arock) if (as->parms[aMINSERVERAUTH].items) sParms->authentication = StringToAuth (as->parms[aMINSERVERAUTH].items->data); + if (as->parms[aKEYFILE].items) + sParms->keyfile = as->parms[aKEYFILE].items->data; #ifdef AFS_PTHREAD_ENV { @@ -231,6 +237,9 @@ static int CommandProc (as, arock) if (as->parms[aAUTHENTICATION].items) cParms->authentication = StringToAuth (as->parms[aAUTHENTICATION].items->data); + cParms->cell = RXKST_CLIENT_CELL; + if (as->parms[aCELL].items) + cParms->cell = as->parms[aCELL].items->data; code = rxkst_StartClient (cParms); if (code) { @@ -268,6 +277,7 @@ void main (argc, argv) initialize_RXK_error_table(); initialize_RKS_error_table(); initialize_CMD_error_table(); + initialize_KTC_error_table(); code = rx_Init (0); rx_SetRxDeadTime(120); @@ -308,6 +318,9 @@ void main (argc, argv) cmd_AddParm (ts, "-noreclaim", CMD_FLAG, CMD_OPTIONAL, "dont aggressively reclaim packets"); cmd_AddParm (ts, "-no2dchoice", CMD_FLAG, CMD_OPTIONAL, "disable rx_getcall 2d choice code"); cmd_AddParm (ts, "-maxskew", CMD_SINGLE, CMD_OPTIONAL, "max client server skew in seconds"); + cmd_AddParm (ts, "-usetokens", CMD_FLAG, CMD_OPTIONAL, "use ktc tokens"); + cmd_AddParm (ts, "-cell", CMD_SINGLE, CMD_OPTIONAL, "name of test cell"); + cmd_AddParm (ts, "-keyfile", CMD_SINGLE, CMD_OPTIONAL, "read server key from file"); code = cmd_Dispatch (argc, argv); exit (code!=0); diff --git a/src/rxkad/test/stress_c.c b/src/rxkad/test/stress_c.c index a27bf57ed..c67f083bd 100644 --- a/src/rxkad/test/stress_c.c +++ b/src/rxkad/test/stress_c.c @@ -12,7 +12,7 @@ #include #include -RCSID("$Header: /tmp/cvstemp/openafs/src/rxkad/test/stress_c.c,v 1.1.1.6 2001/09/11 14:34:44 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/rxkad/test/stress_c.c,v 1.1.1.7 2002/12/11 02:44:49 hartmans Exp $"); #include #include @@ -26,6 +26,7 @@ RCSID("$Header: /tmp/cvstemp/openafs/src/rxkad/test/stress_c.c,v 1.1.1.6 2001/09 #include #include #include +#include #include "stress.h" #include "stress_internal.h" #ifdef AFS_PTHREAD_ENV @@ -52,7 +53,30 @@ static long GetServer(aname) return addr; } -static long GetTicket (versionP, session, ticketLenP, ticket) +static long GetToken (versionP, session, ticketLenP, ticket, cell) + OUT long *versionP; + OUT struct ktc_encryptionKey *session; + OUT int *ticketLenP; + OUT char *ticket; +{ + struct ktc_principal sname; + struct ktc_token ttoken; + long code; + + strcpy(sname.cell, cell); + sname.instance[0] = 0; + strcpy(sname.name, "afs"); + code = ktc_GetToken(&sname, &ttoken, sizeof(ttoken), NULL); + if (code) return code; + + *versionP = ttoken.kvno; + *ticketLenP = ttoken.ticketLen; + memcpy(ticket, ttoken.ticket, ttoken.ticketLen); + memcpy(session, &ttoken.sessionKey, sizeof(struct ktc_encryptionKey)); + return 0; +} + +static long GetTicket (versionP, session, ticketLenP, ticket, cell) OUT long *versionP; OUT struct ktc_encryptionKey *session; OUT int *ticketLenP; @@ -68,7 +92,7 @@ static long GetTicket (versionP, session, ticketLenP, ticket) /* now create the actual ticket */ *ticketLenP = 0; code = tkt_MakeTicket(ticket, ticketLenP, &serviceKey, - RXKST_CLIENT_NAME, RXKST_CLIENT_INST, "", + RXKST_CLIENT_NAME, RXKST_CLIENT_INST, cell, /*start,end*/0, 0xffffffff, session, /*host*/0, RXKST_SERVER_NAME, RXKST_SERVER_NAME); /* parms were buffer, ticketlen, key to seal ticket with, principal name, @@ -1142,7 +1166,10 @@ long rxkst_StartClient (parms) int ticketLen; struct ktc_encryptionKey Ksession; - code = GetTicket (&kvno, &Ksession, &ticketLen, ticket); + if (parms->useTokens) + code = GetToken (&kvno, &Ksession, &ticketLen, ticket, parms->cell); + else + code = GetTicket (&kvno, &Ksession, &ticketLen, ticket, parms->cell); if (code) return code; /* next, we have ticket, kvno and session key, authenticate the conn */ diff --git a/src/rxkad/test/stress_internal.h b/src/rxkad/test/stress_internal.h index efc539471..61d390549 100644 --- a/src/rxkad/test/stress_internal.h +++ b/src/rxkad/test/stress_internal.h @@ -19,6 +19,7 @@ extern long serviceKeyVersion; #define RXKST_SERVER_INST "" #define RXKST_CLIENT_NAME "rxkad_stress_test_client" #define RXKST_CLIENT_INST "" +#define RXKST_CLIENT_CELL "rxtest.openafs.org" extern int errno; @@ -26,6 +27,7 @@ struct serverParms { char *whoami; u_int threads; int authentication; /* minimum level of auth to permit */ + char *keyfile; }; struct clientParms { @@ -44,6 +46,8 @@ struct clientParms { int hijackTest; /* check hijack prevention measures */ int stopServer; /* send stop server RPC */ int authentication; /* type of authentication to use */ + int useTokens; /* use user's existing tokens */ + char *cell; /* test cell name */ u_long repeatInterval; /* secs between load test activity */ u_long repeatCount; /* times load test activity repeated */ }; @@ -51,11 +55,6 @@ struct clientParms { long rxkst_StartClient(INOUT struct clientParms *parms); long rxkst_StartServer(INOUT struct serverParms *parms); -long RXKST_Fast(); -long RXKST_Slow(); -long RXKST_Copious(); -long RXKST_Kill(); - /* For backward compatibility with AFS3.0 release. */ #ifndef assert diff --git a/src/rxkad/test/stress_s.c b/src/rxkad/test/stress_s.c index 81512fe43..ac86613f7 100644 --- a/src/rxkad/test/stress_s.c +++ b/src/rxkad/test/stress_s.c @@ -12,10 +12,11 @@ #include #include -RCSID("$Header: /tmp/cvstemp/openafs/src/rxkad/test/stress_s.c,v 1.1.1.5 2001/09/11 14:34:45 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/rxkad/test/stress_s.c,v 1.1.1.6 2002/12/11 02:44:49 hartmans Exp $"); #include #include +#include #include #ifdef AFS_NT40_ENV #include @@ -26,6 +27,9 @@ RCSID("$Header: /tmp/cvstemp/openafs/src/rxkad/test/stress_s.c,v 1.1.1.5 2001/09 #include +#include +#include + #include "stress.h" #include "stress_internal.h" @@ -41,8 +45,38 @@ static long GetKey (rock, kvno, key) IN long kvno; OUT struct ktc_encryptionKey *key; { - memcpy(key, &serviceKey, sizeof(*key)); - return 0; + struct serverParms *parms = (struct serverParms *)rock; + struct afsconf_keys tstr; + afs_int32 code; + int fd; + + fprintf(stderr, "GetKey called for kvno %d\n", kvno); + if (!parms->keyfile) { + memcpy(key, &serviceKey, sizeof(*key)); + return 0; + } + + /* the rest of this function borrows heavily from auth/cellconfig.c */ + fd = open(parms->keyfile, O_RDONLY); + if (fd < 0) { + return AFSCONF_FAILURE; + } + code = read(fd, &tstr, sizeof(struct afsconf_keys)); + close(fd); + if (code < sizeof(afs_int32)) { + return AFSCONF_FAILURE; + } + + /* convert key structure to host order */ + tstr.nkeys = ntohl(tstr.nkeys); + for(fd = 0; fd < tstr.nkeys; fd++) { + if (kvno == ntohl(tstr.key[fd].kvno)) { + memcpy(key, tstr.key[fd].key, sizeof(*key)); + return 0; + } + } + + return AFSCONF_NOTFOUND; } static int minAuth; @@ -61,7 +95,7 @@ long rxkst_StartServer (parms) sc[0] = rxnull_NewServerSecurityObject(); sc[1] = 0; /* no rxvab anymore */ - sc[2] = rxkad_NewServerSecurityObject (minLevel, 0, GetKey, 0); + sc[2] = rxkad_NewServerSecurityObject (minLevel, (void *)parms, GetKey, 0); tservice = rx_NewService(htons(RXKST_SERVICEPORT), RXKST_SERVICEID, "stress test", sc, 3, RXKST_ExecuteRequest); if (tservice == (struct rx_service *)0) { @@ -77,6 +111,10 @@ long rxkst_StartServer (parms) return 0; } +static char test_client_name[MAXKTCNAMELEN]; +static char test_client_inst[MAXKTCNAMELEN]; +static char test_client_cell[MAXKTCREALMLEN]; +static int got_client_id = 0; static long CheckAuth (call) IN struct rx_call *call; { @@ -105,16 +143,23 @@ static long CheckAuth (call) name, inst, cell, &kvno); if (code) return code; if (minAuth > level) return -1; - if (kvno != serviceKeyVersion) return RXKST_BADKVNO; - if (strcmp (name, RXKST_CLIENT_NAME) || - strcmp (inst, RXKST_CLIENT_INST) || - cell[0]) return RXKST_BADCLIENT; + fprintf(stderr, "Test client is %s.%s@%s\n", name, inst, cell); + if (got_client_id) { + if (strcmp(name, test_client_name)) return RXKST_BADCLIENT; + if (strcmp(inst, test_client_inst)) return RXKST_BADCLIENT; + if (strcmp(cell, test_client_cell)) return RXKST_BADCLIENT; + } else { + strcpy(test_client_name, name); + strcpy(test_client_inst, inst); + strcpy(test_client_cell, cell); + got_client_id = 1; + } return 0; } /* Stop the server. There isn't a graceful way to do this so just exit. */ -long SRXKST_Kill (call) +afs_int32 SRXKST_Kill (call) IN struct rx_call *call; { long code; @@ -131,7 +176,7 @@ long SRXKST_Kill (call) return 0; } -long SRXKST_Fast (call, n, inc_nP) +afs_int32 SRXKST_Fast (call, n, inc_nP) IN struct rx_call *call; IN u_long n; OUT u_long *inc_nP; @@ -140,7 +185,7 @@ long SRXKST_Fast (call, n, inc_nP) return 0; } -long SRXKST_Slow (call, tag, nowP) +afs_int32 SRXKST_Slow (call, tag, nowP) IN struct rx_call *call; IN u_long tag; OUT u_long *nowP; @@ -184,7 +229,7 @@ static void PutBuffer(b) buflist = bl; } -long SRXKST_Copious (call, inlen, insum, outlen, outsum) +afs_int32 SRXKST_Copious (call, inlen, insum, outlen, outsum) IN struct rx_call *call; IN u_long inlen; IN u_long insum; diff --git a/src/shlibafsauthent/mapfile b/src/shlibafsauthent/mapfile index d8f766b7e..f79182c49 100644 --- a/src/shlibafsauthent/mapfile +++ b/src/shlibafsauthent/mapfile @@ -77,6 +77,9 @@ afs_krb_get_lrealm; pr_NameToId; pr_IdToName; + pr_SNameToId; + afs_get_pag_from_groups; + setpag; local: *; diff --git a/src/shlibafsrpc/Makefile.in b/src/shlibafsrpc/Makefile.in index df0e6d341..626a82458 100644 --- a/src/shlibafsrpc/Makefile.in +++ b/src/shlibafsrpc/Makefile.in @@ -102,6 +102,8 @@ RXKADOBJS =\ rxkad_server.o \ rxkad_common.o \ ticket.o \ + ticket5.o \ + crc.o \ fcrypt.o \ crypt_conn.o @@ -207,6 +209,12 @@ rxkad_common.o: ${RXKAD}/rxkad_common.c ticket.o: ${RXKAD}/ticket.c ${CCRULE} +ticket5.o: ${RXKAD}/ticket5.c + ${CCRULE} + +crc.o: ${RXKAD}/crc.c + ${CCRULE} + fcrypt.o: ${RXKAD}/fcrypt.c ${CCRULE} @@ -268,7 +276,7 @@ xdr_afsuuid.o: ${RX}/xdr_afsuuid.c # # $ what /opt/langtools/bin/pxdb32 # /opt/langtools/bin/pxdb32: -# HP92453-02 A.10.0A HP-UX SYMBOLIC DEBUGGER (PXDB) $Revision: 1.1 $ +# HP92453-02 A.10.0A HP-UX SYMBOLIC DEBUGGER (PXDB) $Revision: 1.1.1.2 $ # # The problem occurs when -g and -O are both used when compiling des.c. # The simplest way to work around the problem is to leave out either -g or -O. diff --git a/src/util/afs_lhash.c b/src/util/afs_lhash.c index b63d62a3b..fcf2ac42f 100644 --- a/src/util/afs_lhash.c +++ b/src/util/afs_lhash.c @@ -10,7 +10,7 @@ #include #include -RCSID("$Header: /tmp/cvstemp/openafs/src/util/afs_lhash.c,v 1.1.1.4 2001/07/14 22:24:18 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/util/afs_lhash.c,v 1.1.1.5 2002/12/11 02:45:51 hartmans Exp $"); #ifdef KERNEL #include "../afs/afs_atomlist.h" @@ -23,6 +23,10 @@ RCSID("$Header: /tmp/cvstemp/openafs/src/util/afs_lhash.c,v 1.1.1.4 2001/07/14 2 #define CHECK_INVARIANTS #endif /* KERNEL */ +#ifndef NULL +#define NULL 0 +#endif + /* max hash table load factor */ enum { LOAD_FACTOR = 5 }; diff --git a/src/viced/callback.c b/src/viced/callback.c index 246c5eede..679166315 100644 --- a/src/viced/callback.c +++ b/src/viced/callback.c @@ -82,7 +82,7 @@ #include #include -RCSID("$Header: /tmp/cvstemp/openafs/src/viced/callback.c,v 1.1.1.9 2002/09/26 19:09:13 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/viced/callback.c,v 1.1.1.10 2002/12/11 02:46:08 hartmans Exp $"); #include #include /* for malloc() */ @@ -1791,9 +1791,9 @@ struct host* host; struct AFSCBFids* afidp; { int i,j; - struct rx_connection* conns[AFS_MAX_INTERFACE_ADDR]; + struct rx_connection** conns; struct rx_connection* connSuccess = 0; - afs_int32 addr[AFS_MAX_INTERFACE_ADDR]; + afs_int32 *addr; static struct rx_securityClass *sc = 0; static struct AFSCBs tc = {0,0}; @@ -1810,6 +1810,10 @@ struct AFSCBFids* afidp; if ( !sc ) sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + i = host->interface->numberOfInterfaces; + addr = malloc(i * sizeof(afs_int32)); + conns = malloc(i * sizeof(struct rx_connection *)); + /* initialize alternate rx connections */ for ( i=0,j=0; i < host->interface->numberOfInterfaces; i++) { @@ -1856,6 +1860,9 @@ struct AFSCBFids* afidp; if ( conns[i] != connSuccess ) rx_DestroyConnection(conns[i] ); + free(addr); + free(conns); + if ( connSuccess ) return 0; /* success */ else return 1; /* failure */ } @@ -1870,9 +1877,9 @@ MultiProbeAlternateAddress_r(host) struct host* host; { int i,j; - struct rx_connection* conns[AFS_MAX_INTERFACE_ADDR]; + struct rx_connection** conns; struct rx_connection* connSuccess = 0; - afs_int32 addr[AFS_MAX_INTERFACE_ADDR]; + afs_int32 *addr; static struct rx_securityClass *sc = 0; /* nothing more can be done */ @@ -1888,6 +1895,10 @@ struct host* host; if ( !sc ) sc = (struct rx_securityClass *) rxnull_NewClientSecurityObject(); + i = host->interface->numberOfInterfaces; + addr = malloc(i * sizeof(afs_int32)); + conns = malloc(i * sizeof(struct rx_connection *)); + /* initialize alternate rx connections */ for ( i=0,j=0; i < host->interface->numberOfInterfaces; i++) { @@ -1934,6 +1945,9 @@ struct host* host; if ( conns[i] != connSuccess ) rx_DestroyConnection(conns[i] ); + free(addr); + free(conns); + if ( connSuccess ) return 0; /* success */ else return 1; /* failure */ } diff --git a/src/viced/host.c b/src/viced/host.c index 610a516c1..7f0babb25 100644 --- a/src/viced/host.c +++ b/src/viced/host.c @@ -10,7 +10,7 @@ #include #include -RCSID("$Header: /tmp/cvstemp/openafs/src/viced/host.c,v 1.1.1.11 2002/09/26 19:09:14 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/viced/host.c,v 1.1.1.12 2002/12/11 02:46:09 hartmans Exp $"); #include #include @@ -956,7 +956,6 @@ struct host *h_GetHost_r(tcon) int held; struct interfaceAddr interf; int interfValid = 0; - afs_int32 buffer[AFS_MAX_INTERFACE_ADDR]; struct Identity *identP = NULL; afs_int32 haddr; afs_int32 hport; @@ -1934,7 +1933,6 @@ int CheckHost(host, held) { register struct client *client; - struct interfaceAddr interf; int code; /* Host is held by h_Enumerate */ @@ -2070,11 +2068,11 @@ struct interfaceAddr *interf; host->host, interf->numberOfInterfaces)); number = interf->numberOfInterfaces; - myPort = host->port; - myHost = host->host; /* current interface address */ + myPort = host->port; + myHost = host->host; /* current interface address */ /* validation checks */ - if ( number < 0 ) + if ( number < 0 || number > AFS_MAX_INTERFACE_ADDR ) { ViceLog(0,("Number of alternate addresses returned is %d\n", number)); diff --git a/src/vol/fssync.c b/src/vol/fssync.c index 38704367e..6d8b422ca 100644 --- a/src/vol/fssync.c +++ b/src/vol/fssync.c @@ -38,7 +38,7 @@ static int newVLDB = 1; #include #include -RCSID("$Header: /tmp/cvstemp/openafs/src/vol/fssync.c,v 1.1.1.7 2002/09/26 19:09:21 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/vol/fssync.c,v 1.1.1.8 2002/12/11 02:46:15 hartmans Exp $"); #include #include diff --git a/src/vol/ihandle.c b/src/vol/ihandle.c index a7a8b6f07..9a38dea5f 100644 --- a/src/vol/ihandle.c +++ b/src/vol/ihandle.c @@ -14,7 +14,7 @@ #include #include -RCSID("$Header: /tmp/cvstemp/openafs/src/vol/ihandle.c,v 1.1.1.7 2002/06/10 11:48:24 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/vol/ihandle.c,v 1.1.1.8 2002/12/11 02:46:15 hartmans Exp $"); #include #include @@ -257,6 +257,9 @@ FdHandle_t *ih_open(IHandle_t *ihP) FD_t fd; FD_t closeFd; + if (!ihP) /* XXX should log here in the fileserver */ + return NULL; + IH_LOCK /* Do we already have an open file handle for this Inode? */ diff --git a/src/vol/volume.c b/src/vol/volume.c index 4787a11f6..bde41248e 100644 --- a/src/vol/volume.c +++ b/src/vol/volume.c @@ -19,7 +19,7 @@ #include #include -RCSID("$Header: /tmp/cvstemp/openafs/src/vol/volume.c,v 1.1.1.12 2002/09/26 19:09:28 hartmans Exp $"); +RCSID("$Header: /tmp/cvstemp/openafs/src/vol/volume.c,v 1.1.1.13 2002/12/11 02:46:19 hartmans Exp $"); #include #include @@ -388,6 +388,11 @@ static void ReadHeader(Error *ec, IHandle_t *h, char *to, int size, FdHandle_t *fdP; *ec = 0; + if (h == NULL) { + *ec = VSALVAGE; + return; + } + fdP = IH_OPEN(h); if (fdP == NULL) { *ec = VSALVAGE; -- 2.39.5