which included commits to RCS files with non-trunk default branches.
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:
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.
#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
*-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
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)]
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
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"
;;
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.
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
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
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
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
# 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
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}
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)
# 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)
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)
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;
smb_renameRock_t rock;
cm_scache_t *oldDscp;
cm_scache_t *newDscp;
+ cm_scache_t *tmpscp;
char *oldLastNamep;
char *newLastNamep;
osi_hyper_t thyper;
*/
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)
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
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
/* 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);
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);
# 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
# 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
############################################################################
$(EXEFILE) : $(EXEOBJS) $(EXELIBS)
- $(EXEGUILINK) $(VCLIBS)
+ $(EXEMFCLINK) $(VCLIBS)
$(EXEPREP)
install : $(COPYSOURCES) $(COPYHEADERS) $(EXEFILE) lang
#include <initguid.h>
#include <windows.h>
#include <windowsx.h>
+#undef INITGUID
#include <shlobj.h>
#include <shellapi.h>
#include "shortcut.h"
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
- if (!nCMRefCount && !nSERefCount)
+ if (!nCMRefCount && !nSERefCount && !nICRefCount && !nTPRefCount && !nXPRefCount)
return S_OK;
return S_FALSE;
// 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;
}
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
return TRUE;
}
-BOOL IsPathInAfs(const CString& strPath)
+BOOL IsPathInAfs(const CHAR *strPath)
{
struct ViceIoctl blob;
int code;
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__
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
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
* directory or online at http://www.openafs.org/dl/license10.html
*/
-#include "resource.h"\r
-\r
-#define APSTUDIO_READONLY_SYMBOLS\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 2 resource.\r
-//\r
-#include "afxres.h"\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-#undef APSTUDIO_READONLY_SYMBOLS\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-// English (U.S.) resources\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r
-#ifdef _WIN32\r
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\r
-#endif //_WIN32\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// TEXTINCLUDE\r
-//\r
-\r
-1 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "resource.h\0"\r
-END\r
-\r
-2 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "#include ""afxres.h""\r\n"\r
- "\0"\r
-END\r
-\r
-3 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "#define _AFX_NO_SPLITTER_RESOURCES\r\n"\r
- "#define _AFX_NO_OLE_RESOURCES\r\n"\r
- "#define _AFX_NO_TRACKER_RESOURCES\r\n"\r
- "#define _AFX_NO_PROPERTY_RESOURCES\r\n"\r
- "\r\n"\r
- "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"\r
- "#ifdef _WIN32\r\n"\r
- "LANGUAGE 9, 1\r\n"\r
- "#endif\r\n"\r
- "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n"\r
- "#include ""afxres.rc"" // Standard components\r\n"\r
- "#endif\0"\r
-END\r
-\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Menu\r
-//\r
-\r
-IDR_MENU_FILE MENU DISCARDABLE \r
-BEGIN\r
- MENUITEM "Autentificación...", IDM_AUTHENTICATION\r
- MENUITEM "Listas de control de acceso...", IDM_ACL_SET\r
- POPUP "Vo&lumen/Partición"\r
- BEGIN\r
- MENUITEM "&Propiedades...", IDM_VOLUME_PROPERTIES\r
- MENUITEM "&Actualizar nombre/mapa de ID", \r
- IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE\r
-\r
- END\r
- POPUP "Punto de monta&je"\r
- BEGIN\r
- MENUITEM "&Mostrar...", IDM_MOUNTPOINT_SHOW\r
- MENUITEM "&Eliminar...", IDM_MOUNTPOINT_REMOVE\r
- MENUITEM "&Crear...", IDM_MOUNTPOINT_MAKE\r
- END\r
- MENUITEM "&Descargar archivo/dir", IDM_FLUSH\r
- MENUITEM "Descargar vol&umen", IDM_FLUSH_VOLUME\r
- MENUITEM "Mostrar ser&vidores de archivo...", IDM_SHOW_SERVER\r
- MENUITEM "Mostrar &célula...", IDM_SHOWCELL\r
- MENUITEM "Mostrar estado de servidor...", IDM_SERVER_STATUS\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Dialog\r
-//\r
-\r
-IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | \r
- WS_SYSMENU\r
-CAPTION "Información de volumen"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Aceptar",IDOK,60,150,50,14,WS_DISABLED\r
- PUSHBUTTON "Ayuda",9,240,150,50,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,150,150,50,14\r
- LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP\r
- LTEXT "Archivo/directorio",IDC_STATIC,10,10,74,10\r
- LTEXT "Nombre",IDC_STATIC,90,10,71,8\r
- LTEXT "Cuota",IDC_STATIC,225,10,38,8\r
- LTEXT "Utilizado",IDC_STATIC,270,10,32,8\r
- LTEXT "%Utilizado",IDC_STATIC,305,10,34,8\r
- LTEXT "ID",IDC_STATIC,175,10,42,8\r
- LTEXT "Cuota nueva:",IDC_STATIC,10,127,46,10\r
- EDITTEXT IDC_NEW_QUOTA,58,126,50,12,ES_AUTOHSCROLL | WS_DISABLED\r
- PUSHBUTTON "Mostrar información de partición",IDC_PARTITION_INFO,\r
- 205,125,112,14,WS_DISABLED\r
- LTEXT "KBytes",IDC_STATIC,128,127,25,10\r
- CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | \r
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | \r
- WS_DISABLED,115,125,10,14\r
-END\r
-\r
-IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Establecer ACL de AFS"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- LTEXT "",IDC_DIR_NAME,51,12,259,10\r
- LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | \r
- WS_HSCROLL | WS_TABSTOP\r
- LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | \r
- WS_HSCROLL | WS_TABSTOP\r
- CONTROL "r - Leer",IDC_READ,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,52,55,10\r
- CONTROL "w - Grabar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,111,55,10\r
- CONTROL "l - Buscar",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,66,55,10\r
- CONTROL "d - Suprimir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,96,55,10\r
- CONTROL "i - Insertar",IDC_INSERT,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,81,55,10\r
- CONTROL "k - Bloquear",IDC_LOCK,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,126,55,10\r
- CONTROL "a - Administrar",IDC_ADMINISTER,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,200,141,61,10\r
- PUSHBUTTON "Aña&dir...",IDC_ADD,270,45,45,14\r
- PUSHBUTTON "&Eliminar",IDC_REMOVE,270,70,45,14,WS_DISABLED\r
- PUSHBUTTON "&Borrar",IDC_CLEAN,270,95,45,14\r
- DEFPUSHBUTTON "&Aceptar",IDOK,270,150,45,14\r
- PUSHBUTTON "Ca&ncelar",IDCANCEL,270,175,45,14\r
- PUSHBUTTON "A&yuda",9,270,201,45,14\r
- LTEXT "Directorio:",IDC_STATIC,15,12,34,10\r
- GROUPBOX "Permisos",IDC_STATIC,195,41,71,115\r
- LTEXT "normales",IDC_STATIC,10,36,30,8\r
- LTEXT "Nombre",IDC_COLUMN_3,69,38,36,8\r
- LTEXT "Permisos",IDC_STATIC,10,28,37,8\r
- LTEXT "negativos",IDC_STATIC,9,132,38,8\r
- LTEXT "Permisos",IDC_STATIC,9,124,38,8\r
- LTEXT "Nombre",IDC_COLUMN_4,69,133,42,8\r
- GROUPBOX "",IDC_STATIC,10,5,305,20\r
- PUSHBUTTON "Co&piar...",IDC_COPY,270,120,45,14\r
-END\r
-\r
-IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 223, 103\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Crear punto de montaje"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- EDITTEXT IDC_DIR,45,10,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_VOLUME,45,25,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL,45,40,170,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "Aceptar",IDOK,20,81,50,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,85,81,50,14\r
- PUSHBUTTON "Ayuda",9,150,81,50,14\r
- LTEXT "Directorio:",IDC_STATIC,8,12,33,10\r
- LTEXT "Volumen:",IDC_STATIC,10,28,33,10\r
- LTEXT "Célula:",IDC_STATIC,18,42,25,10\r
- GROUPBOX "",IDC_STATIC,47,52,115,20\r
- LTEXT "Opciones:",IDC_STATIC,10,59,35,10\r
- CONTROL "Normales",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | \r
- WS_GROUP,51,59,41,10\r
- CONTROL "Leer/Grabar",IDC_RW,"Button",BS_AUTORADIOBUTTON,103,59,\r
- 57,10\r
-END\r
-\r
-IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 250, 114\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Añadir entrada de ACL"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- EDITTEXT IDC_NAME,48,70,190,12,ES_AUTOHSCROLL\r
- CONTROL "r - Leer",IDC_READ,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,15,45,10\r
- CONTROL "l - Buscar",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,25,50,10\r
- CONTROL "i - Insertar",IDC_INSERT,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,35,50,10\r
- CONTROL "d - Suprimir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,45,50,10\r
- CONTROL "w - Grabar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,80,15,50,10\r
- CONTROL "k - Bloquear",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,80,25,55,10\r
- CONTROL "a - Administrar",IDC_ADMINISTER,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,80,35,60,10\r
- CONTROL "Entrada normal",IDC_ADD_NORMAL_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON | WS_GROUP,161,16,69,10\r
- CONTROL "Entrada negativa",IDC_ADD_NEGATIVE_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON,161,26,72,10\r
- PUSHBUTTON "Aceptar",IDOK,22,90,50,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,92,90,50,14\r
- PUSHBUTTON "Ayuda",9,162,90,50,14\r
- LTEXT "Nombre:",IDC_STATIC,10,72,32,8\r
- GROUPBOX "Permisos",IDC_STATIC,10,5,135,55\r
- GROUPBOX "Tipo de entrada",IDC_STATIC,155,6,84,34\r
-END\r
-\r
-IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 152, 82\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Información de partición"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- EDITTEXT IDC_TOTAL_SIZE,61,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | \r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_BLOCKS_FREE,61,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | \r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_PERCENT_USED,61,40,40,12,ES_AUTOHSCROLL | \r
- WS_DISABLED | NOT WS_TABSTOP\r
- DEFPUSHBUTTON "Cerrar",IDOK,14,62,40,14\r
- PUSHBUTTON "Ayuda",9,69,62,40,14\r
- LTEXT "% Utilizado:",IDC_STATIC,19,42,38,8\r
- LTEXT "Bloques libres:",IDC_STATIC,10,27,47,8\r
- LTEXT "Tamaño total:",IDC_STATIC,12,12,46,8\r
- LTEXT "Kilobytes",IDC_STATIC,106,12,33,8\r
- LTEXT "Kilobytes",IDC_STATIC,105,27,37,8\r
-END\r
-\r
-IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Copiar ACL"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY\r
- EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "Examinar",IDC_BROWSE,191,25,39,15\r
- CONTROL "Borrar entradas actuales:",IDC_CLEAR,"Button",\r
- BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,10,46,97,10\r
- DEFPUSHBUTTON "Aceptar",IDOK,20,65,50,14,WS_DISABLED\r
- PUSHBUTTON "Cancelar",IDCANCEL,95,65,50,14\r
- PUSHBUTTON "Ayuda",9,170,65,50,14\r
- LTEXT "Copiar desde:",IDC_STATIC,8,12,44,8\r
- LTEXT "Copiar a:",IDC_STATIC,22,29,30,8\r
-END\r
-\r
-IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Dónde está"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Cerrar",IDOK,65,145,50,14\r
- PUSHBUTTON "Ayuda",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "Archivo/directorio",IDC_STATIC,10,10,111,8\r
- LTEXT "Servidor(es) de archivos",IDC_STATIC,128,10,130,8\r
-END\r
-\r
-IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Resultados"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Cerrar",IDOK,65,145,50,14\r
- PUSHBUTTON "Ayuda",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "Archivo/directorio",-1,10,10,105,8\r
- LTEXT "Resultado",IDC_RESULTS_LABEL,128,10,148,8\r
-END\r
-\r
-IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Puntos de montaje"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Cerrar",IDOK,65,145,50,14\r
- PUSHBUTTON "Ayuda",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "Archivo",IDC_STATIC,10,11,53,8\r
- LTEXT "Volumen",IDC_STATIC,75,11,66,8\r
- LTEXT "Célula",IDC_STATIC,155,11,63,8\r
- LTEXT "Tipo",IDC_STATIC,230,11,55,8\r
-END\r
-\r
-IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Servidores no activos"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | \r
- WS_VSCROLL | WS_HSCROLL\r
- LTEXT "Estos servidores siguen sin estar activos:",IDC_STATIC,\r
- 10,10,182,8\r
- DEFPUSHBUTTON "Aceptar",IDOK,82,140,45,15\r
-END\r
-\r
-IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | \r
- WS_SYSMENU\r
-CAPTION "Estado de servidor"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- CONTROL "Célula local",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | \r
- WS_GROUP | WS_TABSTOP,20,20,136,8\r
- CONTROL "Célula especificada:",IDC_SPECIFIEDCELL,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,136,10\r
- CONTROL "Todas las células",IDC_ALL_CELLS,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,20,65,135,10\r
- CONTROL "No investigar servidores",IDC_DONTPROBESERVERS,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,24,87,93,10\r
- PUSHBUTTON "Mostrar estado",IDC_SHOWSTATUS,10,120,54,14\r
- GROUPBOX "Célula",IDC_STATIC,10,5,160,105,WS_GROUP\r
- GROUPBOX "",IDC_STATIC,20,80,100,20,WS_GROUP\r
- EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "Cerrar",IDCANCEL,67,120,48,14\r
- PUSHBUTTON "Ayuda",9,119,120,50,14\r
-END\r
-\r
-IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Autentificación"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- PUSHBUTTON "Obtener señales",ID_GET_TOKENS,12,137,57,14\r
- PUSHBUTTON "Descartar señales",ID_DISCARD_TOKENS,79,137,62,14\r
- PUSHBUTTON "Cerrar",IDCANCEL,151,137,55,14\r
- PUSHBUTTON "Ayuda",9,217,137,55,14\r
- LTEXT "Nombre de usuario",IDC_STATIC,10,9,88,8\r
- LTEXT "Nombre de célula",IDC_STATIC,104,9,113,8\r
- LTEXT "Caducidad",IDC_STATIC,222,9,49,8\r
-END\r
-\r
-IDD_KLOG_DIALOG DIALOGEX 0, 0, 179, 93\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "Obtener señales"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- EDITTEXT IDC_NAME,54,10,115,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PASSWORD,53,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL_NAME,53,50,115,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "Aceptar",IDOK,20,70,35,14,WS_DISABLED\r
- PUSHBUTTON "Cancelar",IDCANCEL,70,70,35,14\r
- PUSHBUTTON "Ayuda",9,120,70,35,14\r
- LTEXT "Nombre:",IDC_STATIC,21,12,29,8\r
- LTEXT "Contraseña:",IDC_STATIC,9,32,41,8\r
- LTEXT "Célula:",IDC_STATIC,25,52,24,8\r
-END\r
-\r
-IDD_UNLOG_DIALOG DIALOGEX 0, 0, 192, 63\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "Descartar señales"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Aceptar",IDOK,27,40,35,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,77,40,37,14\r
- PUSHBUTTON "Ayuda",9,129,40,35,14\r
- LTEXT "Célula:",IDC_STATIC,10,17,23,8\r
- EDITTEXT IDC_CELL_NAME,37,15,145,12,ES_AUTOHSCROLL\r
-END\r
-\r
-IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Submontajes"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | \r
- WS_VSCROLL | WS_HSCROLL | WS_TABSTOP\r
- PUSHBUTTON "Añadir ",IDC_ADD,202,20,45,14\r
- PUSHBUTTON "Suprimir",IDC_DELETE,202,39,45,14,WS_DISABLED\r
- PUSHBUTTON "Cambiar",IDC_CHANGE,202,58,45,14,WS_DISABLED\r
- LTEXT "Submontajes:",IDC_STATIC,10,10,50,8\r
- PUSHBUTTON "Aceptar",IDOK,202,145,45,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,202,163,45,14\r
-END\r
-\r
-IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 282, 79\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Añadir submontaje"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- EDITTEXT IDC_SHARE_NAME,107,8,163,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PATH_NAME,107,23,163,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "Aceptar",IDOK,22,53,45,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,92,53,45,14\r
- PUSHBUTTON "Ayuda",9,167,53,45,14\r
- LTEXT "Nombre de compartición:",IDC_STATIC,18,10,87,8\r
- LTEXT "Nombre de vía de acceso:",IDC_STATIC,19,25,86,8\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// DESIGNINFO\r
-//\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-GUIDELINES DESIGNINFO DISCARDABLE \r
-BEGIN\r
- IDD_MAKE_MOUNT_POINT, DIALOG\r
- BEGIN\r
- RIGHTMARGIN, 222\r
- END\r
-\r
- IDD_ADD_ACL, DIALOG\r
- BEGIN\r
- RIGHTMARGIN, 235\r
- BOTTOMMARGIN, 113\r
- END\r
-\r
- IDD_PARTITION_INFO, DIALOG\r
- BEGIN\r
- RIGHTMARGIN, 123\r
- END\r
-\r
- IDD_SERVERSTATUS, DIALOG\r
- BEGIN\r
- RIGHTMARGIN, 171\r
- END\r
-\r
- IDD_AUTHENTICATION, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 278\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 151\r
- END\r
-\r
- IDD_KLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 172\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 86\r
- END\r
-\r
- IDD_UNLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 185\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 56\r
- END\r
-\r
- IDD_SUBMTINFO, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 10\r
- RIGHTMARGIN, 247\r
- BOTTOMMARGIN, 177\r
- END\r
-\r
- IDD_ADD_SUBMOUNT, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 275\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 25\r
- END\r
-END\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// String Table\r
-//\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- ID_ACL_CLEAN "fs cleanacl"\r
- ID_ACL_COPY "fs copyacl"\r
- ID_ACL_LIST "fs listacl"\r
- ID_ACL_SET "fs setacl"\r
- ID_VOLUME_CHECK "fs checkvolumes"\r
- ID_VOLUME_DISKFREE "fs diskfree"\r
- ID_VOLUME_EXAMINE "fs examine"\r
- ID_VOLUME_FLUSH "fs flushvolume"\r
- ID_VOLUME_QUOTA_BRIEF "fs quota"\r
- ID_VOLUME_QUOTA_FULL "fs listquota"\r
- ID_VOLUME_QUOTA_SET "fs setvol"\r
- ID_VOLUME_SET "fs setvol"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- ID_FLUSH "fs flush"\r
- ID_WHEREIS "fs whereis"\r
- ID_SHOWCELL "fs whichcell"\r
- ID_MOUNTPOINT_SHOW "fs lsmount"\r
- ID_MOUNTPOINT_REMOVE "fs rmmount"\r
- ID_SHOW_SERVER "fs whereis"\r
- ID_AUTHENTICATE "Iniciar o finalizar la sesión de AFS"\r
- ID_SERVER_STATUS "Comprobar servidores"\r
- ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol"\r
- ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes"\r
- ID_MOUNTPOINT_MAKE "fs mkmount"\r
- IDS_FLUSH_FAILED "No puede descargarse archivo activo %o"\r
- IDS_FLUSH_ERROR "Error al descargar archivo %o: %s"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_FLUSH_OK "Archivo(s) seleccionado(s) descargado(s) satisfactoriamente"\r
- IDS_CANT_GET_CELL "Error al determinar célula:"\r
- IDS_FLUSH_VOLUME_ERROR "Error al descargar volumen para %o: %s"\r
- IDS_FLUSH_VOLUME_OK "Volumen descargado satisfactoriamente"\r
- IDS_WHERE_IS "Archivo %o está en sistema principal %s"\r
- IDS_CLEANACL_NOT_SUPPORTED \r
- "No puede limpiarse ACL para archivo %o: borrado de Acl no soportado para listas de acceso de DFS"\r
- IDS_ACL_IS_FINE "Lista de acceso para %o correcta"\r
- IDS_CLEANACL_INVALID_ARG \r
- "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. "\r
- IDS_ANY_STRING "%o"\r
- IDS_CLEANACL_DONE "Se han eliminado entradas de ACL obsoletas."\r
- ID_SUBMOUNTS "Crear o eliminar un submontaje de AFS"\r
- IDS_GETRIGHTS_ERROR "No se ha podido leer lista de acceso para directorio %o: %o"\r
- IDS_DFSACL_ERROR "No se han podido editar las ACL de DFS con este mandato"\r
- IDS_SAVE_ACL_ERROR "No se puede guardar ACL para %o: %o"\r
- IDS_SAVE_ACL_EINVAL_ERROR \r
- "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"\r
- IDS_ACL_READ_ERROR "No se puede leer ACL para %o: %o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_NO_DFS_COPY_ACL "No puede copiarse ACL en dir %o: copiar ACL no soportado para listas de acceso de DFS"\r
- IDS_COPY_ACL_EINVAL_ERROR \r
- "No se puede copiar ACL en dir %o: Argumento no válido, los posibles motivos incluyen: Archivo no en AFS."\r
- IDS_COPY_ACL_ERROR "No se puede copiar ACL en %o: %o"\r
- IDS_NOT_MOUNT_POINT_ERROR "%o no es un punto de montaje."\r
- IDS_LIST_MOUNT_POINT_ERROR "Error: %o"\r
- IDS_MAKE_MP_NOT_AFS_ERROR \r
- "Deben crearse puntos de montaje en el sistema de archivos de AFS"\r
- IDS_MOUNT_POINT_ERROR "Error al crear punto de montaje: %o"\r
- IDS_ERROR "Error: %o"\r
- IDS_DELETED "Suprimido satisfactoriamente"\r
- IDS_SET_QUOTA_ERROR "Error al definir cuota: %o"\r
- ID_SUBMOUNTS_CREATE "Crear un submontaje de AFS"\r
- ID_SUBMOUNTS_EDIT "Añadir, cambiar o suprimir submontajes de AFS"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_CHECK_SERVERS_ERROR "Error al comprobar el estado de máquinas de servidor de archivo: %o"\r
- IDS_ALL_SERVERS_RUNNING "Se están ejecutando todos los servidores."\r
- IDS_CHECK_VOLUMES_OK "Se están comprobando todas las correlaciones de ID de volumen/nombre."\r
- IDS_CHECK_VOLUMES_ERROR "Error al comprobar las correlaciones de ID de volumen/nombre: %o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_ACL_ENTRY_NAME_IN_USE \r
- "El nombre elegido ya se está utilizando. Por favor, entre un nombre diferente."\r
- IDS_REALLY_DEL_MOUNT_POINTS \r
- "¿Está seguro de que desea eliminar el (los) punto(s) de montaje seleccionado(s)?"\r
- IDS_DIR_DOES_NOT_EXIST_ERROR "El directorio '%o' no existe."\r
- IDS_CLEANACL_MSG "¡Las ACL obsoletas se eliminarán!"\r
- IDS_COPY_ACL_OK "ACL copiada satisfactoriamente."\r
- IDS_GET_TOKENS_NO_AFS_SERVICE \r
- "No puede leerse la información de señal: Es posible que no se haya iniciado el servicio de AFS."\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR \r
- "No puede leerse la información de señal: Error inesperado, código %d."\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR2 \r
- "No puede leerse la información de señal: Error inesperado, servicio %s.%s.%s, código %d."\r
- IDS_ENTER_QUOTA "Por favor, entre una cuota válida."\r
- IDS_AUTHENTICATION_ITEM "&Autentificación..."\r
- IDS_ACLS_ITEM "Listas de &control de acceso..."\r
- IDS_VOL_PART_ITEM "&Volumen/Partición"\r
- IDS_VOL_PART_PROPS_ITEM "&Propiedades"\r
- IDS_VOL_PART_REFRESH_ITEM "&Actualizar nombre/mapa de ID"\r
- IDS_MOUNT_POINT_ITEM "Punto de &montaje"\r
- IDS_MP_SHOW_ITEM "&Mostrar..."\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- AFX_IDS_APP_TITLE "AFS Client"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_MP_REMOVE_ITEM "&Eliminar..."\r
- IDS_MP_MAKE_ITEM "&Crear..."\r
- IDS_FLUSH_FILE_DIR_ITEM "&Descargar archivo/dir"\r
- IDS_FLUSH_VOLUME_ITEM "Descargar vol&umen"\r
- IDS_SHOW_FILE_SERVERS_ITEM "Mostrar ser&vidores de archivo..."\r
- IDS_SHOW_CELL_ITEM "Mostrar &célula..."\r
- IDS_SHOW_SERVER_STATUS_ITEM "Mostrar estado de servidor..."\r
- IDS_AFS_ITEM "&AFS"\r
- IDS_SUBMOUNTS_ITEM "Su&bmontajes"\r
- IDS_GET_SUBMT_INFO_ERROR \r
- "No se ha podido leer información de submontaje para el nombre de recurso compartido %o."\r
- IDS_REALLY_DELETE_SUBMT "Suprimir nombre de recurso compartido %o?"\r
- IDS_SUBMT_SAVE_FAILED "Han fallado los cambios en la base de datos de submontaje."\r
- IDS_SUBMOUNTS_CREATE_ITEM "&Añadir"\r
- IDS_SUBMOUNTS_EDIT_ITEM "&Editar..."\r
- IDS_EDIT_PATH_NAME "Editar nombre de vía de acceso"\r
- IDS_SHOW_CELL "Mostrar célula"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_SHOW_CELL_COLUMN "Célula"\r
- IDS_SHOW_FS "Mostrar servidores de archivo"\r
- IDS_SHOW_FS_COLUMN "Servidor(es) de archivo"\r
- IDS_REMOVE_MP "Eliminar puntos de montaje"\r
- IDS_REMOVE_MP_COLUMN "Resultado"\r
-END\r
-\r
-#endif // English (U.S.) resources\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-\r
-#ifndef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 3 resource.\r
-//\r
-#define _AFX_NO_SPLITTER_RESOURCES\r
-#define _AFX_NO_OLE_RESOURCES\r
-#define _AFX_NO_TRACKER_RESOURCES\r
-#define _AFX_NO_PROPERTY_RESOURCES\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r
-#ifdef _WIN32\r
-LANGUAGE 9, 1\r
-#endif\r
-#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources\r
-#include "afxres.rc" // Standard components\r
-#endif\r
-/////////////////////////////////////////////////////////////////////////////\r
-#endif // not APSTUDIO_INVOKED\r
-\r
+#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
+
* directory or online at http://www.openafs.org/dl/license10.html
*/
-#include "resource.h"\r
-\r
-#define APSTUDIO_READONLY_SYMBOLS\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 2 resource.\r
-//\r
-#include "afxres.h"\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-#undef APSTUDIO_READONLY_SYMBOLS\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-// Japanese resources\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)\r
-#ifdef _WIN32\r
-LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT\r
-#endif //_WIN32\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// TEXTINCLUDE\r
-//\r
-\r
-1 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "resource.h\0"\r
-END\r
-\r
-2 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "#include ""afxres.h""\r\n"\r
- "\0"\r
-END\r
-\r
-3 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "#define _AFX_NO_SPLITTER_RESOURCES\r\n"\r
- "#define _AFX_NO_OLE_RESOURCES\r\n"\r
- "#define _AFX_NO_TRACKER_RESOURCES\r\n"\r
- "#define _AFX_NO_PROPERTY_RESOURCES\r\n"\r
- "\r\n"\r
- "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)\r\n"\r
- "#ifdef _WIN32\r\n"\r
- "LANGUAGE 17, 1\r\n"\r
- "#endif\r\n"\r
- "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n"\r
- "#include ""afxres.rc"" // Standard components\r\n"\r
- "#endif\0"\r
-END\r
-\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Menu\r
-//\r
-\r
-IDR_MENU_FILE MENU DISCARDABLE \r
-BEGIN\r
- MENUITEM "\94F\8fØ...", IDM_AUTHENTICATION\r
- MENUITEM "\83A\83N\83Z\83X\90§\8cä\83\8a\83X\83g...", IDM_ACL_SET\r
- POPUP "\83{\83\8a\83\85\81[\83\80 / \83p\81[\83e\83B\83V\83\87\83\93(&V)"\r
- BEGIN\r
- MENUITEM "\83v\83\8d\83p\83e\83B\81[(&P)...", IDM_VOLUME_PROPERTIES\r
- MENUITEM "\96¼\91O /ID \83}\83b\83s\83\93\83O\82Ì\8dÅ\90V\95\\8e¦(&R)", \r
- IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE\r
-\r
- END\r
- POPUP "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g(&M)"\r
- BEGIN\r
- MENUITEM "\95\\8e¦(&S)...", IDM_MOUNTPOINT_SHOW\r
- MENUITEM "\8dí\8f\9c(&R)...", IDM_MOUNTPOINT_REMOVE\r
- MENUITEM "\8dì\90¬(&M)...", IDM_MOUNTPOINT_MAKE\r
- END\r
- MENUITEM "\83t\83@\83C\83\8b / \83f\83B\83\8c\83N\83g\83\8a\81[\82Ì\83t\83\89\83b\83V\83\85(&F)", IDM_FLUSH\r
- MENUITEM "\83{\83\8a\83\85\81[\83\80\82Ì\83t\83\89\83b\83V\83\85(&U)", IDM_FLUSH_VOLUME\r
- MENUITEM "\83t\83@\83C\83\8b\81E\83T\81[\83o\81[\82Ì\95\\8e¦(&F)...", IDM_SHOW_SERVER\r
- MENUITEM "\83Z\83\8b\82Ì\95\\8e¦(&C)...", IDM_SHOWCELL\r
- MENUITEM "\83T\81[\83o\81[\8fó\8bµ\82Ì\95\\8e¦...", IDM_SERVER_STATUS\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Dialog\r
-//\r
-\r
-IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | \r
- WS_SYSMENU\r
-CAPTION "\83{\83\8a\83\85\81[\83\80\8fî\95ñ"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- DEFPUSHBUTTON "\97¹\89ð",IDOK,60,150,50,14,WS_DISABLED\r
- PUSHBUTTON "\83w\83\8b\83v",9,240,150,50,14\r
- PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,150,150,50,14\r
- LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP\r
- LTEXT "\83t\83@\83C\83\8b / \83f\83B\83\8c\83N\83g\83\8a\81[",IDC_STATIC,10,3,55,17\r
- LTEXT "\96¼\91O",IDC_STATIC,90,10,20,8\r
- LTEXT "\8a\84\82è\93\96\82Ä\97Ê",IDC_STATIC,225,10,41,8\r
- LTEXT "\8eg\97p\97Ê",IDC_STATIC,270,10,25,8\r
- LTEXT "\8eg\97p\97¦ (%)",IDC_STATIC,305,10,39,8\r
- LTEXT "ID",IDC_STATIC,175,10,10,8\r
- LTEXT "\90V\8bK\8a\84\82è\93\96\82Ä\97Ê:",IDC_STATIC,10,127,56,10\r
- EDITTEXT IDC_NEW_QUOTA,75,126,50,12,ES_AUTOHSCROLL | WS_DISABLED\r
- PUSHBUTTON "\83p\81[\83e\83B\83V\83\87\83\93\8fî\95ñ\82Ì\95\\8e¦",IDC_PARTITION_INFO,205,125,\r
- 102,14,WS_DISABLED\r
- LTEXT "KB",IDC_STATIC,145,127,25,10\r
- CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | \r
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | \r
- WS_DISABLED,128,125,10,14\r
-END\r
-\r
-IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "AFS ACL \82Ì\90Ý\92è"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- LTEXT "",IDC_DIR_NAME,76,12,239,10\r
- LISTBOX IDC_NORMAL_RIGHTS,8,46,145,75,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | \r
- WS_HSCROLL | WS_TABSTOP\r
- LISTBOX IDC_NEGATIVE_ENTRIES,8,143,145,75,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | \r
- WS_HSCROLL | WS_TABSTOP\r
- CONTROL "r - Read (\93Ç\82Ý\8eæ\82è)",IDC_READ,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,160,52,81,10\r
- CONTROL "w - Write (\8f\91\82«\8d\9e\82Ý)",IDC_WRITE,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,160,111,81,10\r
- CONTROL "l - Lookup (\8c\9f\8dõ)",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,160,66,81,10\r
- CONTROL "d - Delete (\8dí\8f\9c)",IDC_DELETE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,160,96,81,10\r
- CONTROL "i - Insert (\91}\93ü)",IDC_INSERT,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,160,81,81,10\r
- CONTROL "k - Lock (\83\8d\83b\83N)",IDC_LOCK,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,160,126,81,10\r
- CONTROL "a - Administer (\8aÇ\97\9d)",IDC_ADMINISTER,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,160,141,81,10\r
- PUSHBUTTON "\92Ç\89Á(&A)...",IDC_ADD,246,45,69,14\r
- PUSHBUTTON "\8dí\8f\9c(&R)",IDC_REMOVE,246,70,69,14,WS_DISABLED\r
- PUSHBUTTON "\83N\83\8a\81[\83j\83\93\83O(&C)",IDC_CLEAN,246,95,69,14\r
- DEFPUSHBUTTON "\97¹\89ð(&O)",IDOK,246,150,69,14\r
- PUSHBUTTON "\8eæ\8fÁ\82µ(&N)",IDCANCEL,246,175,69,14\r
- PUSHBUTTON "\83w\83\8b\83v(&H)",9,246,201,69,14\r
- LTEXT "\83f\83B\83\8c\83N\83g\83\8a\81[:",IDC_STATIC,15,12,60,10\r
- GROUPBOX "\83A\83N\83Z\83X\8c ",IDC_STATIC,155,41,89,115\r
- LTEXT "\95W\8f\80",IDC_STATIC,10,30,23,8\r
- LTEXT "\96¼\91O",IDC_COLUMN_3,69,38,20,8\r
- LTEXT "\83A\83N\83Z\83X\8c ",IDC_STATIC,10,38,41,8\r
- LTEXT "\8bÖ\8e~",IDC_STATIC,10,127,17,8\r
- LTEXT "\83A\83N\83Z\83X\8c ",IDC_STATIC,10,135,41,8\r
- LTEXT "\96¼\91O",IDC_COLUMN_4,69,135,20,8\r
- GROUPBOX "",IDC_STATIC,10,5,305,20\r
- PUSHBUTTON "\83R\83s\81[(&P)...",IDC_COPY,246,120,69,14\r
-END\r
-\r
-IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 249, 103\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82Ì\8dì\90¬"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- EDITTEXT IDC_DIR,70,10,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_VOLUME,70,25,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL,70,40,170,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "\97¹\89ð",IDOK,20,81,50,14\r
- PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,85,81,50,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,150,81,50,14\r
- LTEXT "\83f\83B\83\8c\83N\83g\83\8a\81[:",IDC_STATIC,9,12,45,10\r
- LTEXT "\83{\83\8a\83\85\81[\83\80:",IDC_STATIC,9,28,45,10\r
- LTEXT "\83Z\83\8b:",IDC_STATIC,9,42,45,10\r
- GROUPBOX "",IDC_STATIC,70,52,145,20\r
- LTEXT "\83I\83v\83V\83\87\83\93:",IDC_STATIC,9,59,45,10\r
- CONTROL "\92Ê\8fí",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | \r
- WS_GROUP,75,59,41,10\r
- CONTROL "\93Ç\82Ý\8eæ\82è/\8f\91\82«\8d\9e\82Ý",IDC_RW,"Button",BS_AUTORADIOBUTTON,\r
- 120,59,77,10\r
-END\r
-\r
-IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 245, 113\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "ACL \8d\80\96Ú\82Ì\92Ç\89Á"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- EDITTEXT IDC_NAME,37,70,190,12,ES_AUTOHSCROLL\r
- CONTROL "r - Read (\93Ç\82Ý\8eæ\82è)",IDC_READ,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,15,73,10\r
- CONTROL "l - Lookup (\8c\9f\8dõ)",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,25,67,10\r
- CONTROL "i - Insert (\91}\93ü)",IDC_INSERT,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,35,60,10\r
- CONTROL "d - Delete (\8dí\8f\9c)",IDC_DELETE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,45,67,10\r
- CONTROL "w - Write (\8f\91\82«\8d\9e\82Ý)",IDC_WRITE,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,100,15,79,10\r
- CONTROL "k - Lock (\83\8d\83b\83N)",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,100,25,69,10\r
- CONTROL "a - Administer (\8aÇ\97\9d)",IDC_ADMINISTER,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,100,35,81,10\r
- CONTROL "\95W\8f\80\8d\80\96Ú",IDC_ADD_NORMAL_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON | WS_GROUP,191,16,43,10\r
- CONTROL "\8bÖ\8e~\8d\80\96Ú",IDC_ADD_NEGATIVE_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON,191,26,43,10\r
- PUSHBUTTON "\97¹\89ð",IDOK,22,90,50,14\r
- PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,92,90,50,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,162,90,50,14\r
- LTEXT "\96¼\91O:",IDC_STATIC,10,72,18,8\r
- GROUPBOX "\83A\83N\83Z\83X\8c ",IDC_STATIC,10,5,175,55\r
- GROUPBOX "\8d\80\96Ú\83^\83C\83v",IDC_STATIC,186,6,53,34\r
-END\r
-\r
-IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "\83p\81[\83e\83B\83V\83\87\83\93\8fî\95ñ"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- EDITTEXT IDC_TOTAL_SIZE,60,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | \r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_BLOCKS_FREE,60,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | \r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_PERCENT_USED,60,40,40,12,ES_AUTOHSCROLL | \r
- WS_DISABLED | NOT WS_TABSTOP\r
- DEFPUSHBUTTON "\83N\83\8d\81[\83Y",IDOK,14,62,40,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,69,62,40,14\r
- LTEXT "\8eg\97p\97¦(%):",IDC_STATIC,10,42,42,8\r
- LTEXT "\8bó\82«\83u\83\8d\83b\83N:",IDC_STATIC,10,27,42,8\r
- LTEXT "\8d\87\8cv\83T\83C\83Y:",IDC_STATIC,10,12,42,8\r
- LTEXT "KB",IDC_STATIC,107,12,10,8\r
- LTEXT "KB",IDC_STATIC,107,27,10,8\r
-END\r
-\r
-IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "ACL \82Ì\83R\83s\81["\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- EDITTEXT IDC_FROM_DIR,56,10,175,12,ES_AUTOHSCROLL | ES_READONLY\r
- EDITTEXT IDC_TO_DIR,56,26,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "\8eQ\8fÆ",IDC_BROWSE,195,25,35,15\r
- CONTROL "\8c»\8dÝ\82Ì\8d\80\96Ú\82ð\8fÁ\8b\8e:",IDC_CLEAR,"Button",BS_AUTOCHECKBOX | \r
- BS_LEFTTEXT | WS_TABSTOP,10,46,82,10\r
- DEFPUSHBUTTON "\97¹\89ð",IDOK,20,65,50,14,WS_DISABLED\r
- PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,95,65,50,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,170,65,50,14\r
- LTEXT "\83R\83s\81[\8c³:",IDC_STATIC,14,12,34,8\r
- LTEXT "\83R\83s\81[\90æ:",IDC_STATIC,14,29,34,8\r
-END\r
-\r
-IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "\8c\9f\8dõ"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- DEFPUSHBUTTON "\83N\83\8d\81[\83Y",IDOK,65,145,50,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,21,280,115,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "\83t\83@\83C\83\8b/\83f\83B\83\8c\83N\83g\83\8a\81[",IDC_STATIC,10,10,91,8\r
- LTEXT "\83t\83@\83C\83\8b\81E\83T\81[\83o\81[",IDC_STATIC,128,10,73,8\r
-END\r
-\r
-IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "\8c\8b\89Ê"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- DEFPUSHBUTTON "\83N\83\8d\81[\83Y",IDOK,65,145,50,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,22,280,115,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "\83t\83@\83C\83\8b/\83f\83B\83\8c\83N\83g\83\8a\81[",-1,10,10,91,8\r
- LTEXT "\8c\8b\89Ê",IDC_RESULTS_LABEL,128,10,17,8\r
-END\r
-\r
-IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- DEFPUSHBUTTON "\83N\83\8d\81[\83Y",IDOK,65,145,50,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,23,280,115,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "\83t\83@\83C\83\8b",IDC_STATIC,10,11,33,8\r
- LTEXT "\83{\83\8a\83\85\81[\83\80",IDC_STATIC,75,11,41,8\r
- LTEXT "\83Z\83\8b",IDC_STATIC,155,11,17,8\r
- LTEXT "\83^\83C\83v",IDC_STATIC,230,11,25,8\r
-END\r
-\r
-IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "\83T\81[\83o\81[\82ª\83_\83E\83\93"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- LISTBOX 1029,10,22,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | \r
- WS_VSCROLL | WS_HSCROLL\r
- LTEXT "\88È\89º\82Ì\83T\81[\83o\81[\82Í\82Ü\82¾\83_\83E\83\93\82µ\82Ä\82¢\82Ü\82·:",IDC_STATIC,10,10,\r
- 146,8\r
- DEFPUSHBUTTON "\97¹\89ð",IDOK,82,140,45,15\r
-END\r
-\r
-IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | \r
- WS_SYSMENU\r
-CAPTION "\83T\81[\83o\81[\8fó\8bµ"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- CONTROL "\83\8d\81[\83J\83\8b\81E\83Z\83\8b",IDC_LOCALCELL,"Button",\r
- BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,20,20,59,8\r
- CONTROL "\8ew\92è\83Z\83\8b:",IDC_SPECIFIEDCELL,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,59,10\r
- CONTROL "\82·\82×\82Ä\82Ì\83Z\83\8b",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON | \r
- WS_TABSTOP,20,65,59,10\r
- CONTROL "\83T\81[\83o\81[\82ð\83v\83\8d\81[\83u\82µ\82È\82¢",IDC_DONTPROBESERVERS,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,24,87,107,10\r
- PUSHBUTTON "\8fó\8bµ\82Ì\95\\8e¦",IDC_SHOWSTATUS,10,120,50,14\r
- GROUPBOX "\83Z\83\8b",IDC_STATIC,10,5,160,105,WS_GROUP\r
- GROUPBOX "",IDC_STATIC,20,80,120,20,WS_GROUP\r
- EDITTEXT IDC_CELL_NAME,30,48,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "\83N\83\8d\81[\83Y",IDCANCEL,65,120,50,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,120,120,50,14\r
-END\r
-\r
-IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "\94F\8fØ"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- LISTBOX IDC_TOKEN_LIST,10,19,265,110,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- PUSHBUTTON "\83g\81[\83N\83\93\82Ì\8eæ\93¾",ID_GET_TOKENS,15,137,62,14\r
- PUSHBUTTON "\83g\81[\83N\83\93\82Ì\94j\8aü",ID_DISCARD_TOKENS,80,137,62,14\r
- PUSHBUTTON "\83N\83\8d\81[\83Y",IDCANCEL,145,137,55,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,215,137,55,14\r
- LTEXT "\83\86\81[\83U\81[\96¼",IDC_STATIC,10,9,41,8\r
- LTEXT "\83Z\83\8b\96¼",IDC_STATIC,104,9,25,8\r
- LTEXT "\97L\8cø\8aú\8cÀ",IDC_STATIC,222,9,33,8\r
-END\r
-\r
-IDD_KLOG_DIALOG DIALOGEX 0, 0, 179, 93\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "\83g\81[\83N\83\93\82Ì\8eæ\93¾"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- EDITTEXT IDC_NAME,52,10,115,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PASSWORD,52,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL_NAME,52,50,115,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "\97¹\89ð",IDOK,20,70,35,14,WS_DISABLED\r
- PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,70,70,35,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,120,70,35,14\r
- LTEXT "\96¼\91O:",IDC_STATIC,25,13,20,8\r
- LTEXT "\83p\83X\83\8f\81[\83h:",IDC_STATIC,10,32,35,8\r
- LTEXT "\83Z\83\8b:",IDC_STATIC,26,51,19,8\r
-END\r
-\r
-IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "\83g\81[\83N\83\93\82Ì\94j\8aü"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- DEFPUSHBUTTON "\97¹\89ð",IDOK,25,40,35,14\r
- PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,75,40,35,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,125,40,35,14\r
- LTEXT "\83Z\83\8b:",IDC_STATIC,10,17,18,8\r
- EDITTEXT IDC_CELL_NAME,37,15,136,12,ES_AUTOHSCROLL\r
-END\r
-\r
-IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "\83T\83u\83}\83E\83\93\83g"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | \r
- WS_VSCROLL | WS_HSCROLL | WS_TABSTOP\r
- PUSHBUTTON "\92Ç\89Á ",IDC_ADD,202,20,45,14\r
- PUSHBUTTON "\8dí\8f\9c",IDC_DELETE,202,39,45,14,WS_DISABLED\r
- PUSHBUTTON "\95Ï\8dX",IDC_CHANGE,202,58,45,14,WS_DISABLED\r
- LTEXT "\83T\83u\83}\83E\83\93\83g:",IDC_STATIC,10,10,50,8\r
- PUSHBUTTON "\97¹\89ð",IDOK,202,145,45,14\r
- PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,202,163,45,14\r
-END\r
-\r
-IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "\83T\83u\83}\83E\83\93\83g\82Ì\92Ç\89Á"\r
-FONT 9, "\82l\82r \82o\83S\83V\83b\83N"\r
-BEGIN\r
- EDITTEXT IDC_SHARE_NAME,62,8,163,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PATH_NAME,62,23,163,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "\97¹\89ð",IDOK,22,53,45,14\r
- PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,92,53,45,14\r
- PUSHBUTTON "\83w\83\8b\83v",9,167,53,45,14\r
- LTEXT "\8b¤\97p\96¼:",IDC_STATIC,19,10,29,8\r
- LTEXT "\83p\83X\96¼:",IDC_STATIC,19,25,28,8\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// DESIGNINFO\r
-//\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-GUIDELINES DESIGNINFO DISCARDABLE \r
-BEGIN\r
- IDD_SERVERSTATUS, DIALOG\r
- BEGIN\r
- RIGHTMARGIN, 171\r
- END\r
-\r
- IDD_AUTHENTICATION, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 278\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 151\r
- END\r
-\r
- IDD_KLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 165\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 86\r
- END\r
-\r
- IDD_UNLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 178\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 56\r
- END\r
-\r
- IDD_SUBMTINFO, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 10\r
- RIGHTMARGIN, 247\r
- BOTTOMMARGIN, 177\r
- END\r
-\r
- IDD_ADD_SUBMOUNT, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 228\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 25\r
- END\r
-END\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// String Table\r
-//\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- ID_ACL_CLEAN "fs cleanacl"\r
- ID_ACL_COPY "fs copyacl"\r
- ID_ACL_LIST "fs listacl"\r
- ID_ACL_SET "fs setacl"\r
- ID_VOLUME_CHECK "fs checkvolumes"\r
- ID_VOLUME_DISKFREE "fs diskfree"\r
- ID_VOLUME_EXAMINE "fs examine"\r
- ID_VOLUME_FLUSH "fs flushvolume"\r
- ID_VOLUME_QUOTA_BRIEF "fs quota"\r
- ID_VOLUME_QUOTA_FULL "fs listquota"\r
- ID_VOLUME_QUOTA_SET "fs setvol"\r
- ID_VOLUME_SET "fs setvol"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- ID_FLUSH "fs flush"\r
- ID_WHEREIS "fs whereis"\r
- ID_SHOWCELL "fs whichcell"\r
- ID_MOUNTPOINT_SHOW "fs lsmount"\r
- ID_MOUNTPOINT_REMOVE "fs rmmount"\r
- ID_SHOW_SERVER "fs whereis"\r
- ID_AUTHENTICATE "AFS \82Ì\83\8d\83O\83C\83\93\82Ü\82½\82Í\83\8d\83O\83A\83E\83g"\r
- ID_SERVER_STATUS "\83T\81[\83o\81[\82Ì\8c\9f\8d¸"\r
- ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol"\r
- ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes"\r
- ID_MOUNTPOINT_MAKE "fs mkmount"\r
- IDS_FLUSH_FAILED "\8a\88\93®\8fó\91Ô\82Ì\83t\83@\83C\83\8b %o \82ð\83t\83\89\83b\83V\83\85\82Å\82«\82Ü\82¹\82ñ"\r
- IDS_FLUSH_ERROR "\83t\83@\83C\83\8b %o \82Ì\83t\83\89\83b\83V\83\85\81E\83G\83\89\81[: %s"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_FLUSH_OK "\91I\91ð\82³\82ê\82½\83t\83@\83C\83\8b\82ª\90³\8fí\82É\83t\83\89\83b\83V\83\85\82³\82ê\82Ü\82µ\82½"\r
- IDS_CANT_GET_CELL "\83Z\83\8b\82Ì\94»\95Ê\83G\83\89\81[: "\r
- IDS_FLUSH_VOLUME_ERROR "%o \82Ì\83{\83\8a\83\85\81[\83\80\82Ì\83t\83\89\83b\83V\83\85\81E\83G\83\89\81[: %s"\r
- IDS_FLUSH_VOLUME_OK "\83{\83\8a\83\85\81[\83\80\82ª\90³\8fí\82É\83t\83\89\83b\83V\83\85\82³\82ê\82Ü\82µ\82½"\r
- IDS_WHERE_IS "\83t\83@\83C\83\8b %o \82Í\83z\83X\83g %s \82É\82 \82è\82Ü\82·"\r
- IDS_CLEANACL_NOT_SUPPORTED \r
- "\83t\83@\83C\83\8b %o \82Ì ACL \82ð\83N\83\8a\81[\83j\83\93\83O\82Å\82«\82Ü\82¹\82ñ: ACL \82Ì\83N\83\8a\81[\83j\83\93\83O\82Í DFS \83A\83N\83Z\83X\81E\83\8a\83X\83g\82Å\82Í\83T\83|\81[\83g\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ"\r
- IDS_ACL_IS_FINE "%o \82Ì\83A\83N\83Z\83X\81E\83\8a\83X\83g\82Í\90³\8fí\82Å\82·"\r
- IDS_CLEANACL_INVALID_ARG \r
- "\83t\83@\83C\83\8b %o \82Ì ACL \82ð\83N\83\8a\81[\83j\83\93\83O\82Å\82«\82Ü\82¹\82ñ: \96³\8cø\82È\88ø\82«\90\94\81A\8dl\82¦\82ç\82ê\82é\97\9d\97R: \83t\83@\83C\83\8b\82ª vice \82É\82È\82¢\81A\82Ü\82½\82Í\83A\83N\83Z\83X\90§\8cä\83\8a\83X\83g\82É\83\86\81[\83U\81[\82ª\91½\82·\82¬\82é"\r
- IDS_ANY_STRING "%o"\r
- IDS_CLEANACL_DONE "\8cÃ\82¢ ACL \8d\80\96Ú\82ª\8dí\8f\9c\82³\82ê\82Ü\82µ\82½\81B"\r
- ID_SUBMOUNTS "AFS \83T\83u\83}\83E\83\93\83g\82Ì\8dì\90¬\82Ü\82½\82Í\8dí\8f\9c"\r
- IDS_GETRIGHTS_ERROR "\83f\83B\83\8c\83N\83g\83\8a\81[ %o \82Ì\83A\83N\83Z\83X\81E\83\8a\83X\83g\82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ: %o"\r
- IDS_DFSACL_ERROR "DFS ACL \82Í\82±\82Ì\83R\83}\83\93\83h\82Å\95Ò\8fW\82Å\82«\82Ü\82¹\82ñ"\r
- IDS_SAVE_ACL_ERROR "%o \82Ì ACL \82ð\95Û\8aÇ\82Å\82«\82Ü\82¹\82ñ: %o"\r
- IDS_SAVE_ACL_EINVAL_ERROR \r
- "%o \82Ì ACL \82ð\95Û\8aÇ\82Å\82«\82Ü\82¹\82ñ: \96³\8cø\82È\88ø\82«\90\94\81A\8dl\82¦\82ç\82ê\82é\97\9d\97R: \83t\83@\83C\83\8b\82ª AFS \82É\82È\82¢\81A\83A\83N\83Z\83X\90§\8cä\83\8a\83X\83g\82É\83\86\81[\83U\81[\82ª\91½\82·\82¬\82é\81A\91¶\8dÝ\82µ\82È\82¢\83\86\81[\83U\81[\82ð\83A\83N\83Z\83X\90§\8cä\83\8a\83X\83g\82É\92Ç\89Á\82µ\82æ\82¤\82Æ\82µ\82½"\r
- IDS_ACL_READ_ERROR "%o \82Ì ACL \82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ: %o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_NO_DFS_COPY_ACL "\83f\83B\83\8c\83N\83g\83\8a\81[ %o \82É ACL \82ð\83R\83s\81[\82Å\82«\82Ü\82¹\82ñ: ACL \82Ì\83R\83s\81[\82Í DFS\83A\83N\83Z\83X\81E\83\8a\83X\83g\82Å\82Í\83T\83|\81[\83g\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ"\r
- IDS_COPY_ACL_EINVAL_ERROR \r
- "\83f\83B\83\8c\83N\83g\83\8a\81[ %o \82É ACL \82ð\83R\83s\81[\82Å\82«\82Ü\82¹\82ñ: \96³\8cø\82È\88ø\82«\90\94\81A\8dl\82¦\82ç\82ê\82é\97\9d\97R: \83t\83@\83C\83\8b\82ª AFS \82É\82È\82¢\81B"\r
- IDS_COPY_ACL_ERROR "ACL \82ð %o \82É\83R\83s\81[\82Å\82«\82Ü\82¹\82ñ: %o"\r
- IDS_NOT_MOUNT_POINT_ERROR "%o \82Í\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B"\r
- IDS_LIST_MOUNT_POINT_ERROR "\83G\83\89\81[: %o"\r
- IDS_MAKE_MP_NOT_AFS_ERROR \r
- "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82ð AFS \83t\83@\83C\83\8b\81E\83V\83X\83e\83\80\93à\82É\8dì\90¬\82·\82é\95K\97v\82ª\82 \82è\82Ü\82·"\r
- IDS_MOUNT_POINT_ERROR "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82Ì\8dì\90¬\83G\83\89\81[: %o"\r
- IDS_ERROR "\83G\83\89\81[: %o"\r
- IDS_DELETED "\90³\8fí\82É\8dí\8f\9c\82³\82ê\82Ü\82µ\82½"\r
- IDS_SET_QUOTA_ERROR "\8a\84\82è\93\96\82Ä\97Ê\82Ì\90Ý\92è\83G\83\89\81[: %o"\r
- ID_SUBMOUNTS_CREATE "AFS \83T\83u\83}\83E\83\93\83g\82Ì\8dì\90¬"\r
- ID_SUBMOUNTS_EDIT "AFS \83T\83u\83}\83E\83\93\83g\82Ì\92Ç\89Á\81A\95Ï\8dX\81A\82Ü\82½\82Í\8dí\8f\9c"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_CHECK_SERVERS_ERROR "\83t\83@\83C\83\8b\81E\83T\81[\83o\81[\81E\83}\83V\83\93\82Ì\8fó\8bµ\82Ì\8c\9f\8d¸\83G\83\89\81[: %o"\r
- IDS_ALL_SERVERS_RUNNING "\82·\82×\82Ä\82Ì\83T\81[\83o\81[\82ª\8eÀ\8ds\92\86\82Å\82·\81B"\r
- IDS_CHECK_VOLUMES_OK "\82·\82×\82Ä\82Ì\83{\83\8a\83\85\81[\83\80 ID/\96¼\91O\82Ì\83}\83b\83s\83\93\83O\82ª\8c\9f\8d¸\82³\82ê\82Ü\82µ\82½\81B"\r
- IDS_CHECK_VOLUMES_ERROR "\83{\83\8a\83\85\81[\83\80 ID/\96¼\91O\83}\83b\83s\83\93\83O\82Ì\8c\9f\8d¸\83G\83\89\81[: %o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_ACL_ENTRY_NAME_IN_USE \r
- "\91I\91ð\82µ\82½\96¼\91O\82Í\82·\82Å\82É\8eg\97p\82³\82ê\82Ä\82¢\82Ü\82·\81B\95Ê\82Ì\96¼\91O\82ð\93ü\97Í\82µ\82Ä\82\82¾\82³\82¢\81B"\r
- IDS_REALLY_DEL_MOUNT_POINTS \r
- "\91I\91ð\82µ\82½\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82ð\8dí\8f\9c\82µ\82Ä\82à\82¢\82¢\82Å\82·\82©?"\r
- IDS_DIR_DOES_NOT_EXIST_ERROR "\83f\83B\83\8c\83N\83g\83\8a\81[ '%o' \82ª\91¶\8dÝ\82µ\82Ü\82¹\82ñ\81B"\r
- IDS_CLEANACL_MSG "\8cÃ\82¢ ACL \82Í\8dí\8f\9c\82³\82ê\82Ü\82·!"\r
- IDS_COPY_ACL_OK "ACL \82ª\90³\8fí\82É\83R\83s\81[\82³\82ê\82Ü\82µ\82½\81B"\r
- IDS_GET_TOKENS_NO_AFS_SERVICE \r
- "\83g\81[\83N\83\93\8fî\95ñ\82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ: AFS \83T\81[\83r\83X\82ª\8aJ\8en\82³\82ê\82Ä\82¢\82È\82¢\89Â\94\\90«\82ª\82 \82è\82Ü\82·\81B"\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR \r
- "\83g\81[\83N\83\93\8fî\95ñ\82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ: \97\\8aú\82µ\82È\82¢\83G\83\89\81[\81A\83R\81[\83h %d "\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR2 \r
- "\83g\81[\83N\83\93\8fî\95ñ\82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ: \97\\8aú\82µ\82È\82¢\83G\83\89\81[\81A\83T\81[\83r\83X %s.%s.%s, \83R\81[\83h %d "\r
- IDS_ENTER_QUOTA "\97L\8cø\82È\8a\84\82è\93\96\82Ä\97Ê\82ð\93ü\97Í\82µ\82Ä\82\82¾\82³\82¢\81B"\r
- IDS_AUTHENTICATION_ITEM "\94F\8fØ(&A)..."\r
- IDS_ACLS_ITEM "\83A\83N\83Z\83X\90§\8cä\83\8a\83X\83g(&C)..."\r
- IDS_VOL_PART_ITEM "\83{\83\8a\83\85\81[\83\80/\83p\81[\83e\83B\83V\83\87\83\93(&V)"\r
- IDS_VOL_PART_PROPS_ITEM "\83v\83\8d\83p\83e\83B\81[(&P)"\r
- IDS_VOL_PART_REFRESH_ITEM "\96¼\91O /ID \83}\83b\83s\83\93\83O\82Ì\8dÅ\90V\95\\8e¦(&R)"\r
- IDS_MOUNT_POINT_ITEM "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g(&M)"\r
- IDS_MP_SHOW_ITEM "\95\\8e¦(&S)..."\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- AFX_IDS_APP_TITLE "AFS \83N\83\89\83C\83A\83\93\83g"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_MP_REMOVE_ITEM "\8dí\8f\9c(&R)..."\r
- IDS_MP_MAKE_ITEM "\8dì\90¬(&M)..."\r
- IDS_FLUSH_FILE_DIR_ITEM "\83t\83@\83C\83\8b/\83f\83B\83\8c\83N\83g\83\8a\81[\82Ì\83t\83\89\83b\83V\83\85(&F)"\r
- IDS_FLUSH_VOLUME_ITEM "\83{\83\8a\83\85\81[\83\80\82Ì\83t\83\89\83b\83V\83\85(&U)"\r
- IDS_SHOW_FILE_SERVERS_ITEM "\83t\83@\83C\83\8b\81E\83T\81[\83o\81[\82Ì\95\\8e¦(&F)..."\r
- IDS_SHOW_CELL_ITEM "\83Z\83\8b\82Ì\95\\8e¦(&C)..."\r
- IDS_SHOW_SERVER_STATUS_ITEM "\83T\81[\83o\81[\8fó\8bµ\82Ì\95\\8e¦..."\r
- IDS_AFS_ITEM "AFS(&A)"\r
- IDS_SUBMOUNTS_ITEM "\83T\83u\83}\83E\83\93\83g(&B)"\r
- IDS_GET_SUBMT_INFO_ERROR "\8b¤\97p\96¼ %o \82Ì\83T\83u\83}\83E\83\93\83g\8fî\95ñ\82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ\81B"\r
- IDS_REALLY_DELETE_SUBMT "\8b¤\97p\96¼ %o \82ð\8dí\8f\9c\82µ\82Ü\82·\82©?"\r
- IDS_SUBMT_SAVE_FAILED "\83T\83u\83}\83E\83\93\83g\81E\83f\81[\83^\83x\81[\83X\82É\91Î\82·\82é\95Ï\8dX\82ª\8e¸\94s\82µ\82Ü\82µ\82½\81B"\r
- IDS_SUBMOUNTS_CREATE_ITEM "\92Ç\89Á(&A)"\r
- IDS_SUBMOUNTS_EDIT_ITEM "\95Ò\8fW(&E)..."\r
- IDS_EDIT_PATH_NAME "\83p\83X\96¼\82Ì\95Ò\8fW"\r
- IDS_SHOW_CELL "\83Z\83\8b\82ð\95\\8e¦"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_SHOW_CELL_COLUMN "\83Z\83\8b"\r
- IDS_SHOW_FS "\83t\83@\83C\83\8b\81E\83T\81[\83o\81[\82ð\95\\8e¦"\r
- IDS_SHOW_FS_COLUMN "\83t\83@\83C\83\8b\81E\83T\81[\83o\81["\r
- IDS_REMOVE_MP "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82ð\8dí\8f\9c"\r
- IDS_REMOVE_MP_COLUMN "\8c\8b\89Ê"\r
-END\r
-\r
-#endif // Japanese resources\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-\r
-#ifndef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 3 resource.\r
-//\r
-#define _AFX_NO_SPLITTER_RESOURCES\r
-#define _AFX_NO_OLE_RESOURCES\r
-#define _AFX_NO_TRACKER_RESOURCES\r
-#define _AFX_NO_PROPERTY_RESOURCES\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)\r
-#ifdef _WIN32\r
-LANGUAGE 17, 1\r
-#endif\r
-#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources\r
-#include "afxres.rc" // Standard components\r
-#endif\r
-/////////////////////////////////////////////////////////////////////////////\r
-#endif // not APSTUDIO_INVOKED\r
-\r
+#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 "\94F\8fØ...", IDM_AUTHENTICATION
+ MENUITEM "\83A\83N\83Z\83X\90§\8cä\83\8a\83X\83g...", IDM_ACL_SET
+ POPUP "\83{\83\8a\83\85\81[\83\80 / \83p\81[\83e\83B\83V\83\87\83\93(&V)"
+ BEGIN
+ MENUITEM "\83v\83\8d\83p\83e\83B\81[(&P)...", IDM_VOLUME_PROPERTIES
+ MENUITEM "\96¼\91O /ID \83}\83b\83s\83\93\83O\82Ì\8dÅ\90V\95\\8e¦(&R)",
+ IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE
+
+ END
+ POPUP "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g(&M)"
+ BEGIN
+ MENUITEM "\95\\8e¦(&S)...", IDM_MOUNTPOINT_SHOW
+ MENUITEM "\8dí\8f\9c(&R)...", IDM_MOUNTPOINT_REMOVE
+ MENUITEM "\8dì\90¬(&M)...", IDM_MOUNTPOINT_MAKE
+ END
+ MENUITEM "\83t\83@\83C\83\8b / \83f\83B\83\8c\83N\83g\83\8a\81[\82Ì\83t\83\89\83b\83V\83\85(&F)", IDM_FLUSH
+ MENUITEM "\83{\83\8a\83\85\81[\83\80\82Ì\83t\83\89\83b\83V\83\85(&U)", IDM_FLUSH_VOLUME
+ MENUITEM "\83t\83@\83C\83\8b\81E\83T\81[\83o\81[\82Ì\95\\8e¦(&F)...", IDM_SHOW_SERVER
+ MENUITEM "\83Z\83\8b\82Ì\95\\8e¦(&C)...", IDM_SHOWCELL
+ MENUITEM "\83T\81[\83o\81[\8fó\8bµ\82Ì\95\\8e¦...", 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 "\83{\83\8a\83\85\81[\83\80\8fî\95ñ"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ DEFPUSHBUTTON "\97¹\89ð",IDOK,60,150,50,14,WS_DISABLED
+ PUSHBUTTON "\83w\83\8b\83v",9,240,150,50,14
+ PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,150,150,50,14
+ LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS |
+ LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
+ LTEXT "\83t\83@\83C\83\8b / \83f\83B\83\8c\83N\83g\83\8a\81[",IDC_STATIC,10,3,55,17
+ LTEXT "\96¼\91O",IDC_STATIC,90,10,20,8
+ LTEXT "\8a\84\82è\93\96\82Ä\97Ê",IDC_STATIC,225,10,41,8
+ LTEXT "\8eg\97p\97Ê",IDC_STATIC,270,10,25,8
+ LTEXT "\8eg\97p\97¦ (%)",IDC_STATIC,305,10,39,8
+ LTEXT "ID",IDC_STATIC,175,10,10,8
+ LTEXT "\90V\8bK\8a\84\82è\93\96\82Ä\97Ê:",IDC_STATIC,10,127,56,10
+ EDITTEXT IDC_NEW_QUOTA,75,126,50,12,ES_AUTOHSCROLL | WS_DISABLED
+ PUSHBUTTON "\83p\81[\83e\83B\83V\83\87\83\93\8fî\95ñ\82Ì\95\\8e¦",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 \82Ì\90Ý\92è"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+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 (\93Ç\82Ý\8eæ\82è)",IDC_READ,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,160,52,81,10
+ CONTROL "w - Write (\8f\91\82«\8d\9e\82Ý)",IDC_WRITE,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,160,111,81,10
+ CONTROL "l - Lookup (\8c\9f\8dõ)",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,160,66,81,10
+ CONTROL "d - Delete (\8dí\8f\9c)",IDC_DELETE,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,160,96,81,10
+ CONTROL "i - Insert (\91}\93ü)",IDC_INSERT,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,160,81,81,10
+ CONTROL "k - Lock (\83\8d\83b\83N)",IDC_LOCK,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,160,126,81,10
+ CONTROL "a - Administer (\8aÇ\97\9d)",IDC_ADMINISTER,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,160,141,81,10
+ PUSHBUTTON "\92Ç\89Á(&A)...",IDC_ADD,246,45,69,14
+ PUSHBUTTON "\8dí\8f\9c(&R)",IDC_REMOVE,246,70,69,14,WS_DISABLED
+ PUSHBUTTON "\83N\83\8a\81[\83j\83\93\83O(&C)",IDC_CLEAN,246,95,69,14
+ DEFPUSHBUTTON "\97¹\89ð(&O)",IDOK,246,150,69,14
+ PUSHBUTTON "\8eæ\8fÁ\82µ(&N)",IDCANCEL,246,175,69,14
+ PUSHBUTTON "\83w\83\8b\83v(&H)",9,246,201,69,14
+ LTEXT "\83f\83B\83\8c\83N\83g\83\8a\81[:",IDC_STATIC,15,12,60,10
+ GROUPBOX "\83A\83N\83Z\83X\8c ",IDC_STATIC,155,41,89,115
+ LTEXT "\95W\8f\80",IDC_STATIC,10,30,23,8
+ LTEXT "\96¼\91O",IDC_COLUMN_3,69,38,20,8
+ LTEXT "\83A\83N\83Z\83X\8c ",IDC_STATIC,10,38,41,8
+ LTEXT "\8bÖ\8e~",IDC_STATIC,10,127,17,8
+ LTEXT "\83A\83N\83Z\83X\8c ",IDC_STATIC,10,135,41,8
+ LTEXT "\96¼\91O",IDC_COLUMN_4,69,135,20,8
+ GROUPBOX "",IDC_STATIC,10,5,305,20
+ PUSHBUTTON "\83R\83s\81[(&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 "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82Ì\8dì\90¬"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+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 "\97¹\89ð",IDOK,20,81,50,14
+ PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,85,81,50,14
+ PUSHBUTTON "\83w\83\8b\83v",9,150,81,50,14
+ LTEXT "\83f\83B\83\8c\83N\83g\83\8a\81[:",IDC_STATIC,9,12,45,10
+ LTEXT "\83{\83\8a\83\85\81[\83\80:",IDC_STATIC,9,28,45,10
+ LTEXT "\83Z\83\8b:",IDC_STATIC,9,42,45,10
+ GROUPBOX "",IDC_STATIC,70,52,145,20
+ LTEXT "\83I\83v\83V\83\87\83\93:",IDC_STATIC,9,59,45,10
+ CONTROL "\92Ê\8fí",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON |
+ WS_GROUP,75,59,41,10
+ CONTROL "\93Ç\82Ý\8eæ\82è/\8f\91\82«\8d\9e\82Ý",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 \8d\80\96Ú\82Ì\92Ç\89Á"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ EDITTEXT IDC_NAME,37,70,190,12,ES_AUTOHSCROLL
+ CONTROL "r - Read (\93Ç\82Ý\8eæ\82è)",IDC_READ,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,20,15,73,10
+ CONTROL "l - Lookup (\8c\9f\8dõ)",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,20,25,67,10
+ CONTROL "i - Insert (\91}\93ü)",IDC_INSERT,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,20,35,60,10
+ CONTROL "d - Delete (\8dí\8f\9c)",IDC_DELETE,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,20,45,67,10
+ CONTROL "w - Write (\8f\91\82«\8d\9e\82Ý)",IDC_WRITE,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,100,15,79,10
+ CONTROL "k - Lock (\83\8d\83b\83N)",IDC_LOCK2,"Button",BS_AUTOCHECKBOX |
+ WS_TABSTOP,100,25,69,10
+ CONTROL "a - Administer (\8aÇ\97\9d)",IDC_ADMINISTER,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,100,35,81,10
+ CONTROL "\95W\8f\80\8d\80\96Ú",IDC_ADD_NORMAL_ENTRY,"Button",
+ BS_AUTORADIOBUTTON | WS_GROUP,191,16,43,10
+ CONTROL "\8bÖ\8e~\8d\80\96Ú",IDC_ADD_NEGATIVE_ENTRY,"Button",
+ BS_AUTORADIOBUTTON,191,26,43,10
+ PUSHBUTTON "\97¹\89ð",IDOK,22,90,50,14
+ PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,92,90,50,14
+ PUSHBUTTON "\83w\83\8b\83v",9,162,90,50,14
+ LTEXT "\96¼\91O:",IDC_STATIC,10,72,18,8
+ GROUPBOX "\83A\83N\83Z\83X\8c ",IDC_STATIC,10,5,175,55
+ GROUPBOX "\8d\80\96Ú\83^\83C\83v",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 "\83p\81[\83e\83B\83V\83\87\83\93\8fî\95ñ"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+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 "\83N\83\8d\81[\83Y",IDOK,14,62,40,14
+ PUSHBUTTON "\83w\83\8b\83v",9,69,62,40,14
+ LTEXT "\8eg\97p\97¦(%):",IDC_STATIC,10,42,42,8
+ LTEXT "\8bó\82«\83u\83\8d\83b\83N:",IDC_STATIC,10,27,42,8
+ LTEXT "\8d\87\8cv\83T\83C\83Y:",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 \82Ì\83R\83s\81["
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ EDITTEXT IDC_FROM_DIR,56,10,175,12,ES_AUTOHSCROLL | ES_READONLY
+ EDITTEXT IDC_TO_DIR,56,26,130,12,ES_AUTOHSCROLL
+ PUSHBUTTON "\8eQ\8fÆ",IDC_BROWSE,195,25,35,15
+ CONTROL "\8c»\8dÝ\82Ì\8d\80\96Ú\82ð\8fÁ\8b\8e:",IDC_CLEAR,"Button",BS_AUTOCHECKBOX |
+ BS_LEFTTEXT | WS_TABSTOP,10,46,82,10
+ DEFPUSHBUTTON "\97¹\89ð",IDOK,20,65,50,14,WS_DISABLED
+ PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,95,65,50,14
+ PUSHBUTTON "\83w\83\8b\83v",9,170,65,50,14
+ LTEXT "\83R\83s\81[\8c³:",IDC_STATIC,14,12,34,8
+ LTEXT "\83R\83s\81[\90æ:",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 "\8c\9f\8dõ"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ DEFPUSHBUTTON "\83N\83\8d\81[\83Y",IDOK,65,145,50,14
+ PUSHBUTTON "\83w\83\8b\83v",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 "\83t\83@\83C\83\8b/\83f\83B\83\8c\83N\83g\83\8a\81[",IDC_STATIC,10,10,91,8
+ LTEXT "\83t\83@\83C\83\8b\81E\83T\81[\83o\81[",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 "\8c\8b\89Ê"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ DEFPUSHBUTTON "\83N\83\8d\81[\83Y",IDOK,65,145,50,14
+ PUSHBUTTON "\83w\83\8b\83v",9,180,145,50,14
+ LISTBOX IDC_LIST,10,22,280,115,LBS_USETABSTOPS |
+ LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL |
+ WS_TABSTOP
+ LTEXT "\83t\83@\83C\83\8b/\83f\83B\83\8c\83N\83g\83\8a\81[",-1,10,10,91,8
+ LTEXT "\8c\8b\89Ê",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 "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ DEFPUSHBUTTON "\83N\83\8d\81[\83Y",IDOK,65,145,50,14
+ PUSHBUTTON "\83w\83\8b\83v",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 "\83t\83@\83C\83\8b",IDC_STATIC,10,11,33,8
+ LTEXT "\83{\83\8a\83\85\81[\83\80",IDC_STATIC,75,11,41,8
+ LTEXT "\83Z\83\8b",IDC_STATIC,155,11,17,8
+ LTEXT "\83^\83C\83v",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 "\83T\81[\83o\81[\82ª\83_\83E\83\93"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ LISTBOX 1029,10,22,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT |
+ WS_VSCROLL | WS_HSCROLL
+ LTEXT "\88È\89º\82Ì\83T\81[\83o\81[\82Í\82Ü\82¾\83_\83E\83\93\82µ\82Ä\82¢\82Ü\82·:",IDC_STATIC,10,10,
+ 146,8
+ DEFPUSHBUTTON "\97¹\89ð",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 "\83T\81[\83o\81[\8fó\8bµ"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ CONTROL "\83\8d\81[\83J\83\8b\81E\83Z\83\8b",IDC_LOCALCELL,"Button",
+ BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,20,20,59,8
+ CONTROL "\8ew\92è\83Z\83\8b:",IDC_SPECIFIEDCELL,"Button",
+ BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,59,10
+ CONTROL "\82·\82×\82Ä\82Ì\83Z\83\8b",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON |
+ WS_TABSTOP,20,65,59,10
+ CONTROL "\83T\81[\83o\81[\82ð\83v\83\8d\81[\83u\82µ\82È\82¢",IDC_DONTPROBESERVERS,"Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,24,87,107,10
+ PUSHBUTTON "\8fó\8bµ\82Ì\95\\8e¦",IDC_SHOWSTATUS,10,120,50,14
+ GROUPBOX "\83Z\83\8b",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 "\83N\83\8d\81[\83Y",IDCANCEL,65,120,50,14
+ PUSHBUTTON "\83w\83\8b\83v",9,120,120,50,14
+END
+
+IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "\94F\8fØ"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ LISTBOX IDC_TOKEN_LIST,10,19,265,110,LBS_SORT | LBS_USETABSTOPS |
+ LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL |
+ WS_TABSTOP
+ PUSHBUTTON "\83g\81[\83N\83\93\82Ì\8eæ\93¾",ID_GET_TOKENS,15,137,62,14
+ PUSHBUTTON "\83g\81[\83N\83\93\82Ì\94j\8aü",ID_DISCARD_TOKENS,80,137,62,14
+ PUSHBUTTON "\83N\83\8d\81[\83Y",IDCANCEL,145,137,55,14
+ PUSHBUTTON "\83w\83\8b\83v",9,215,137,55,14
+ LTEXT "\83\86\81[\83U\81[\96¼",IDC_STATIC,10,9,41,8
+ LTEXT "\83Z\83\8b\96¼",IDC_STATIC,104,9,25,8
+ LTEXT "\97L\8cø\8aú\8cÀ",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 "\83g\81[\83N\83\93\82Ì\8eæ\93¾"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+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 "\97¹\89ð",IDOK,20,70,35,14,WS_DISABLED
+ PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,70,70,35,14
+ PUSHBUTTON "\83w\83\8b\83v",9,120,70,35,14
+ LTEXT "\96¼\91O:",IDC_STATIC,25,13,20,8
+ LTEXT "\83p\83X\83\8f\81[\83h:",IDC_STATIC,10,32,35,8
+ LTEXT "\83Z\83\8b:",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 "\83g\81[\83N\83\93\82Ì\94j\8aü"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ DEFPUSHBUTTON "\97¹\89ð",IDOK,25,40,35,14
+ PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,75,40,35,14
+ PUSHBUTTON "\83w\83\8b\83v",9,125,40,35,14
+ LTEXT "\83Z\83\8b:",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 "\83T\83u\83}\83E\83\93\83g"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT |
+ WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
+ PUSHBUTTON "\92Ç\89Á ",IDC_ADD,202,20,45,14
+ PUSHBUTTON "\8dí\8f\9c",IDC_DELETE,202,39,45,14,WS_DISABLED
+ PUSHBUTTON "\95Ï\8dX",IDC_CHANGE,202,58,45,14,WS_DISABLED
+ LTEXT "\83T\83u\83}\83E\83\93\83g:",IDC_STATIC,10,10,50,8
+ PUSHBUTTON "\97¹\89ð",IDOK,202,145,45,14
+ PUSHBUTTON "\8eæ\8fÁ\82µ",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 "\83T\83u\83}\83E\83\93\83g\82Ì\92Ç\89Á"
+FONT 9, "\82l\82r \82o\83S\83V\83b\83N"
+BEGIN
+ EDITTEXT IDC_SHARE_NAME,62,8,163,12,ES_AUTOHSCROLL
+ EDITTEXT IDC_PATH_NAME,62,23,163,12,ES_AUTOHSCROLL
+ PUSHBUTTON "\97¹\89ð",IDOK,22,53,45,14
+ PUSHBUTTON "\8eæ\8fÁ\82µ",IDCANCEL,92,53,45,14
+ PUSHBUTTON "\83w\83\8b\83v",9,167,53,45,14
+ LTEXT "\8b¤\97p\96¼:",IDC_STATIC,19,10,29,8
+ LTEXT "\83p\83X\96¼:",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 \82Ì\83\8d\83O\83C\83\93\82Ü\82½\82Í\83\8d\83O\83A\83E\83g"
+ ID_SERVER_STATUS "\83T\81[\83o\81[\82Ì\8c\9f\8d¸"
+ ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol"
+ ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes"
+ ID_MOUNTPOINT_MAKE "fs mkmount"
+ IDS_FLUSH_FAILED "\8a\88\93®\8fó\91Ô\82Ì\83t\83@\83C\83\8b %o \82ð\83t\83\89\83b\83V\83\85\82Å\82«\82Ü\82¹\82ñ"
+ IDS_FLUSH_ERROR "\83t\83@\83C\83\8b %o \82Ì\83t\83\89\83b\83V\83\85\81E\83G\83\89\81[: %s"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_FLUSH_OK "\91I\91ð\82³\82ê\82½\83t\83@\83C\83\8b\82ª\90³\8fí\82É\83t\83\89\83b\83V\83\85\82³\82ê\82Ü\82µ\82½"
+ IDS_CANT_GET_CELL "\83Z\83\8b\82Ì\94»\95Ê\83G\83\89\81[: "
+ IDS_FLUSH_VOLUME_ERROR "%o \82Ì\83{\83\8a\83\85\81[\83\80\82Ì\83t\83\89\83b\83V\83\85\81E\83G\83\89\81[: %s"
+ IDS_FLUSH_VOLUME_OK "\83{\83\8a\83\85\81[\83\80\82ª\90³\8fí\82É\83t\83\89\83b\83V\83\85\82³\82ê\82Ü\82µ\82½"
+ IDS_WHERE_IS "\83t\83@\83C\83\8b %o \82Í\83z\83X\83g %s \82É\82 \82è\82Ü\82·"
+ IDS_CLEANACL_NOT_SUPPORTED
+ "\83t\83@\83C\83\8b %o \82Ì ACL \82ð\83N\83\8a\81[\83j\83\93\83O\82Å\82«\82Ü\82¹\82ñ: ACL \82Ì\83N\83\8a\81[\83j\83\93\83O\82Í DFS \83A\83N\83Z\83X\81E\83\8a\83X\83g\82Å\82Í\83T\83|\81[\83g\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ"
+ IDS_ACL_IS_FINE "%o \82Ì\83A\83N\83Z\83X\81E\83\8a\83X\83g\82Í\90³\8fí\82Å\82·"
+ IDS_CLEANACL_INVALID_ARG
+ "\83t\83@\83C\83\8b %o \82Ì ACL \82ð\83N\83\8a\81[\83j\83\93\83O\82Å\82«\82Ü\82¹\82ñ: \96³\8cø\82È\88ø\82«\90\94\81A\8dl\82¦\82ç\82ê\82é\97\9d\97R: \83t\83@\83C\83\8b\82ª vice \82É\82È\82¢\81A\82Ü\82½\82Í\83A\83N\83Z\83X\90§\8cä\83\8a\83X\83g\82É\83\86\81[\83U\81[\82ª\91½\82·\82¬\82é"
+ IDS_ANY_STRING "%o"
+ IDS_CLEANACL_DONE "\8cÃ\82¢ ACL \8d\80\96Ú\82ª\8dí\8f\9c\82³\82ê\82Ü\82µ\82½\81B"
+ ID_SUBMOUNTS "AFS \83T\83u\83}\83E\83\93\83g\82Ì\8dì\90¬\82Ü\82½\82Í\8dí\8f\9c"
+ IDS_GETRIGHTS_ERROR "\83f\83B\83\8c\83N\83g\83\8a\81[ %o \82Ì\83A\83N\83Z\83X\81E\83\8a\83X\83g\82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ: %o"
+ IDS_DFSACL_ERROR "DFS ACL \82Í\82±\82Ì\83R\83}\83\93\83h\82Å\95Ò\8fW\82Å\82«\82Ü\82¹\82ñ"
+ IDS_SAVE_ACL_ERROR "%o \82Ì ACL \82ð\95Û\8aÇ\82Å\82«\82Ü\82¹\82ñ: %o"
+ IDS_SAVE_ACL_EINVAL_ERROR
+ "%o \82Ì ACL \82ð\95Û\8aÇ\82Å\82«\82Ü\82¹\82ñ: \96³\8cø\82È\88ø\82«\90\94\81A\8dl\82¦\82ç\82ê\82é\97\9d\97R: \83t\83@\83C\83\8b\82ª AFS \82É\82È\82¢\81A\83A\83N\83Z\83X\90§\8cä\83\8a\83X\83g\82É\83\86\81[\83U\81[\82ª\91½\82·\82¬\82é\81A\91¶\8dÝ\82µ\82È\82¢\83\86\81[\83U\81[\82ð\83A\83N\83Z\83X\90§\8cä\83\8a\83X\83g\82É\92Ç\89Á\82µ\82æ\82¤\82Æ\82µ\82½"
+ IDS_ACL_READ_ERROR "%o \82Ì ACL \82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ: %o"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_NO_DFS_COPY_ACL "\83f\83B\83\8c\83N\83g\83\8a\81[ %o \82É ACL \82ð\83R\83s\81[\82Å\82«\82Ü\82¹\82ñ: ACL \82Ì\83R\83s\81[\82Í DFS\83A\83N\83Z\83X\81E\83\8a\83X\83g\82Å\82Í\83T\83|\81[\83g\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ"
+ IDS_COPY_ACL_EINVAL_ERROR
+ "\83f\83B\83\8c\83N\83g\83\8a\81[ %o \82É ACL \82ð\83R\83s\81[\82Å\82«\82Ü\82¹\82ñ: \96³\8cø\82È\88ø\82«\90\94\81A\8dl\82¦\82ç\82ê\82é\97\9d\97R: \83t\83@\83C\83\8b\82ª AFS \82É\82È\82¢\81B"
+ IDS_COPY_ACL_ERROR "ACL \82ð %o \82É\83R\83s\81[\82Å\82«\82Ü\82¹\82ñ: %o"
+ IDS_NOT_MOUNT_POINT_ERROR "%o \82Í\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B"
+ IDS_LIST_MOUNT_POINT_ERROR "\83G\83\89\81[: %o"
+ IDS_MAKE_MP_NOT_AFS_ERROR
+ "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82ð AFS \83t\83@\83C\83\8b\81E\83V\83X\83e\83\80\93à\82É\8dì\90¬\82·\82é\95K\97v\82ª\82 \82è\82Ü\82·"
+ IDS_MOUNT_POINT_ERROR "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82Ì\8dì\90¬\83G\83\89\81[: %o"
+ IDS_ERROR "\83G\83\89\81[: %o"
+ IDS_DELETED "\90³\8fí\82É\8dí\8f\9c\82³\82ê\82Ü\82µ\82½"
+ IDS_SET_QUOTA_ERROR "\8a\84\82è\93\96\82Ä\97Ê\82Ì\90Ý\92è\83G\83\89\81[: %o"
+ ID_SUBMOUNTS_CREATE "AFS \83T\83u\83}\83E\83\93\83g\82Ì\8dì\90¬"
+ ID_SUBMOUNTS_EDIT "AFS \83T\83u\83}\83E\83\93\83g\82Ì\92Ç\89Á\81A\95Ï\8dX\81A\82Ü\82½\82Í\8dí\8f\9c"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_CHECK_SERVERS_ERROR "\83t\83@\83C\83\8b\81E\83T\81[\83o\81[\81E\83}\83V\83\93\82Ì\8fó\8bµ\82Ì\8c\9f\8d¸\83G\83\89\81[: %o"
+ IDS_ALL_SERVERS_RUNNING "\82·\82×\82Ä\82Ì\83T\81[\83o\81[\82ª\8eÀ\8ds\92\86\82Å\82·\81B"
+ IDS_CHECK_VOLUMES_OK "\82·\82×\82Ä\82Ì\83{\83\8a\83\85\81[\83\80 ID/\96¼\91O\82Ì\83}\83b\83s\83\93\83O\82ª\8c\9f\8d¸\82³\82ê\82Ü\82µ\82½\81B"
+ IDS_CHECK_VOLUMES_ERROR "\83{\83\8a\83\85\81[\83\80 ID/\96¼\91O\83}\83b\83s\83\93\83O\82Ì\8c\9f\8d¸\83G\83\89\81[: %o"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_ACL_ENTRY_NAME_IN_USE
+ "\91I\91ð\82µ\82½\96¼\91O\82Í\82·\82Å\82É\8eg\97p\82³\82ê\82Ä\82¢\82Ü\82·\81B\95Ê\82Ì\96¼\91O\82ð\93ü\97Í\82µ\82Ä\82\82¾\82³\82¢\81B"
+ IDS_REALLY_DEL_MOUNT_POINTS
+ "\91I\91ð\82µ\82½\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82ð\8dí\8f\9c\82µ\82Ä\82à\82¢\82¢\82Å\82·\82©?"
+ IDS_DIR_DOES_NOT_EXIST_ERROR "\83f\83B\83\8c\83N\83g\83\8a\81[ '%o' \82ª\91¶\8dÝ\82µ\82Ü\82¹\82ñ\81B"
+ IDS_CLEANACL_MSG "\8cÃ\82¢ ACL \82Í\8dí\8f\9c\82³\82ê\82Ü\82·!"
+ IDS_COPY_ACL_OK "ACL \82ª\90³\8fí\82É\83R\83s\81[\82³\82ê\82Ü\82µ\82½\81B"
+ IDS_GET_TOKENS_NO_AFS_SERVICE
+ "\83g\81[\83N\83\93\8fî\95ñ\82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ: AFS \83T\81[\83r\83X\82ª\8aJ\8en\82³\82ê\82Ä\82¢\82È\82¢\89Â\94\\90«\82ª\82 \82è\82Ü\82·\81B"
+ IDS_GET_TOKENS_UNEXPECTED_ERROR
+ "\83g\81[\83N\83\93\8fî\95ñ\82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ: \97\\8aú\82µ\82È\82¢\83G\83\89\81[\81A\83R\81[\83h %d "
+ IDS_GET_TOKENS_UNEXPECTED_ERROR2
+ "\83g\81[\83N\83\93\8fî\95ñ\82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ: \97\\8aú\82µ\82È\82¢\83G\83\89\81[\81A\83T\81[\83r\83X %s.%s.%s, \83R\81[\83h %d "
+ IDS_ENTER_QUOTA "\97L\8cø\82È\8a\84\82è\93\96\82Ä\97Ê\82ð\93ü\97Í\82µ\82Ä\82\82¾\82³\82¢\81B"
+ IDS_AUTHENTICATION_ITEM "\94F\8fØ(&A)..."
+ IDS_ACLS_ITEM "\83A\83N\83Z\83X\90§\8cä\83\8a\83X\83g(&C)..."
+ IDS_VOL_PART_ITEM "\83{\83\8a\83\85\81[\83\80/\83p\81[\83e\83B\83V\83\87\83\93(&V)"
+ IDS_VOL_PART_PROPS_ITEM "\83v\83\8d\83p\83e\83B\81[(&P)"
+ IDS_VOL_PART_REFRESH_ITEM "\96¼\91O /ID \83}\83b\83s\83\93\83O\82Ì\8dÅ\90V\95\\8e¦(&R)"
+ IDS_MOUNT_POINT_ITEM "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g(&M)"
+ IDS_MP_SHOW_ITEM "\95\\8e¦(&S)..."
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ AFX_IDS_APP_TITLE "AFS \83N\83\89\83C\83A\83\93\83g"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_MP_REMOVE_ITEM "\8dí\8f\9c(&R)..."
+ IDS_MP_MAKE_ITEM "\8dì\90¬(&M)..."
+ IDS_FLUSH_FILE_DIR_ITEM "\83t\83@\83C\83\8b/\83f\83B\83\8c\83N\83g\83\8a\81[\82Ì\83t\83\89\83b\83V\83\85(&F)"
+ IDS_FLUSH_VOLUME_ITEM "\83{\83\8a\83\85\81[\83\80\82Ì\83t\83\89\83b\83V\83\85(&U)"
+ IDS_SHOW_FILE_SERVERS_ITEM "\83t\83@\83C\83\8b\81E\83T\81[\83o\81[\82Ì\95\\8e¦(&F)..."
+ IDS_SHOW_CELL_ITEM "\83Z\83\8b\82Ì\95\\8e¦(&C)..."
+ IDS_SHOW_SERVER_STATUS_ITEM "\83T\81[\83o\81[\8fó\8bµ\82Ì\95\\8e¦..."
+ IDS_AFS_ITEM "AFS(&A)"
+ IDS_SUBMOUNTS_ITEM "\83T\83u\83}\83E\83\93\83g(&B)"
+ IDS_GET_SUBMT_INFO_ERROR "\8b¤\97p\96¼ %o \82Ì\83T\83u\83}\83E\83\93\83g\8fî\95ñ\82ð\93Ç\82Ý\8eæ\82ê\82Ü\82¹\82ñ\81B"
+ IDS_REALLY_DELETE_SUBMT "\8b¤\97p\96¼ %o \82ð\8dí\8f\9c\82µ\82Ü\82·\82©?"
+ IDS_SUBMT_SAVE_FAILED "\83T\83u\83}\83E\83\93\83g\81E\83f\81[\83^\83x\81[\83X\82É\91Î\82·\82é\95Ï\8dX\82ª\8e¸\94s\82µ\82Ü\82µ\82½\81B"
+ IDS_SUBMOUNTS_CREATE_ITEM "\92Ç\89Á(&A)"
+ IDS_SUBMOUNTS_EDIT_ITEM "\95Ò\8fW(&E)..."
+ IDS_EDIT_PATH_NAME "\83p\83X\96¼\82Ì\95Ò\8fW"
+ IDS_SHOW_CELL "\83Z\83\8b\82ð\95\\8e¦"
+END
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_SHOW_CELL_COLUMN "\83Z\83\8b"
+ IDS_SHOW_FS "\83t\83@\83C\83\8b\81E\83T\81[\83o\81[\82ð\95\\8e¦"
+ IDS_SHOW_FS_COLUMN "\83t\83@\83C\83\8b\81E\83T\81[\83o\81["
+ IDS_REMOVE_MP "\83}\83E\83\93\83g\81E\83|\83C\83\93\83g\82ð\8dí\8f\9c"
+ IDS_REMOVE_MP_COLUMN "\8c\8b\89Ê"
+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
+
* directory or online at http://www.openafs.org/dl/license10.html
*/
-#include "resource.h"\r
-\r
-#define APSTUDIO_READONLY_SYMBOLS\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 2 resource.\r
-//\r
-#include "afxres.h"\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-#undef APSTUDIO_READONLY_SYMBOLS\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-// Korean resources\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r
-#ifdef _WIN32\r
-LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT\r
-#endif //_WIN32\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// TEXTINCLUDE\r
-//\r
-\r
-1 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "resource.h\0"\r
-END\r
-\r
-2 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "#include ""afxres.h""\r\n"\r
- "\0"\r
-END\r
-\r
-3 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "#define _AFX_NO_SPLITTER_RESOURCES\r\n"\r
- "#define _AFX_NO_OLE_RESOURCES\r\n"\r
- "#define _AFX_NO_TRACKER_RESOURCES\r\n"\r
- "#define _AFX_NO_PROPERTY_RESOURCES\r\n"\r
- "\r\n"\r
- "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r\n"\r
- "#ifdef _WIN32\r\n"\r
- "LANGUAGE 18, 1\r\n"\r
- "#endif\r\n"\r
- "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n"\r
- "#include ""afxres.rc"" // Standard components\r\n"\r
- "#endif\0"\r
-END\r
-\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Menu\r
-//\r
-\r
-IDR_MENU_FILE MENU DISCARDABLE \r
-BEGIN\r
- MENUITEM "ÀÎÁõ...", IDM_AUTHENTICATION\r
- MENUITEM "¾×¼¼½º Á¦¾î ¸ñ·Ï...", IDM_ACL_SET\r
- POPUP "º¼·ý/ÆÄƼ¼Ç(&V)"\r
- BEGIN\r
- MENUITEM "Ư¼º(&P)...", IDM_VOLUME_PROPERTIES\r
- MENUITEM "À̸§/ID ¸ÊÇÎ »õ·Î °íħ(&R)", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE\r
-\r
- END\r
- POPUP "¸¶¿îÆ® Æ÷ÀÎÆ®(&M)"\r
- BEGIN\r
- MENUITEM "Ç¥½Ã(&S)...", IDM_MOUNTPOINT_SHOW\r
- MENUITEM "Á¦°Å(&R)...", IDM_MOUNTPOINT_REMOVE\r
- MENUITEM "ÀÛ¼º(&M)...", IDM_MOUNTPOINT_MAKE\r
- END\r
- MENUITEM "ÆÄÀÏ/µð·ºÅ丮 Ç÷¯½¬(&F)", IDM_FLUSH\r
- MENUITEM "º¼·ý Ç÷¯½¬(&U)", IDM_FLUSH_VOLUME\r
- MENUITEM "ÆÄÀÏ ¼¹ö Ç¥½Ã(&F)...", IDM_SHOW_SERVER\r
- MENUITEM "¼¿ Ç¥½Ã(&C)...", IDM_SHOWCELL\r
- MENUITEM "¼¹ö »óÅ ǥ½Ã ...", IDM_SERVER_STATUS\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Dialog\r
-//\r
-\r
-IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | \r
- WS_SYSMENU\r
-CAPTION "º¼·ý Á¤º¸"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- DEFPUSHBUTTON "È®ÀÎ",IDOK,60,150,50,14,WS_DISABLED\r
- PUSHBUTTON "µµ¿ò¸»",9,240,150,50,14\r
- PUSHBUTTON "Ãë¼Ò",IDCANCEL,150,150,50,14\r
- LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP\r
- LTEXT "ÆÄÀÏ/µð·ºÅ丮",IDC_STATIC,10,9,56,8\r
- LTEXT "À̸§",IDC_STATIC,90,10,20,8\r
- LTEXT "ÇÒ´ç·®",IDC_STATIC,225,10,29,8\r
- LTEXT "»ç¿ë",IDC_STATIC,270,10,24,8\r
- LTEXT "»ç¿ë ¹éºÐÀ²",IDC_STATIC,298,10,38,8\r
- LTEXT "ID",IDC_STATIC,171,10,14,8\r
- LTEXT "»õ ÇÒ´ç·®:",IDC_STATIC,10,127,40,10\r
- EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED\r
- PUSHBUTTON "ÆÄƼ¼Ç Á¤º¸ Ç¥½Ã",IDC_PARTITION_INFO,205,125,69,14,\r
- WS_DISABLED\r
- LTEXT "KB",IDC_STATIC,118,127,25,10\r
- CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | \r
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | \r
- WS_DISABLED,106,125,10,14\r
-END\r
-\r
-IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "AFS ACL ¼³Á¤"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- LTEXT "",IDC_DIR_NAME,51,12,259,10\r
- LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | \r
- WS_HSCROLL | WS_TABSTOP\r
- LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | \r
- WS_HSCROLL | WS_TABSTOP\r
- CONTROL "r - Àбâ",IDC_READ,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,52,55,10\r
- CONTROL "w - ¾²±â",IDC_WRITE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,111,55,10\r
- CONTROL "l - Á¶È¸",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,66,55,10\r
- CONTROL "d - »èÁ¦",IDC_DELETE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,96,55,10\r
- CONTROL "i - »ðÀÔ",IDC_INSERT,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,81,55,10\r
- CONTROL "k - Àá±Ý",IDC_LOCK,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,126,55,10\r
- CONTROL "a - °ü¸®ÀÚ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,141,55,10\r
- PUSHBUTTON "Ãß°¡(&A)...",IDC_ADD,270,45,45,14\r
- PUSHBUTTON "Á¦°Å(&R)",IDC_REMOVE,270,70,45,14,WS_DISABLED\r
- PUSHBUTTON "Á¤¸®(&C)",IDC_CLEAN,270,95,45,14\r
- DEFPUSHBUTTON "È®ÀÎ(&O)",IDOK,270,150,45,14\r
- PUSHBUTTON "Ãë¼Ò(&N)",IDCANCEL,270,175,45,14\r
- PUSHBUTTON "µµ¿ò¸»(&H)",9,270,201,45,14\r
- LTEXT "µð·ºÅ丮:",IDC_STATIC,15,12,41,10\r
- GROUPBOX "񀀥",IDC_STATIC,195,41,65,115\r
- LTEXT "±àÁ¤",IDC_STATIC,10,30,23,8\r
- LTEXT "À̸§",IDC_COLUMN_3,69,38,20,8\r
- LTEXT "񀀥",IDC_STATIC,10,38,37,8\r
- LTEXT "ºÎÁ¤",IDC_STATIC,10,125,30,8\r
- LTEXT "񀀥",IDC_STATIC,10,133,38,8\r
- LTEXT "À̸§",IDC_COLUMN_4,69,133,20,8\r
- GROUPBOX "",IDC_STATIC,10,5,305,20\r
- PUSHBUTTON "º¹»ç(&P)...",IDC_COPY,270,120,45,14\r
-END\r
-\r
-IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¸¶¿îÆ® Æ÷ÀÎÆ® ÀÛ¼º"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "È®ÀÎ",IDOK,20,81,50,14\r
- PUSHBUTTON "Ãë¼Ò",IDCANCEL,85,81,50,14\r
- PUSHBUTTON "µµ¿ò¸»",9,150,81,50,14\r
- LTEXT "µð·ºÅ丮:",IDC_STATIC,5,12,30,10\r
- LTEXT "º¼·ý:",IDC_STATIC,12,26,25,10\r
- LTEXT "¼¿:",IDC_STATIC,19,41,15,10\r
- GROUPBOX "",IDC_STATIC,40,52,115,20\r
- LTEXT "¿É¼Ç:",IDC_STATIC,12,57,24,10\r
- CONTROL "ÀϹÝ",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | \r
- WS_GROUP,45,59,41,10\r
- CONTROL "Àбâ/¾²±â",IDC_RW,"Button",BS_AUTORADIOBUTTON,100,59,50,\r
- 10\r
-END\r
-\r
-IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "ACL Ç׸ñ Ãß°¡"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- EDITTEXT IDC_NAME,35,70,190,12,ES_AUTOHSCROLL\r
- CONTROL "r - Àбâ",IDC_READ,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,15,45,10\r
- CONTROL "l - Á¶È¸",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,25,50,10\r
- CONTROL "i - »ðÀÔ",IDC_INSERT,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,35,50,10\r
- CONTROL "d - »èÁ¦",IDC_DELETE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,45,50,10\r
- CONTROL "w - ¾²±â",IDC_WRITE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,80,15,50,10\r
- CONTROL "k - Àá±Ý",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,80,25,55,10\r
- CONTROL "a - °ü¸®ÀÚ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,80,35,60,10\r
- CONTROL "±àÁ¤ Ç׸ñ",IDC_ADD_NORMAL_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON | WS_GROUP,161,16,54,10\r
- CONTROL "ºÎÁ¤ Ç׸ñ",IDC_ADD_NEGATIVE_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON,161,26,59,10\r
- PUSHBUTTON "È®ÀÎ",IDOK,22,90,50,14\r
- PUSHBUTTON "Ãë¼Ò",IDCANCEL,92,90,50,14\r
- PUSHBUTTON "µµ¿ò¸»",9,162,90,50,14\r
- LTEXT "À̸§:",IDC_STATIC,10,72,20,8\r
- GROUPBOX "񀀥",IDC_STATIC,10,5,135,55\r
- GROUPBOX "Ç׸ñ À¯Çü",IDC_STATIC,155,6,70,34\r
-END\r
-\r
-IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "ÆÄƼ¼Ç Á¤º¸"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- EDITTEXT IDC_TOTAL_SIZE,67,9,40,12,ES_AUTOHSCROLL | WS_DISABLED | \r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_BLOCKS_FREE,67,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | \r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_PERCENT_USED,67,39,40,12,ES_AUTOHSCROLL | \r
- WS_DISABLED | NOT WS_TABSTOP\r
- DEFPUSHBUTTON "´Ý±â",IDOK,14,62,40,14\r
- PUSHBUTTON "µµ¿ò¸»",9,69,62,40,14\r
- LTEXT "»ç¿ë %:",IDC_STATIC,5,42,52,8\r
- LTEXT "»ç¿ë°¡´ÉÇÑ ºí·°:",IDC_STATIC,5,27,54,8\r
- LTEXT "ÃÑ Å©±â:",IDC_STATIC,7,12,36,8\r
- LTEXT "KB",IDC_STATIC,109,11,11,8\r
- LTEXT "K",IDC_STATIC,109,27,8,8\r
-END\r
-\r
-IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "ACL º¹»ç"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY\r
- EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "ã¾Æº¸±â",IDC_BROWSE,195,25,35,15\r
- CONTROL "ÇöÀç ÀÔ·Â Ç׸ñ Áö¿ì±â:",IDC_CLEAR,"Button",\r
- BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,10,46,82,10\r
- DEFPUSHBUTTON "È®ÀÎ",IDOK,20,65,50,14,WS_DISABLED\r
- PUSHBUTTON "Ãë¼Ò",IDCANCEL,95,65,50,14\r
- PUSHBUTTON "µµ¿ò¸»",9,170,65,50,14\r
- LTEXT "º¹»ç ¿øº»:",IDC_STATIC,13,13,35,8\r
- LTEXT "º¹»ç ´ë»ó:",IDC_STATIC,13,29,37,8\r
-END\r
-\r
-IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "À§Ä¡"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- DEFPUSHBUTTON "´Ý±â",IDOK,65,145,50,14\r
- PUSHBUTTON "µµ¿ò¸»",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "ÆÄÀÏ/µð·ºÅ丮",IDC_STATIC,10,10,59,8\r
- LTEXT "ÆÄÀÏ ¼¹ö",IDC_STATIC,128,10,44,8\r
-END\r
-\r
-IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "°á°ú"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- DEFPUSHBUTTON "´Ý±â",IDOK,65,145,50,14\r
- PUSHBUTTON "µµ¿ò¸»",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "ÆÄÀÏ/µð·ºÅ丮",-1,10,10,45,8\r
- LTEXT "°á°ú",IDC_RESULTS_LABEL,128,10,44,8\r
-END\r
-\r
-IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¸¶¿îÆ® Æ÷ÀÎÆ®"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- DEFPUSHBUTTON "´Ý±â",IDOK,65,145,50,14\r
- PUSHBUTTON "µµ¿ò¸»",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "ÆÄÀÏ",IDC_STATIC,10,11,13,8\r
- LTEXT "º¼·ý",IDC_STATIC,75,11,27,8\r
- LTEXT "¼¿",IDC_STATIC,155,11,15,8\r
- LTEXT "À¯Çü",IDC_STATIC,230,11,20,8\r
-END\r
-\r
-IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¼¹ö Áß´Ü"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | \r
- WS_VSCROLL | WS_HSCROLL\r
- LTEXT "ÀÌ ¼¹ö´Â ¾ÆÁ÷ ½ÃÀÛµÇÁö ¾ÊÀº »óÅÂÀÔ´Ï´Ù",IDC_STATIC,10,\r
- 10,186,8\r
- DEFPUSHBUTTON "È®ÀÎ",IDOK,82,140,45,15\r
-END\r
-\r
-IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | \r
- WS_SYSMENU\r
-CAPTION "¼¹ö »óÅÂ"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- CONTROL "Áö¿ª ¼¿",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | \r
- WS_GROUP | WS_TABSTOP,20,20,50,8\r
- CONTROL "ÁöÁ¤µÈ ¼¿:",IDC_SPECIFIEDCELL,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,60,10\r
- CONTROL "¸ðµç ¼¿",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON | \r
- WS_TABSTOP,21,69,45,10\r
- CONTROL "¼¹ö »óŸ¦ Á¶»çÇÏÁö ¾ÊÀ½",IDC_DONTPROBESERVERS,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,24,87,112,10\r
- PUSHBUTTON "»óÅ ǥ½Ã",IDC_SHOWSTATUS,10,120,50,14\r
- GROUPBOX "¼¿",IDC_STATIC,10,5,160,105,WS_GROUP\r
- GROUPBOX "",IDC_STATIC,20,80,137,20,WS_GROUP\r
- EDITTEXT IDC_CELL_NAME,31,51,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "´Ý±â",IDCANCEL,65,120,50,14\r
- PUSHBUTTON "µµ¿ò¸»",9,120,120,50,14\r
-END\r
-\r
-IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "ÀÎÁõ"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- PUSHBUTTON "ÅäÅ« È®º¸",ID_GET_TOKENS,15,137,55,14\r
- PUSHBUTTON "ÅäÅ« ¹ö¸®±â",ID_DISCARD_TOKENS,80,137,55,14\r
- PUSHBUTTON "´Ý±â",IDCANCEL,145,137,55,14\r
- PUSHBUTTON "µµ¿ò¸»",9,215,137,55,14\r
- LTEXT "»ç¿ëÀÚ À̸§",IDC_STATIC,10,9,38,8\r
- LTEXT "¼¿ À̸§",IDC_STATIC,104,9,33,8\r
- LTEXT "¸¸±â",IDC_STATIC,222,9,32,8\r
-END\r
-\r
-IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "ÅäÅ« È®º¸"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "È®ÀÎ",IDOK,20,70,35,14,WS_DISABLED\r
- PUSHBUTTON "Ãë¼Ò",IDCANCEL,70,70,35,14\r
- PUSHBUTTON "µµ¿ò¸»",9,120,70,35,14\r
- LTEXT "À̸§:",IDC_STATIC,17,12,22,8\r
- LTEXT "¾ÏÈ£:",IDC_STATIC,17,32,20,8\r
- LTEXT "¼¿:",IDC_STATIC,24,52,15,8\r
-END\r
-\r
-IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "ÅäÅ« ¹ö¸®±â"\r
-FONT 9, "±¼¸²", 0, 0, 0x1\r
-BEGIN\r
- DEFPUSHBUTTON "È®ÀÎ",IDOK,25,40,35,14\r
- PUSHBUTTON "Ãë¼Ò",IDCANCEL,75,40,35,14\r
- PUSHBUTTON "µµ¿ò¸»",9,125,40,35,14\r
- LTEXT "¼¿:",IDC_STATIC,10,17,14,8\r
- EDITTEXT IDC_CELL_NAME,29,15,145,12,ES_AUTOHSCROLL\r
-END\r
-\r
-IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¼ºê¸¶¿îÆ®"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | \r
- WS_VSCROLL | WS_HSCROLL | WS_TABSTOP\r
- PUSHBUTTON "Ãß°¡ ",IDC_ADD,202,20,45,14\r
- PUSHBUTTON "»èÁ¦",IDC_DELETE,202,39,45,14,WS_DISABLED\r
- PUSHBUTTON "º¯°æ",IDC_CHANGE,202,58,45,14,WS_DISABLED\r
- LTEXT "¼ºê¸¶¿îÆ®:",IDC_STATIC,10,10,50,8\r
- PUSHBUTTON "È®ÀÎ",IDOK,202,145,45,14\r
- PUSHBUTTON "Ãë¼Ò",IDCANCEL,202,163,45,14\r
-END\r
-\r
-IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¼ºê¸¶¿îÆ® Ãß°¡"\r
-FONT 9, "±¼¸²"\r
-BEGIN\r
- EDITTEXT IDC_SHARE_NAME,62,8,163,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PATH_NAME,62,23,163,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "È®ÀÎ",IDOK,22,53,45,14\r
- PUSHBUTTON "Ãë¼Ò",IDCANCEL,92,53,45,14\r
- PUSHBUTTON "µµ¿ò¸»",9,167,53,45,14\r
- LTEXT "°øÀ¯ À̸§:",IDC_STATIC,18,10,37,8\r
- LTEXT "°æ·Î À̸§:",IDC_STATIC,19,25,39,8\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// DESIGNINFO\r
-//\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-GUIDELINES DESIGNINFO DISCARDABLE \r
-BEGIN\r
- IDD_SERVERSTATUS, DIALOG\r
- BEGIN\r
- RIGHTMARGIN, 171\r
- END\r
-\r
- IDD_AUTHENTICATION, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 278\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 151\r
- END\r
-\r
- IDD_KLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 162\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 86\r
- END\r
-\r
- IDD_UNLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 178\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 56\r
- END\r
-\r
- IDD_SUBMTINFO, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 10\r
- RIGHTMARGIN, 247\r
- BOTTOMMARGIN, 177\r
- END\r
-\r
- IDD_ADD_SUBMOUNT, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 228\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 25\r
- END\r
-END\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// String Table\r
-//\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- ID_ACL_CLEAN "fs cleanacl"\r
- ID_ACL_COPY "fs copyacl"\r
- ID_ACL_LIST "fs listacl"\r
- ID_ACL_SET "fs setacl"\r
- ID_VOLUME_CHECK "fs checkvolumes"\r
- ID_VOLUME_DISKFREE "fs diskfree"\r
- ID_VOLUME_EXAMINE "fs examine"\r
- ID_VOLUME_FLUSH "fs flushvolume"\r
- ID_VOLUME_QUOTA_BRIEF "fs quota"\r
- ID_VOLUME_QUOTA_FULL "fs listquota"\r
- ID_VOLUME_QUOTA_SET "fs setvol"\r
- ID_VOLUME_SET "fs setvol"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- ID_FLUSH "fs flush"\r
- ID_WHEREIS "fs whereis"\r
- ID_SHOWCELL "fs whichcell"\r
- ID_MOUNTPOINT_SHOW "fs lsmount"\r
- ID_MOUNTPOINT_REMOVE "fs rmmount"\r
- ID_SHOW_SERVER "fs whereis"\r
- ID_AUTHENTICATE "AFS·Î ·Î±×ÀÎ ¶Ç´Â AFS¿¡¼ ·Î±× ¾Æ¿ô"\r
- ID_SERVER_STATUS "¼¹ö È®ÀÎ"\r
- ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol"\r
- ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes"\r
- ID_MOUNTPOINT_MAKE "fs mkmount"\r
- IDS_FLUSH_FAILED "Ȱ¼ºÈµÈ %o ÆÄÀÏÀ» Ç÷¯½¬ÇÒ ¼ö ¾ø½À´Ï´Ù"\r
- IDS_FLUSH_ERROR "%o ÆÄÀÏ Ç÷¯½¬ ¿À·ù: %s"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_FLUSH_OK "¼±ÅÃµÈ ÆÄÀÏÀ» Ç÷¯½¬Çß½À´Ï´Ù"\r
- IDS_CANT_GET_CELL "¼¿ ÆÇº° ¿À·ù:"\r
- IDS_FLUSH_VOLUME_ERROR "%o¿¡ ´ëÇÑ º¼·ý Ç÷¯½¬ ¿À·ù: %s"\r
- IDS_FLUSH_VOLUME_OK "º¼·ýÀÌ Ç÷¯½¬µÇ¾ú½À´Ï´Ù"\r
- IDS_WHERE_IS "%o ÆÄÀÏÀÌ %s È£½ºÆ®¿¡ ÀÖ½À´Ï´Ù"\r
- IDS_CLEANACL_NOT_SUPPORTED \r
- "%o ÆÄÀÏ¿¡ ´ëÇÑ ACLÀ» Á¤¸®ÇÒ ¼ö ¾ø½À´Ï´Ù. ACL Á¤¸®´Â DFS ¾×¼¼½º ¸ñ·Ï¿¡¼ Áö¿øµÇÁö ¾Ê½À´Ï´Ù"\r
- IDS_ACL_IS_FINE "%o¿¡ ´ëÇÑ ¾×¼¼½º ¸ñ·ÏÀÌ Á¦´ë·Î ÀÛ¼ºµÇ¾ú½À´Ï´Ù"\r
- IDS_CLEANACL_INVALID_ARG \r
- "%o ÆÄÀÏ¿¡ ´ëÇÑ ACLÀ» Á¤¸®ÇÒ ¼ö ¾ø½À´Ï´Ù. À¯È¿ÇÏÁö ¾ÊÀº Àμö, °¡´ÉÇÑ ¿øÀÎÀº ´ÙÀ½°ú °°½À´Ï´Ù. ÆÄÀÏÀÌ ¾ø°Å³ª ¾×¼¼½º Á¦¾î ¸ñ·Ï¿¡ »ç¿ëÀÚ°¡ ³Ê¹« ¸¹½À´Ï´Ù"\r
- IDS_ANY_STRING "%o"\r
- IDS_CLEANACL_DONE "¸ðÈ£ÇÑ ACL ÀÔ·Â Ç׸ñÀº »èÁ¦µÇ¾ú½À´Ï´Ù."\r
- ID_SUBMOUNTS "AFS ¼ºê¸¶¿îÆ®¸¦ ÀÛ¼ºÇϰųª »èÁ¦ÇϽʽÿÀ"\r
- IDS_GETRIGHTS_ERROR "%o µð·ºÅ丮¿¡ ´ëÇÑ ¾×¼¼½º ¸ñ·ÏÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù: %o"\r
- IDS_DFSACL_ERROR "ÀÌ ¸í·ÉÀ¸·Î DFS ACLÀ» ÆíÁýÇÒ ¼ö ¾ø½À´Ï´Ù"\r
- IDS_SAVE_ACL_ERROR "%o¿¡ ´ëÇÑ ACLÀ» ÀúÀåÇÒ ¼ö ¾ø½À´Ï´Ù: %o"\r
- IDS_SAVE_ACL_EINVAL_ERROR \r
- "%o¿¡ ´ëÇÑ ACLÀ» ÀúÀåÇÒ ¼ö ¾ø½À´Ï´Ù. À¯È¿ÇÏÁö ¾ÊÀº Àμö ¹× °¡´ÉÇÑ ¿øÀÎÀº ´ÙÀ½°ú °°½À´Ï´Ù. ÆÄÀÏÀÌ AFS¿¡ ¾ø°Å³ª ¾×¼¼½º Á¦¾î ¸ñ·Ï¿¡ »ç¿ëÀÚ°¡ ³Ê¹« ¸¹°Å³ª ¶Ç´Â ¾ø´Â »ç¿ëÀÚ¸¦ ¾×¼¼½º Á¦¾î ¸ñ·Ï¿¡ Ãß°¡ÇÏ·Á°í Çß½À´Ï´Ù."\r
- IDS_ACL_READ_ERROR "%o¿¡ ´ëÇÑ ACLÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù: %o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_NO_DFS_COPY_ACL "ACLÀ» %o µð·ºÅ丮·Î º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù. DFS ¾×¼¼½º ¸ñ·Ï¿¡¼´Â ACL º¹»ç¸¦ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù"\r
- IDS_COPY_ACL_EINVAL_ERROR \r
- "ACLÀ» %o µð·ºÅ丮·Î º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù. À¯È¿ÇÏÁö ¾ÊÀº Àμö ¹× °¡´ÉÇÑ ¿øÀÎÀº ´ÙÀ½°ú °°½À´Ï´Ù. ÆÄÀÏÀÌ AFS¿¡ ¾ø½À´Ï´Ù."\r
- IDS_COPY_ACL_ERROR "ACLÀ» %o¿¡ º¹»çÇÒ ¼ö ¾ø½À´Ï´Ù: %o"\r
- IDS_NOT_MOUNT_POINT_ERROR "%oÀº(´Â) ¸¶¿îÆ® Æ÷ÀÎÆ®°¡ ¾Æ´Õ´Ï´Ù."\r
- IDS_LIST_MOUNT_POINT_ERROR "¿À·ù: %o"\r
- IDS_MAKE_MP_NOT_AFS_ERROR \r
- "¸¶¿îÆ® Æ÷ÀÎÆ®´Â AFS ÆÄÀÏ ½Ã½ºÅÛ ³»¿¡ ÀÛ¼ºµÇ¾î¾ß ÇÕ´Ï´Ù"\r
- IDS_MOUNT_POINT_ERROR "¸¶¿îÆ® Æ÷ÀÎÆ® ÀÛ¼º ¿À·ù: %o"\r
- IDS_ERROR "¿À·ù: %o"\r
- IDS_DELETED "»èÁ¦µÇ¾ú½À´Ï´Ù"\r
- IDS_SET_QUOTA_ERROR "ÇÒ´ç·® ¼³Á¤ ¿À·ù: %o"\r
- ID_SUBMOUNTS_CREATE "AFS ¼ºê¸¶¿îÆ® ÀÛ¼º"\r
- ID_SUBMOUNTS_EDIT "AFS ¼ºê¸¶¿îÆ® Ãß°¡, º¯°æ ¶Ç´Â »èÁ¦"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_CHECK_SERVERS_ERROR "%o ÆÄÀÏ ¼¹ö ±â°èÀÇ »óÅ ȮÀÎ ¿À·ù"\r
- IDS_ALL_SERVERS_RUNNING "¸ðµç ¼¹ö°¡ ½ÇÇà ÁßÀÔ´Ï´Ù."\r
- IDS_CHECK_VOLUMES_OK "¸ðµç º¼·ý ID/À̸§ ¸ÊÇÎÀÌ È®ÀεǾú½À´Ï´Ù."\r
- IDS_CHECK_VOLUMES_ERROR "º¼·ý ID/À̸§ ¸ÊÇÎ È®ÀÎ ¿À·ù: %o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_ACL_ENTRY_NAME_IN_USE \r
- "¼±ÅÃÇÑ À̸§ÀÌ ÀÌ¹Ì »ç¿ë ÁßÀÔ´Ï´Ù. ´Ù¸¥ À̸§À» ÀÔ·ÂÇϽʽÿÀ."\r
- IDS_REALLY_DEL_MOUNT_POINTS "¼±ÅÃµÈ ¸¶¿îÆ® Æ÷ÀÎÆ®¸¦ Á¦°ÅÇϽðڽÀ´Ï±î?"\r
- IDS_DIR_DOES_NOT_EXIST_ERROR "'%o' µð·ºÅ丮°¡ ¾ø½À´Ï´Ù."\r
- IDS_CLEANACL_MSG "¸ðÈ£ÇÑ ACLÀº »èÁ¦µË´Ï´Ù."\r
- IDS_COPY_ACL_OK "ACLÀÌ º¹»çµÇ¾ú½À´Ï´Ù."\r
- IDS_GET_TOKENS_NO_AFS_SERVICE \r
- "ÅäÅ« Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù. AFS ¼ºñ½º°¡ ½ÃÀÛµÇÁö ¾Ê¾ÒÀ» ¼ö ÀÖ½À´Ï´Ù."\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR \r
- "ÅäÅ« Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù. ¿¹±âÄ¡ ¸øÇÑ ¿À·ù ¹ß»ý, ÄÚµå %d."\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR2 \r
- "ÅäÅ« Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù. ¿¹±âÄ¡ ¸øÇÑ ¿À·ù ¹ß»ý, ¼ºñ½º %s.%s.%s, ÄÚµå %d."\r
- IDS_ENTER_QUOTA "À¯È¿ÇÑ ÇÒ´ç·®À» ÀÔ·ÂÇϽʽÿÀ."\r
- IDS_AUTHENTICATION_ITEM "ÀÎÁõ(&A)..."\r
- IDS_ACLS_ITEM "¾×¼¼½º Á¦¾î ¸ñ·Ï(&O)..."\r
- IDS_VOL_PART_ITEM "º¼·ý/ÆÄƼ¼Ç(&V)"\r
- IDS_VOL_PART_PROPS_ITEM "Ư¼º(&P)"\r
- IDS_VOL_PART_REFRESH_ITEM "À̸§/ID ¸ÊÇÎ »õ·Î °íħ(&R)"\r
- IDS_MOUNT_POINT_ITEM "¸¶¿îÆ® Æ÷ÀÎÆ®(&M)"\r
- IDS_MP_SHOW_ITEM "Ç¥½Ã(&S)..."\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- AFX_IDS_APP_TITLE "AFS Ŭ¶óÀ̾ðÆ®"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_MP_REMOVE_ITEM "Á¦°Å(&R)..."\r
- IDS_MP_MAKE_ITEM "ÀÛ¼º(&M)..."\r
- IDS_FLUSH_FILE_DIR_ITEM "ÆÄÀÏ/µð·ºÅ丮 Ç÷¯½¬(&F)"\r
- IDS_FLUSH_VOLUME_ITEM "º¼·ý Ç÷¯½¬(&U)"\r
- IDS_SHOW_FILE_SERVERS_ITEM "ÆÄÀÏ ¼¹ö Ç¥½Ã(&F)..."\r
- IDS_SHOW_CELL_ITEM "¼¿ Ç¥½Ã(&C)..."\r
- IDS_SHOW_SERVER_STATUS_ITEM "¼¹ö »óÅ ǥ½Ã ..."\r
- IDS_AFS_ITEM "AFS(&A)"\r
- IDS_SUBMOUNTS_ITEM "¼ºê¸¶¿îÆ®(&B)"\r
- IDS_GET_SUBMT_INFO_ERROR \r
- "%o °øÀ¯ À̸§¿¡ ´ëÇÑ ¼ºê¸¶¿îÆ® Á¤º¸¸¦ ÀÐÀ» ¼ö ¾ø½À´Ï´Ù."\r
- IDS_REALLY_DELETE_SUBMT "%o °øÀ¯ À̸§À» »èÁ¦ÇϽðڽÀ´Ï±î?"\r
- IDS_SUBMT_SAVE_FAILED "¼ºê¸¶¿îÆ® µ¥ÀÌÅͺ£À̽º¸¦ º¯°æÇÏ´Â µ¥ ½ÇÆÐÇß½À´Ï´Ù."\r
- IDS_SUBMOUNTS_CREATE_ITEM "Ãß°¡(&A)"\r
- IDS_SUBMOUNTS_EDIT_ITEM "ÆíÁý(&E)..."\r
- IDS_EDIT_PATH_NAME "°æ·Î À̸§ ÆíÁý"\r
- IDS_SHOW_CELL "¼¿ Ç¥½Ã"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_SHOW_CELL_COLUMN "¼¿"\r
- IDS_SHOW_FS "ÆÄÀÏ ¼¹ö Ç¥½Ã"\r
- IDS_SHOW_FS_COLUMN "ÆÄÀÏ ¼¹ö"\r
- IDS_REMOVE_MP "¸¶¿îÆ® Æ÷ÀÎÆ® Á¦°Å"\r
- IDS_REMOVE_MP_COLUMN "°á°ú"\r
-END\r
-\r
-#endif // Korean resources\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-\r
-#ifndef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 3 resource.\r
-//\r
-#define _AFX_NO_SPLITTER_RESOURCES\r
-#define _AFX_NO_OLE_RESOURCES\r
-#define _AFX_NO_TRACKER_RESOURCES\r
-#define _AFX_NO_PROPERTY_RESOURCES\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\r
-#ifdef _WIN32\r
-LANGUAGE 18, 1\r
-#endif\r
-#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources\r
-#include "afxres.rc" // Standard components\r
-#endif\r
-/////////////////////////////////////////////////////////////////////////////\r
-#endif // not APSTUDIO_INVOKED\r
-\r
+#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
+
* directory or online at http://www.openafs.org/dl/license10.html
*/
-#include "resource.h"\r
-\r
-#define APSTUDIO_READONLY_SYMBOLS\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 2 resource.\r
-//\r
-#include "afxres.h"\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-#undef APSTUDIO_READONLY_SYMBOLS\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-// English (U.S.) resources\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r
-#ifdef _WIN32\r
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\r
-#endif //_WIN32\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// TEXTINCLUDE\r
-//\r
-\r
-1 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "resource.h\0"\r
-END\r
-\r
-2 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "#include ""afxres.h""\r\n"\r
- "\0"\r
-END\r
-\r
-3 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "#define _AFX_NO_SPLITTER_RESOURCES\r\n"\r
- "#define _AFX_NO_OLE_RESOURCES\r\n"\r
- "#define _AFX_NO_TRACKER_RESOURCES\r\n"\r
- "#define _AFX_NO_PROPERTY_RESOURCES\r\n"\r
- "\r\n"\r
- "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"\r
- "#ifdef _WIN32\r\n"\r
- "LANGUAGE 9, 1\r\n"\r
- "#endif\r\n"\r
- "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n"\r
- "#include ""afxres.rc"" // Standard components\r\n"\r
- "#endif\0"\r
-END\r
-\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Menu\r
-//\r
-\r
-IDR_MENU_FILE MENU DISCARDABLE \r
-BEGIN\r
- MENUITEM "Autenticação...", IDM_AUTHENTICATION\r
- MENUITEM "Listas de Controle de Acesso...", IDM_ACL_SET\r
- POPUP "&Volume/Partição"\r
- BEGIN\r
- MENUITEM "&Propriedades...", IDM_VOLUME_PROPERTIES\r
- MENUITEM "&Atualizar mapa de nome/ID", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE\r
-\r
- END\r
- POPUP "Ponto de &Montagem"\r
- BEGIN\r
- MENUITEM "E&xibir...", IDM_MOUNTPOINT_SHOW\r
- MENUITEM "&Remover...", IDM_MOUNTPOINT_REMOVE\r
- MENUITEM "&Fazer...", IDM_MOUNTPOINT_MAKE\r
- END\r
- MENUITEM "&Esvaziar Arquivo/Dir", IDM_FLUSH\r
- MENUITEM "Esvaziar Vol&ume", IDM_FLUSH_VOLUME\r
- MENUITEM "Mostrar Servidores de Ar&quivos...", IDM_SHOW_SERVER\r
- MENUITEM "Mostrar &Célula...", IDM_SHOWCELL\r
- MENUITEM "Mostrar &Status do Servidor...", IDM_SERVER_STATUS\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Dialog\r
-//\r
-\r
-IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | \r
- WS_SYSMENU\r
-CAPTION "Informações do Volume"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "OK",IDOK,60,150,50,14,WS_DISABLED\r
- PUSHBUTTON "Ajuda",9,240,150,50,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,150,150,50,14\r
- LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP\r
- LTEXT "Arquivo/Diretório",IDC_STATIC,10,10,55,10\r
- LTEXT "Nome",IDC_STATIC,90,10,25,8\r
- LTEXT "Quota",IDC_STATIC,225,10,19,8\r
- LTEXT "Usado",IDC_STATIC,270,10,24,8\r
- LTEXT "%Usada",IDC_STATIC,305,10,29,8\r
- LTEXT "ID",IDC_STATIC,175,10,10,8\r
- LTEXT "Nova Quota:",IDC_STATIC,10,127,44,10\r
- EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED\r
- PUSHBUTTON "Mostrar Informações da Partição",IDC_PARTITION_INFO,205,\r
- 125,107,14,WS_DISABLED\r
- LTEXT "KBytes",IDC_STATIC,118,127,25,10\r
- CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | \r
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | \r
- WS_DISABLED,106,125,10,14\r
-END\r
-\r
-IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Definir ACL do AFS"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- LTEXT "",IDC_DIR_NAME,51,12,259,10\r
- LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | \r
- WS_HSCROLL | WS_TABSTOP\r
- LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | \r
- WS_HSCROLL | WS_TABSTOP\r
- CONTROL "r - Ler",IDC_READ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,\r
- 200,52,55,10\r
- CONTROL "w - Gravar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,111,55,10\r
- CONTROL "l - Procurar",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,66,55,10\r
- CONTROL "d - Excluir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,96,55,10\r
- CONTROL "i - Inserir",IDC_INSERT,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,81,55,10\r
- CONTROL "k - Bloquear",IDC_LOCK,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,126,55,10\r
- CONTROL "a - Administrar",IDC_ADMINISTER,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,200,141,59,10\r
- PUSHBUTTON "&Incluir...",IDC_ADD,270,45,45,14\r
- PUSHBUTTON "&Remover",IDC_REMOVE,270,70,45,14,WS_DISABLED\r
- PUSHBUTTON "&Limpar",IDC_CLEAN,270,95,45,14\r
- DEFPUSHBUTTON "&OK",IDOK,270,150,45,14\r
- PUSHBUTTON "Ca&ncelar",IDCANCEL,270,175,45,14\r
- PUSHBUTTON "&Ajuda",9,270,201,45,14\r
- LTEXT "Diretório:",IDC_STATIC,15,12,30,10\r
- GROUPBOX "Permissões",IDC_STATIC,195,41,68,115\r
- LTEXT "Permissões",IDC_STATIC,10,30,41,8\r
- LTEXT "Nome",IDC_COLUMN_3,69,38,20,8\r
- LTEXT "Normais",IDC_STATIC,10,38,37,8\r
- LTEXT "Permissões",IDC_STATIC,10,125,42,8\r
- LTEXT "Negativas",IDC_STATIC,10,133,38,8\r
- LTEXT "Nome",IDC_COLUMN_4,69,133,20,8\r
- GROUPBOX "",IDC_STATIC,10,5,305,20\r
- PUSHBUTTON "Co&piar...",IDC_COPY,270,120,45,14\r
-END\r
-\r
-IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Fazer Ponto de Montagem"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "OK",IDOK,20,81,50,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,85,81,50,14\r
- PUSHBUTTON "Ajuda",9,150,81,50,14\r
- LTEXT "Diretório:",IDC_STATIC,5,12,30,10\r
- LTEXT "Volume:",IDC_STATIC,5,28,25,10\r
- LTEXT "Célula:",IDC_STATIC,5,42,26,10\r
- GROUPBOX "",IDC_STATIC,41,52,137,20\r
- LTEXT "Opções:",IDC_STATIC,9,59,25,10\r
- CONTROL "Regular",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | \r
- WS_GROUP,47,59,41,10\r
- CONTROL "Leitura/Gravação",IDC_RW,"Button",BS_AUTORADIOBUTTON,\r
- 102,59,74,10\r
-END\r
-\r
-IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Incluir Entrada na ACL"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- EDITTEXT IDC_NAME,35,70,190,12,ES_AUTOHSCROLL\r
- CONTROL "r - Ler",IDC_READ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,\r
- 20,15,45,10\r
- CONTROL "l - Procurar",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,25,50,10\r
- CONTROL "i - Inserir",IDC_INSERT,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,35,50,10\r
- CONTROL "d - Excluir",IDC_DELETE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,45,50,10\r
- CONTROL "w - Gravar",IDC_WRITE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,80,15,50,10\r
- CONTROL "k - Bloquear",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,80,25,55,10\r
- CONTROL "a - Administrar",IDC_ADMINISTER,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,80,35,60,10\r
- CONTROL "Entrada Normal",IDC_ADD_NORMAL_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON | WS_GROUP,155,14,64,10\r
- CONTROL "Entrada negativa",IDC_ADD_NEGATIVE_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON,155,24,69,10\r
- PUSHBUTTON "OK",IDOK,22,90,50,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,92,90,50,14\r
- PUSHBUTTON "Ajuda",9,162,90,50,14\r
- LTEXT "Nome:",IDC_STATIC,10,72,20,8\r
- GROUPBOX "Permissões",IDC_STATIC,10,5,135,55\r
- GROUPBOX "Tipo de Entrada",IDC_STATIC,150,5,77,34\r
-END\r
-\r
-IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 133, 82\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Informações da Partição"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- EDITTEXT IDC_TOTAL_SIZE,61,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | \r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_BLOCKS_FREE,61,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | \r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_PERCENT_USED,61,40,40,12,ES_AUTOHSCROLL | \r
- WS_DISABLED | NOT WS_TABSTOP\r
- DEFPUSHBUTTON "Fechar",IDOK,14,62,40,14\r
- PUSHBUTTON "Ajuda",9,69,62,40,14\r
- LTEXT "% Usada:",IDC_STATIC,5,42,37,8\r
- LTEXT "Blocos Livres:",IDC_STATIC,5,27,50,8\r
- LTEXT "Tamanho Total:",IDC_STATIC,5,12,52,8\r
- LTEXT "K Bytes",IDC_STATIC,103,12,25,8\r
- LTEXT "K Bytes",IDC_STATIC,103,27,25,8\r
-END\r
-\r
-IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Copiar da ACL"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY\r
- EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "Procurar",IDC_BROWSE,195,25,35,15\r
- CONTROL "Limpar Entradas Atuais:",IDC_CLEAR,"Button",\r
- BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,10,46,95,10\r
- DEFPUSHBUTTON "OK",IDOK,20,65,50,14,WS_DISABLED\r
- PUSHBUTTON "Cancelar",IDCANCEL,95,65,50,14\r
- PUSHBUTTON "Ajuda",9,170,65,50,14\r
- LTEXT "Copiar De:",IDC_STATIC,13,12,35,8\r
- LTEXT "Copiar Para:",IDC_STATIC,13,29,43,8\r
-END\r
-\r
-IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Onde Está"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Fechar",IDOK,65,145,50,14\r
- PUSHBUTTON "Ajuda",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "Arquivo/Diretório",IDC_STATIC,10,10,62,8\r
- LTEXT "Servidor(es) de Arquivos",IDC_STATIC,128,10,44,8\r
-END\r
-\r
-IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Resultados"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Fechar",IDOK,65,145,50,14\r
- PUSHBUTTON "Ajuda",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "Arquivo/Diretório",-1,10,10,60,8\r
- LTEXT "Resultado",IDC_RESULTS_LABEL,128,10,44,8\r
-END\r
-\r
-IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Pontos de Montagem"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- DEFPUSHBUTTON "Fechar",IDOK,65,145,50,14\r
- PUSHBUTTON "Ajuda",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "Arquivo",IDC_STATIC,10,11,30,8\r
- LTEXT "Volume",IDC_STATIC,75,11,27,8\r
- LTEXT "Célula",IDC_STATIC,155,11,27,8\r
- LTEXT "Tipo",IDC_STATIC,230,11,20,8\r
-END\r
-\r
-IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Servidores Inoperantes"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | \r
- WS_VSCROLL | WS_HSCROLL\r
- LTEXT "Estes servidores ainda estão inoperantes:",IDC_STATIC,\r
- 10,10,136,8\r
- DEFPUSHBUTTON "OK",IDOK,82,140,45,15\r
-END\r
-\r
-IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | \r
- WS_SYSMENU\r
-CAPTION "Status do Servidor"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- CONTROL "Célula Local",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | \r
- WS_GROUP | WS_TABSTOP,20,20,61,8\r
- CONTROL "Célula Especificada:",IDC_SPECIFIEDCELL,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,82,10\r
- CONTROL "Todas as Células",IDC_ALL_CELLS,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,20,65,71,10\r
- CONTROL "Não sondar servidores",IDC_DONTPROBESERVERS,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,24,87,86,10\r
- PUSHBUTTON "Mostrar Status",IDC_SHOWSTATUS,10,120,50,14\r
- GROUPBOX "Célula",IDC_STATIC,10,5,160,105,WS_GROUP\r
- GROUPBOX "",IDC_STATIC,20,80,95,20,WS_GROUP\r
- EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "Fechar",IDCANCEL,65,120,50,14\r
- PUSHBUTTON "Ajuda",9,120,120,50,14\r
-END\r
-\r
-IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Autenticação"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- PUSHBUTTON "Obter Tokens",ID_GET_TOKENS,15,137,55,14\r
- PUSHBUTTON "Descartar Tokens",ID_DISCARD_TOKENS,79,137,62,14\r
- PUSHBUTTON "Fechar",IDCANCEL,150,137,55,14\r
- PUSHBUTTON "Ajuda",9,214,137,55,14\r
- LTEXT "Nome do Usuário",IDC_STATIC,10,9,61,8\r
- LTEXT "Nome da Célula",IDC_STATIC,104,9,57,8\r
- LTEXT "Vencimento",IDC_STATIC,222,9,38,8\r
-END\r
-\r
-IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "Obter Tokens"\r
-FONT 8, "MS Sans Serif", 0, 0, 0x1\r
-BEGIN\r
- EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "OK",IDOK,20,70,33,14,WS_DISABLED\r
- PUSHBUTTON "Cancelar",IDCANCEL,70,70,33,14\r
- PUSHBUTTON "Ajuda",9,120,70,33,14\r
- LTEXT "Nome:",IDC_STATIC,13,12,22,8\r
- LTEXT "Senha:",IDC_STATIC,13,32,34,8\r
- LTEXT "Célula:",IDC_STATIC,13,52,24,8\r
-END\r
-\r
-IDD_UNLOG_DIALOG DIALOGEX 0, 0, 189, 63\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "Descartar Tokens"\r
-FONT 8, "MS Sans Serif", 0, 0, 0x1\r
-BEGIN\r
- DEFPUSHBUTTON "OK",IDOK,29,40,35,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,79,40,35,14\r
- PUSHBUTTON "Ajuda",9,129,40,35,14\r
- LTEXT "Célula:",IDC_STATIC,10,17,24,8\r
- EDITTEXT IDC_CELL_NAME,34,15,145,12,ES_AUTOHSCROLL\r
-END\r
-\r
-IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Submontagens"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | \r
- WS_VSCROLL | WS_HSCROLL | WS_TABSTOP\r
- PUSHBUTTON "Incluir ",IDC_ADD,202,20,45,14\r
- PUSHBUTTON "Excluir",IDC_DELETE,202,39,45,14,WS_DISABLED\r
- PUSHBUTTON "Alterar",IDC_CHANGE,202,58,45,14,WS_DISABLED\r
- LTEXT "Submontagens:",IDC_STATIC,10,10,50,8\r
- PUSHBUTTON "OK",IDOK,202,145,45,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,202,163,45,14\r
-END\r
-\r
-IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 267, 79\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Incluir Submontagem"\r
-FONT 8, "MS Sans Serif"\r
-BEGIN\r
- EDITTEXT IDC_SHARE_NAME,97,8,163,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PATH_NAME,97,23,163,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "OK",IDOK,24,53,45,14\r
- PUSHBUTTON "Cancelar",IDCANCEL,111,53,45,14\r
- PUSHBUTTON "Ajuda",9,198,53,45,14\r
- LTEXT "Nome do Compartilhamento:",IDC_STATIC,4,10,90,8\r
- LTEXT "Nome do Caminho:",IDC_STATIC,4,25,61,8\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// DESIGNINFO\r
-//\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-GUIDELINES DESIGNINFO DISCARDABLE \r
-BEGIN\r
- IDD_SERVERSTATUS, DIALOG\r
- BEGIN\r
- RIGHTMARGIN, 171\r
- END\r
-\r
- IDD_AUTHENTICATION, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 278\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 151\r
- END\r
-\r
- IDD_KLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 162\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 86\r
- END\r
-\r
- IDD_UNLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 182\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 56\r
- END\r
-\r
- IDD_SUBMTINFO, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 10\r
- RIGHTMARGIN, 247\r
- BOTTOMMARGIN, 177\r
- END\r
-\r
- IDD_ADD_SUBMOUNT, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 260\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 25\r
- END\r
-END\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// String Table\r
-//\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- ID_ACL_CLEAN "fs cleanacl"\r
- ID_ACL_COPY "fs copyacl"\r
- ID_ACL_LIST "fs listacl"\r
- ID_ACL_SET "fs setacl"\r
- ID_VOLUME_CHECK "fs checkvolumes"\r
- ID_VOLUME_DISKFREE "fs diskfree"\r
- ID_VOLUME_EXAMINE "fs examine"\r
- ID_VOLUME_FLUSH "fs flushvolume"\r
- ID_VOLUME_QUOTA_BRIEF "fs quota"\r
- ID_VOLUME_QUOTA_FULL "fs listquota"\r
- ID_VOLUME_QUOTA_SET "fs setvol"\r
- ID_VOLUME_SET "fs setvol"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- ID_FLUSH "fs flush"\r
- ID_WHEREIS "fs whereis"\r
- ID_SHOWCELL "fs whichcell"\r
- ID_MOUNTPOINT_SHOW "fs lsmount"\r
- ID_MOUNTPOINT_REMOVE "fs rmmount"\r
- ID_SHOW_SERVER "fs whereis"\r
- ID_AUTHENTICATE "Entrar ou sair do AFS"\r
- ID_SERVER_STATUS "Verificar Servidores"\r
- ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol"\r
- ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes"\r
- ID_MOUNTPOINT_MAKE "fs mkmount"\r
- IDS_FLUSH_FAILED "Não é possível esvaziar o arquivo ativo %o"\r
- IDS_FLUSH_ERROR "Erro ao esvaziar o arquivo %o: %s"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_FLUSH_OK "Arquivo(s) selecionado(s) esvaziado(s) com êxito"\r
- IDS_CANT_GET_CELL "Erro ao determinar a célula:"\r
- IDS_FLUSH_VOLUME_ERROR "Erro ao esvaziar volume para %o: %s"\r
- IDS_FLUSH_VOLUME_OK "Volume esvaziado com êxito"\r
- IDS_WHERE_IS "O arquivo %o está no host %s"\r
- IDS_CLEANACL_NOT_SUPPORTED \r
- "Não é possível limpar a ACL para o arquivo %o: clean Acl não é suportado para listas de acesso DFS"\r
- IDS_ACL_IS_FINE "Lista de acesso para %o está boa"\r
- IDS_CLEANACL_INVALID_ARG \r
- "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"\r
- IDS_ANY_STRING "%o"\r
- IDS_CLEANACL_DONE "Entradas obsoletas na ACL foram excluídas."\r
- ID_SUBMOUNTS "Criar ou excluir uma submontagem AFS"\r
- IDS_GETRIGHTS_ERROR "Incapaz de ler a lista de acesso para o diretório %o: %o"\r
- IDS_DFSACL_ERROR "Não é possível editar ACLs do DFS com este comando"\r
- IDS_SAVE_ACL_ERROR "Não é possível salvar a ACL para %o: %o"\r
- IDS_SAVE_ACL_EINVAL_ERROR \r
- "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"\r
- IDS_ACL_READ_ERROR "Não é possível ler a ACL para %o: %o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- 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"\r
- IDS_COPY_ACL_EINVAL_ERROR \r
- "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."\r
- IDS_COPY_ACL_ERROR "Não é possível copiar a ACL para %o: %o"\r
- IDS_NOT_MOUNT_POINT_ERROR "%o não é um ponto de montagem."\r
- IDS_LIST_MOUNT_POINT_ERROR "Erro: %o"\r
- IDS_MAKE_MP_NOT_AFS_ERROR \r
- "Pontos de montagem devem ser criados no sistema de arquivos do AFS"\r
- IDS_MOUNT_POINT_ERROR "Erro ao criar ponto de montagem: %o"\r
- IDS_ERROR "Erro: %o"\r
- IDS_DELETED "Excluído com êxito"\r
- IDS_SET_QUOTA_ERROR "Erro ao definir quota: %o"\r
- ID_SUBMOUNTS_CREATE "Criar uma Submontagem AFS"\r
- ID_SUBMOUNTS_EDIT "Incluir, alterar ou excluir submontagens do AFS"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_CHECK_SERVERS_ERROR "Erro ao verificar status de máquinas de servidor de arquivos: %o"\r
- IDS_ALL_SERVERS_RUNNING "Todos os servidores estão em execução."\r
- IDS_CHECK_VOLUMES_OK "Todos os mapeamentos de ID/nome de volume verificados."\r
- IDS_CHECK_VOLUMES_ERROR "Erro ao verificar mapeamentos de ID/nome de volume: %o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_ACL_ENTRY_NAME_IN_USE \r
- "O nome escolhido já está em uso. Digite um nome diferente."\r
- IDS_REALLY_DEL_MOUNT_POINTS \r
- "Tem certeza de que deseja remover o(s) ponto(s) de montagem selecionado(s)?"\r
- IDS_DIR_DOES_NOT_EXIST_ERROR "O diretório '%o' não existe."\r
- IDS_CLEANACL_MSG "As ACLs obsoletas serão excluídas!"\r
- IDS_COPY_ACL_OK "ACL copiada com êxito."\r
- IDS_GET_TOKENS_NO_AFS_SERVICE \r
- "Não é possível ler as informações de token: o serviço do AFS pode não ter iniciado."\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR \r
- "Não é possível ler as informações de token: Erro inesperado, código %d."\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR2 \r
- "Não é possível ler as informações de token: Erro inesperado, serviço %s.%s.%s, código %d."\r
- IDS_ENTER_QUOTA "Digite uma quota válida."\r
- IDS_AUTHENTICATION_ITEM "&Autenticação..."\r
- IDS_ACLS_ITEM "&Listas de Controle de Acesso..."\r
- IDS_VOL_PART_ITEM "&Volume/Partição"\r
- IDS_VOL_PART_PROPS_ITEM "&Propriedades"\r
- IDS_VOL_PART_REFRESH_ITEM "&Atualizar mapa de nome/ID"\r
- IDS_MOUNT_POINT_ITEM "Ponto de &Montagem"\r
- IDS_MP_SHOW_ITEM "E&xibir..."\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- AFX_IDS_APP_TITLE "AFS Client"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_MP_REMOVE_ITEM "&Remover..."\r
- IDS_MP_MAKE_ITEM "&Fazer..."\r
- IDS_FLUSH_FILE_DIR_ITEM "&Esvaziar Arquivo/Dir"\r
- IDS_FLUSH_VOLUME_ITEM "Esvaziar Vol&ume"\r
- IDS_SHOW_FILE_SERVERS_ITEM "Mostrar Servidores de Ar&quivos..."\r
- IDS_SHOW_CELL_ITEM "Mostrar &Célula..."\r
- IDS_SHOW_SERVER_STATUS_ITEM "Mostrar &Status do Servidor..."\r
- IDS_AFS_ITEM "&AFS"\r
- IDS_SUBMOUNTS_ITEM "Su&bmontagens"\r
- IDS_GET_SUBMT_INFO_ERROR \r
- "Incapaz de ler as informações de submontagem para o sharename %o."\r
- IDS_REALLY_DELETE_SUBMT "Excluir sharename %o?"\r
- IDS_SUBMT_SAVE_FAILED "Falha nas alterações ao banco de dados de submontagem."\r
- IDS_SUBMOUNTS_CREATE_ITEM "&Incluir"\r
- IDS_SUBMOUNTS_EDIT_ITEM "&Editar..."\r
- IDS_EDIT_PATH_NAME "Editar Nome do Caminho"\r
- IDS_SHOW_CELL "Mostrar Célula"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_SHOW_CELL_COLUMN "Célula"\r
- IDS_SHOW_FS "Mostrar Servidores de Arquivos"\r
- IDS_SHOW_FS_COLUMN "Servidor(es) de Arquivos"\r
- IDS_REMOVE_MP "Remover Pontos de Montagem"\r
- IDS_REMOVE_MP_COLUMN "Resultado"\r
-END\r
-\r
-#endif // English (U.S.) resources\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-\r
-#ifndef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 3 resource.\r
-//\r
-#define _AFX_NO_SPLITTER_RESOURCES\r
-#define _AFX_NO_OLE_RESOURCES\r
-#define _AFX_NO_TRACKER_RESOURCES\r
-#define _AFX_NO_PROPERTY_RESOURCES\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r
-#ifdef _WIN32\r
-LANGUAGE 9, 1\r
-#endif\r
-#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources\r
-#include "afxres.rc" // Standard components\r
-#endif\r
-/////////////////////////////////////////////////////////////////////////////\r
-#endif // not APSTUDIO_INVOKED\r
-\r
+#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
+
* directory or online at http://www.openafs.org/dl/license10.html
*/
-#include "resource.h"\r
-\r
-#define APSTUDIO_READONLY_SYMBOLS\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 2 resource.\r
-//\r
-#include "afxres.h"\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-#undef APSTUDIO_READONLY_SYMBOLS\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-// Chinese (P.R.C.) resources\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\r
-#ifdef _WIN32\r
-LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\r
-#endif //_WIN32\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// TEXTINCLUDE\r
-//\r
-\r
-1 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "resource.h\0"\r
-END\r
-\r
-2 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "#include ""afxres.h""\r\n"\r
- "\0"\r
-END\r
-\r
-3 TEXTINCLUDE DISCARDABLE \r
-BEGIN\r
- "#define _AFX_NO_SPLITTER_RESOURCES\r\n"\r
- "#define _AFX_NO_OLE_RESOURCES\r\n"\r
- "#define _AFX_NO_TRACKER_RESOURCES\r\n"\r
- "#define _AFX_NO_PROPERTY_RESOURCES\r\n"\r
- "\r\n"\r
- "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"\r
- "#ifdef _WIN32\r\n"\r
- "LANGUAGE 9, 1\r\n"\r
- "#endif\r\n"\r
- "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n"\r
- "#include ""afxres.rc"" // Standard components\r\n"\r
- "#endif\0"\r
-END\r
-\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Menu\r
-//\r
-\r
-IDR_MENU_FILE MENU DISCARDABLE \r
-BEGIN\r
- MENUITEM "ÈÏÖ¤...", IDM_AUTHENTICATION\r
- MENUITEM "´æÈ¡¿ØÖƱí...", IDM_ACL_SET\r
- POPUP "¾í£¯·ÖÇø(&V)"\r
- BEGIN\r
- MENUITEM "ÌØÐÔ(&P)...", IDM_VOLUME_PROPERTIES\r
- MENUITEM "Ë¢ÐÂÃû³Æ£¯±êʶ·ûÓ³Éä(&R)", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE\r
-\r
- END\r
- POPUP "°²×°µã(&M)"\r
- BEGIN\r
- MENUITEM "ÏÔʾ(&S)...", IDM_MOUNTPOINT_SHOW\r
- MENUITEM "³ýÈ¥(&R)...", IDM_MOUNTPOINT_REMOVE\r
- MENUITEM "¶¨ÖÆ(&M)...", IDM_MOUNTPOINT_MAKE\r
- END\r
- MENUITEM "Çå²ÖÎļþ£¯Ä¿Â¼(&F)", IDM_FLUSH\r
- MENUITEM "Çå²Ö¾í(&U)", IDM_FLUSH_VOLUME\r
- MENUITEM "ÏÔʾÎļþ·þÎñÆ÷(&F)...", IDM_SHOW_SERVER\r
- MENUITEM "ÏÔʾµ¥Ôª(&C)...", IDM_SHOWCELL\r
- MENUITEM "ÏÔʾ·þÎñÆ÷״̬...", IDM_SERVER_STATUS\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Dialog\r
-//\r
-\r
-IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | \r
- WS_SYSMENU\r
-CAPTION "¾íÐÅÏ¢"\r
-FONT 8, "System"\r
-BEGIN\r
- DEFPUSHBUTTON "È·¶¨",IDOK,60,150,50,14,WS_DISABLED\r
- PUSHBUTTON "°ïÖú",9,240,150,50,14\r
- PUSHBUTTON "È¡Ïû",IDCANCEL,150,150,50,14\r
- LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP\r
- LTEXT "Îļþ/Ŀ¼",IDC_STATIC,10,10,44,10\r
- LTEXT "Ãû³Æ",IDC_STATIC,90,10,20,8\r
- LTEXT "ÏÞ¶î",IDC_STATIC,225,10,19,8\r
- LTEXT "ÒÑʹÓÃ",IDC_STATIC,270,10,24,8\r
- LTEXT "ÒÑʹÓà %",IDC_STATIC,305,10,34,8\r
- LTEXT "±êʶ·û",IDC_STATIC,175,10,29,8\r
- LTEXT "ÐÂÏ޶",IDC_STATIC,10,127,40,10\r
- EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED\r
- PUSHBUTTON "ÏÔʾ·ÖÇøÐÅÏ¢",IDC_PARTITION_INFO,205,125,69,14,\r
- WS_DISABLED\r
- LTEXT "ǧ×Ö½Ú",IDC_STATIC,118,127,25,10\r
- CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP | \r
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS | \r
- WS_DISABLED,106,125,10,14\r
-END\r
-\r
-IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "ÉèÖÃ AFS ACL"\r
-FONT 8, "System"\r
-BEGIN\r
- LTEXT "",IDC_DIR_NAME,51,12,259,10\r
- LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | \r
- WS_HSCROLL | WS_TABSTOP\r
- LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | \r
- WS_HSCROLL | WS_TABSTOP\r
- CONTROL "r - ¶ÁÈ¡",IDC_READ,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,52,55,10\r
- CONTROL "w - дÈë",IDC_WRITE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,111,55,10\r
- CONTROL "l - ²é±í",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,66,55,10\r
- CONTROL "d - ɾ³ý",IDC_DELETE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,96,55,10\r
- CONTROL "i - ²åÈë",IDC_INSERT,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,81,55,10\r
- CONTROL "k - Ëø¶¨",IDC_LOCK,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,126,55,10\r
- CONTROL "a - ¹ÜÀí",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,200,141,55,10\r
- PUSHBUTTON "Ìí¼Ó(&A)...",IDC_ADD,270,45,45,14\r
- PUSHBUTTON "³ýÈ¥(&R)",IDC_REMOVE,270,70,45,14,WS_DISABLED\r
- PUSHBUTTON "Çå³ý(&C)",IDC_CLEAN,270,95,45,14\r
- DEFPUSHBUTTON "È·¶¨(&O)",IDOK,270,150,45,14\r
- PUSHBUTTON "È¡Ïû(&N)",IDCANCEL,270,175,45,14\r
- PUSHBUTTON "°ïÖú(&H)",9,270,201,45,14\r
- LTEXT "Ŀ¼£º",IDC_STATIC,15,12,30,10\r
- GROUPBOX "Ðí¿ÉȨ",IDC_STATIC,195,41,65,115\r
- LTEXT "Õý³£",IDC_STATIC,10,30,23,8\r
- LTEXT "Ãû³Æ",IDC_COLUMN_3,69,38,20,8\r
- LTEXT "Ðí¿ÉȨ",IDC_STATIC,10,38,37,8\r
- LTEXT "ä¯ÀÀ",IDC_STATIC,10,125,30,8\r
- LTEXT "Ðí¿ÉȨ",IDC_STATIC,10,133,38,8\r
- LTEXT "Ãû³Æ",IDC_COLUMN_4,69,133,20,8\r
- GROUPBOX "",IDC_STATIC,10,5,305,20\r
- PUSHBUTTON "¸´ÖÆ(&P)...",IDC_COPY,270,120,45,14\r
-END\r
-\r
-IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¶¨Öư²×°µã"\r
-FONT 8, "System"\r
-BEGIN\r
- EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "È·¶¨",IDOK,20,81,50,14\r
- PUSHBUTTON "È¡Ïû",IDCANCEL,85,81,50,14\r
- PUSHBUTTON "°ïÖú",9,150,81,50,14\r
- LTEXT "Ŀ¼£º",IDC_STATIC,5,12,30,10\r
- LTEXT "¾í£º",IDC_STATIC,5,27,30,10\r
- LTEXT "µ¥Ôª£º",IDC_STATIC,5,42,30,10\r
- GROUPBOX "",IDC_STATIC,40,52,115,20\r
- LTEXT "Ñ¡Ï",IDC_STATIC,5,57,30,10\r
- CONTROL "¹æÔò",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON | \r
- WS_GROUP,45,59,41,10\r
- CONTROL "¶ÁÈ¡£¯Ð´Èë",IDC_RW,"Button",BS_AUTORADIOBUTTON,100,59,\r
- 50,10\r
-END\r
-\r
-IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Ìí¼Ó ACL ÌõÄ¿"\r
-FONT 8, "System"\r
-BEGIN\r
- EDITTEXT IDC_NAME,41,70,184,12,ES_AUTOHSCROLL\r
- CONTROL "r - ¶ÁÈ¡",IDC_READ,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,15,45,10\r
- CONTROL "l - ²é±í",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,25,50,10\r
- CONTROL "i - ²åÈë",IDC_INSERT,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,35,50,10\r
- CONTROL "d - ɾ³ý",IDC_DELETE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,20,45,50,10\r
- CONTROL "w - дÈë",IDC_WRITE,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,80,15,50,10\r
- CONTROL "k - Ëø¶¨",IDC_LOCK2,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,80,25,55,10\r
- CONTROL "a - ¹ÜÀí",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX | \r
- WS_TABSTOP,80,35,60,10\r
- CONTROL "Ò»°ãÌõÄ¿",IDC_ADD_NORMAL_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON | WS_GROUP,161,16,54,10\r
- CONTROL "ä¯ÀÀÌõÄ¿",IDC_ADD_NEGATIVE_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON,161,26,59,10\r
- PUSHBUTTON "È·¶¨",IDOK,22,90,50,14\r
- PUSHBUTTON "È¡Ïû",IDCANCEL,92,90,50,14\r
- PUSHBUTTON "°ïÖú",9,162,90,50,14\r
- LTEXT "Ãû³Æ£º",IDC_STATIC,10,72,26,8\r
- GROUPBOX "Ðí¿ÉȨ",IDC_STATIC,10,5,135,55\r
- GROUPBOX "ÌõÄ¿ÀàÐÍ",IDC_STATIC,155,6,70,34\r
-END\r
-\r
-IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "·ÖÇøÐÅÏ¢"\r
-FONT 8, "System"\r
-BEGIN\r
- EDITTEXT IDC_TOTAL_SIZE,50,10,40,12,ES_AUTOHSCROLL | WS_DISABLED | \r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_BLOCKS_FREE,50,25,40,12,ES_AUTOHSCROLL | WS_DISABLED | \r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_PERCENT_USED,50,40,40,12,ES_AUTOHSCROLL | \r
- WS_DISABLED | NOT WS_TABSTOP\r
- DEFPUSHBUTTON "¹Ø±Õ",IDOK,14,62,40,14\r
- PUSHBUTTON "°ïÖú",9,69,62,40,14\r
- LTEXT "ÒÑʹÓà %£º",IDC_STATIC,5,42,40,8\r
- LTEXT "¿ÕÏп飺",IDC_STATIC,5,27,40,8\r
- LTEXT "×ܼƴóС£º",IDC_STATIC,5,12,40,8\r
- LTEXT "ǧ×Ö½Ú",IDC_STATIC,92,12,25,8\r
- LTEXT "ǧ×Ö½Ú",IDC_STATIC,92,27,25,8\r
-END\r
-\r
-IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¸´ÖÆ ACL"\r
-FONT 8, "System"\r
-BEGIN\r
- EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY\r
- EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "ä¯ÀÀ",IDC_BROWSE,195,25,35,15\r
- CONTROL "Çå³ýµ±Ç°ÌõÄ¿£º",IDC_CLEAR,"Button",BS_AUTOCHECKBOX | \r
- BS_LEFTTEXT | WS_TABSTOP,10,46,82,10\r
- DEFPUSHBUTTON "È·¶¨",IDOK,20,65,50,14,WS_DISABLED\r
- PUSHBUTTON "È¡Ïû",IDCANCEL,95,65,50,14\r
- PUSHBUTTON "°ïÖú",9,170,65,50,14\r
- LTEXT "¸´ÖÆ×Ô£º",IDC_STATIC,15,12,35,8\r
- LTEXT "¸´ÖƵ½£º",IDC_STATIC,15,29,35,8\r
-END\r
-\r
-IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "λÖÃ"\r
-FONT 8, "System"\r
-BEGIN\r
- DEFPUSHBUTTON "¹Ø±Õ",IDOK,65,145,50,14\r
- PUSHBUTTON "°ïÖú",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "Îļþ/Ŀ¼",IDC_STATIC,10,10,47,8\r
- LTEXT "Îļþ·þÎñÆ÷",IDC_STATIC,128,10,44,8\r
-END\r
-\r
-IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "½á¹û"\r
-FONT 8, "System"\r
-BEGIN\r
- DEFPUSHBUTTON "¹Ø±Õ",IDOK,65,145,50,14\r
- PUSHBUTTON "°ïÖú",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "Îļþ/Ŀ¼",-1,10,10,45,8\r
- LTEXT "½á¹û",IDC_RESULTS_LABEL,128,10,44,8\r
-END\r
-\r
-IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "°²×°µã"\r
-FONT 8, "System"\r
-BEGIN\r
- DEFPUSHBUTTON "¹Ø±Õ",IDOK,65,145,50,14\r
- PUSHBUTTON "°ïÖú",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- LTEXT "Îļþ",IDC_STATIC,10,11,27,8\r
- LTEXT "¾í",IDC_STATIC,75,11,27,8\r
- LTEXT "µ¥Ôª",IDC_STATIC,155,11,27,8\r
- LTEXT "ÀàÐÍ",IDC_STATIC,230,11,27,8\r
-END\r
-\r
-IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¹Ø±ÕµÄ·þÎñÆ÷"\r
-FONT 8, "System"\r
-BEGIN\r
- LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT | \r
- WS_VSCROLL | WS_HSCROLL\r
- LTEXT "ÕâЩ·þÎñÆ÷ÈÔÈ»¹Ø±Õ×Å£º",IDC_STATIC,10,10,95,8\r
- DEFPUSHBUTTON "È·¶¨",IDOK,82,140,45,15\r
-END\r
-\r
-IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | \r
- WS_SYSMENU\r
-CAPTION "·þÎñÆ÷״̬"\r
-FONT 8, "System"\r
-BEGIN\r
- CONTROL "±¾µØµ¥Ôª",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON | \r
- WS_GROUP | WS_TABSTOP,20,20,50,8\r
- CONTROL "Ö¸¶¨µÄµ¥Ôª£º",IDC_SPECIFIEDCELL,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,60,10\r
- CONTROL "ËùÓе¥Ôª",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON | \r
- WS_TABSTOP,20,65,45,10\r
- CONTROL "²»¼ì²â·þÎñÆ÷",IDC_DONTPROBESERVERS,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,24,87,80,10\r
- PUSHBUTTON "ÏÔʾ״̬",IDC_SHOWSTATUS,10,120,50,14\r
- GROUPBOX "µ¥Ôª",IDC_STATIC,10,5,160,105,WS_GROUP\r
- GROUPBOX "",IDC_STATIC,20,80,90,20,WS_GROUP\r
- EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "¹Ø±Õ",IDCANCEL,65,120,50,14\r
- PUSHBUTTON "°ïÖú",9,120,120,50,14\r
-END\r
-\r
-IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "ÈÏÖ¤"\r
-FONT 8, "System"\r
-BEGIN\r
- LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS | \r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | \r
- WS_TABSTOP\r
- PUSHBUTTON "»ñµÃÁîÅÆ",ID_GET_TOKENS,15,137,55,14\r
- PUSHBUTTON "¶ªÆúÁîÅÆ",ID_DISCARD_TOKENS,80,137,55,14\r
- PUSHBUTTON "¹Ø±Õ",IDCANCEL,145,137,55,14\r
- PUSHBUTTON "°ïÖú",9,215,137,55,14\r
- LTEXT "Óû§Ãû",IDC_STATIC,10,9,38,8\r
- LTEXT "µ¥ÔªÃû",IDC_STATIC,104,9,33,8\r
- LTEXT "µ½ÆÚ",IDC_STATIC,222,9,32,8\r
-END\r
-\r
-IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "»ñµÃÁîÅÆ"\r
-FONT 8, "System"\r
-BEGIN\r
- EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "È·¶¨",IDOK,20,70,35,14,WS_DISABLED\r
- PUSHBUTTON "È¡Ïû",IDCANCEL,70,70,35,14\r
- PUSHBUTTON "°ïÖú",9,120,70,35,14\r
- LTEXT "Ãû³Æ£º",IDC_STATIC,10,12,27,8\r
- LTEXT "¿ÚÁ",IDC_STATIC,10,32,27,8\r
- LTEXT "µ¥Ôª£º",IDC_STATIC,10,52,27,8\r
-END\r
-\r
-IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "¶ªÆúÁîÅÆ"\r
-FONT 8, "System"\r
-BEGIN\r
- DEFPUSHBUTTON "È·¶¨",IDOK,25,40,35,14\r
- PUSHBUTTON "È¡Ïû",IDCANCEL,75,40,35,14\r
- PUSHBUTTON "°ïÖú",9,125,40,35,14\r
- LTEXT "µ¥Ôª£º",IDC_STATIC,10,17,24,8\r
- EDITTEXT IDC_CELL_NAME,37,15,137,12,ES_AUTOHSCROLL\r
-END\r
-\r
-IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "×Ó°²×°"\r
-FONT 8, "System"\r
-BEGIN\r
- LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT | \r
- WS_VSCROLL | WS_HSCROLL | WS_TABSTOP\r
- PUSHBUTTON "Ìí¼Ó ",IDC_ADD,202,20,45,14\r
- PUSHBUTTON "ɾ³ý",IDC_DELETE,202,39,45,14,WS_DISABLED\r
- PUSHBUTTON "¸ü¸Ä",IDC_CHANGE,202,58,45,14,WS_DISABLED\r
- LTEXT "×Ó°²×°£º",IDC_STATIC,10,10,50,8\r
- PUSHBUTTON "È·¶¨",IDOK,202,145,45,14\r
- PUSHBUTTON "È¡Ïû",IDCANCEL,202,163,45,14\r
-END\r
-\r
-IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Ìí¼Ó×Ó°²×°"\r
-FONT 8, "System"\r
-BEGIN\r
- EDITTEXT IDC_SHARE_NAME,62,8,163,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PATH_NAME,62,23,163,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "È·¶¨",IDOK,22,53,45,14\r
- PUSHBUTTON "È¡Ïû",IDCANCEL,92,53,45,14\r
- PUSHBUTTON "°ïÖú",9,167,53,45,14\r
- LTEXT "¹²ÏíÃû£º",IDC_STATIC,18,10,41,8\r
- LTEXT "·¾¶Ãû£º",IDC_STATIC,18,25,41,8\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// DESIGNINFO\r
-//\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-GUIDELINES DESIGNINFO DISCARDABLE \r
-BEGIN\r
- IDD_SERVERSTATUS, DIALOG\r
- BEGIN\r
- RIGHTMARGIN, 171\r
- END\r
-\r
- IDD_AUTHENTICATION, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 278\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 151\r
- END\r
-\r
- IDD_KLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 162\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 86\r
- END\r
-\r
- IDD_UNLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 178\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 56\r
- END\r
-\r
- IDD_SUBMTINFO, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 10\r
- RIGHTMARGIN, 247\r
- BOTTOMMARGIN, 177\r
- END\r
-\r
- IDD_ADD_SUBMOUNT, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 228\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 25\r
- END\r
-END\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// String Table\r
-//\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- ID_ACL_CLEAN "fs cleanacl"\r
- ID_ACL_COPY "fs copyacl"\r
- ID_ACL_LIST "fs listacl"\r
- ID_ACL_SET "fs setacl"\r
- ID_VOLUME_CHECK "fs checkvolumes"\r
- ID_VOLUME_DISKFREE "fs diskfree"\r
- ID_VOLUME_EXAMINE "fs examine"\r
- ID_VOLUME_FLUSH "fs flushvolume"\r
- ID_VOLUME_QUOTA_BRIEF "fs quota"\r
- ID_VOLUME_QUOTA_FULL "fs listquota"\r
- ID_VOLUME_QUOTA_SET "fs setvol"\r
- ID_VOLUME_SET "fs setvol"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- ID_FLUSH "fs flush"\r
- ID_WHEREIS "fs whereis"\r
- ID_SHOWCELL "fs whichcell"\r
- ID_MOUNTPOINT_SHOW "fs lsmount"\r
- ID_MOUNTPOINT_REMOVE "fs rmmount"\r
- ID_SHOW_SERVER "fs whereis"\r
- ID_AUTHENTICATE "µÇ¼½øÈë»òÍ˳ö AFS"\r
- ID_SERVER_STATUS "¼ì²é·þÎñÆ÷"\r
- ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol"\r
- ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes"\r
- ID_MOUNTPOINT_MAKE "fs mkmount"\r
- IDS_FLUSH_FAILED "²»ÄÜÇå²Ö»î¶¯µÄÎļþ %o"\r
- IDS_FLUSH_ERROR "Çå²ÖÎļþ %o ³ö´í£º %s"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_FLUSH_OK "³É¹¦Çå²ÖÑ¡¶¨µÄÎļþ"\r
- IDS_CANT_GET_CELL "È·¶¨µ¥Ôª³ö´í£º"\r
- IDS_FLUSH_VOLUME_ERROR "Çå²Ö %o µÄ¾í³ö´í£º%s"\r
- IDS_FLUSH_VOLUME_OK "Çå²Ö¾í³É¹¦"\r
- IDS_WHERE_IS "Îļþ %o ÔÚÖ÷»ú %s ÉÏ"\r
- IDS_CLEANACL_NOT_SUPPORTED \r
- "²»ÄÜÇå³ýÎļþ %o µÄ ACL£ºDFS ´æÈ¡ÁÐ±í²»Ö§³ÖÇå³ý Acl"\r
- IDS_ACL_IS_FINE "%o ´æÈ¡Áбí¿ÉÓÃ"\r
- IDS_CLEANACL_INVALID_ARG \r
- "²»ÄÜÇå³ýÎļþ %o µÄ ACL£ºÎÞЧ±äÁ¿,¿ÉÄܵÄÔÒò°üÀ¨£ºÎļþ²»ÔÚ vice Öлò´æÈ¡¿ØÖƱíÖÐÓû§Ì«¶à"\r
- IDS_ANY_STRING "%o"\r
- IDS_CLEANACL_DONE "ÒÑɾ³ý¹ýʱµÄ ACL ÌõÄ¿¡£"\r
- ID_SUBMOUNTS "´´½¨»òɾ³ýÒ»¸ö AFS ×Ó°²×°"\r
- IDS_GETRIGHTS_ERROR "ÎÞ·¨¶ÁȡĿ¼ %o µÄ´æÈ¡ÁÐ±í£º%o"\r
- IDS_DFSACL_ERROR "²»ÄÜÓôËÃüÁî±à¼ DFS ACL"\r
- IDS_SAVE_ACL_ERROR "²»Äܱ£´æ %o µÄ ACL£º%o"\r
- IDS_SAVE_ACL_EINVAL_ERROR \r
- "²»Äܱ£´æ %o µÄ ACL£ºÎÞЧ±äÁ¿£¬¿ÉÄܵÄÔÒò°üÀ¨£ºÎļþ²»ÔÚ AFS ÖУ¬»ò´æÈ¡¿ØÖƱíÖÐÓû§Ì«¶à£¬Çë³¢ÊÔÌí¼Ó·ÇÏÖÓÐÓû§ÖÁ´æÈ¡¿ØÖƱíÖÐ"\r
- IDS_ACL_READ_ERROR "²»ÄܶÁÈ¡ %o µÄ ACL£º%o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_NO_DFS_COPY_ACL "²»ÄÜΪĿ¼ %o ¸´ÖÆ ACL£ºDFS ´æÈ¡ÁÐ±í²»Ö§³Ö¸´ÖÆ ACL"\r
- IDS_COPY_ACL_EINVAL_ERROR \r
- "²»Äܸ´ÖÆ ACL ÖÁĿ¼ %o£ºÎÞЧ±äÁ¿£¬¿ÉÄܵÄÔÒò°üÀ¨£ºÎļþ²»ÔÚ AFS ÖС£"\r
- IDS_COPY_ACL_ERROR "²»Äܸ´ÖÆ ACL ÖÁ %o£º%o"\r
- IDS_NOT_MOUNT_POINT_ERROR "%o ²»ÊÇÒ»¸ö°²×°µã¡£"\r
- IDS_LIST_MOUNT_POINT_ERROR "³ö´í£º%o"\r
- IDS_MAKE_MP_NOT_AFS_ERROR "°²×°µã±ØÐë´´½¨ÔÚ AFS ÎļþϵͳÖÐ"\r
- IDS_MOUNT_POINT_ERROR "´´½¨°²×°µã³ö´í£º%o"\r
- IDS_ERROR "³ö´í£º%o"\r
- IDS_DELETED "³É¹¦É¾³ý"\r
- IDS_SET_QUOTA_ERROR "ÉèÖÃÏÞ¶î³ö´í£º%o"\r
- ID_SUBMOUNTS_CREATE "´´½¨Ò»¸ö AFS ×Ó°²×°"\r
- ID_SUBMOUNTS_EDIT "Ìí¼Ó¡¢¸ü¸Ä»òɾ³ý AFS ×Ó°²×°"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_CHECK_SERVERS_ERROR "¼ì²éÎļþ·þÎñÆ÷µÄ״̬³ö´í£º %o"\r
- IDS_ALL_SERVERS_RUNNING "ËùÓзþÎñÆ÷ÕýÔÚÔËÐС£"\r
- IDS_CHECK_VOLUMES_OK "ÒѼì²éËùÓоí±êʶ·û£¯Ãû³ÆÓ³Éä¡£"\r
- IDS_CHECK_VOLUMES_ERROR "¼ì²é¾í±êʶ·û£¯Ãû³ÆÓ³Éä³ö´í£º %o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_ACL_ENTRY_NAME_IN_USE "ÄúËùÑ¡ÔñµÄÃû³ÆÔÚʹÓÃÖС£ÇëÊäÈëÒ»¸ö²»Í¬µÄÃû³Æ¡£"\r
- IDS_REALLY_DEL_MOUNT_POINTS "È·ÈÏÄúÒª³ýȥѡ¶¨µÄ°²×°µãÂð?"\r
- IDS_DIR_DOES_NOT_EXIST_ERROR "Ŀ¼¡®%o¡¯²»´æÔÚ¡£"\r
- IDS_CLEANACL_MSG "½«É¾³ý¹ýʱµÄ ACL!"\r
- IDS_COPY_ACL_OK "ACL ¸´ÖƳɹ¦¡£"\r
- IDS_GET_TOKENS_NO_AFS_SERVICE "²»ÄܶÁÈ¡ÁîÅÆÐÅÏ¢£ºAFS ·þÎñ¿ÉÄÜûÓÐÆô¶¯¡£"\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR \r
- "²»ÄܶÁÈ¡ÁîÅÆÐÅÏ¢£º²»¿ÉÔ¤¼ÆµÄ´íÎ󣬴úÂë %d¡£"\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR2 \r
- "²»ÄܶÁÈ¡ÁîÅÆÐÅÏ¢£º²»¿ÉÔ¤¼ÆµÄ´íÎ󣬷þÎñ %s.%s.%s£¬´úÂë %d¡£"\r
- IDS_ENTER_QUOTA "ÇëÊäÈëÒ»¸öÓÐЧµÄÏÞ¶î¡£"\r
- IDS_AUTHENTICATION_ITEM "ÈÏÖ¤(&A)..."\r
- IDS_ACLS_ITEM "´æÈ¡¿ØÖƱí(&C)..."\r
- IDS_VOL_PART_ITEM "¾í£¯·ÖÇø(&V)"\r
- IDS_VOL_PART_PROPS_ITEM "ÌØÐÔ(&P)"\r
- IDS_VOL_PART_REFRESH_ITEM "Ë¢ÐÂÃû³Æ£¯±êʶ·ûÓ³Éä(&R)"\r
- IDS_MOUNT_POINT_ITEM "°²×°µã(&M)"\r
- IDS_MP_SHOW_ITEM "ÏÔʾ(&S)..."\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- AFX_IDS_APP_TITLE "AFS ¿Í»§»ú"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_MP_REMOVE_ITEM "³ýÈ¥(&R)..."\r
- IDS_MP_MAKE_ITEM "¶¨ÖÆ(&M)..."\r
- IDS_FLUSH_FILE_DIR_ITEM "Çå²ÖÎļþ£¯Ä¿Â¼(&F)"\r
- IDS_FLUSH_VOLUME_ITEM "Çå²Ö¾í(&U)"\r
- IDS_SHOW_FILE_SERVERS_ITEM "ÏÔʾÎļþ·þÎñÆ÷(&F)..."\r
- IDS_SHOW_CELL_ITEM "ÏÔʾµ¥Ôª(&C)..."\r
- IDS_SHOW_SERVER_STATUS_ITEM "ÏÔʾ·þÎñÆ÷״̬..."\r
- IDS_AFS_ITEM "AFS(&A)"\r
- IDS_SUBMOUNTS_ITEM "×Ó°²×°(&B)"\r
- IDS_GET_SUBMT_INFO_ERROR "ÎÞ·¨¶ÁÈ¡Óйع²ÏíÃû %o µÄ×Ó°²×°ÐÅÏ¢¡£"\r
- IDS_REALLY_DELETE_SUBMT "ɾ³ý¹²ÏíÃû %o Âð?"\r
- IDS_SUBMT_SAVE_FAILED "¶ÔÓÚ×Ó°²×°Êý¾Ý¿âµÄ¸ü¸Äʧ°Ü¡£"\r
- IDS_SUBMOUNTS_CREATE_ITEM "Ìí¼Ó(&A)"\r
- IDS_SUBMOUNTS_EDIT_ITEM "±à¼(&E)..."\r
- IDS_EDIT_PATH_NAME "±à¼Â·¾¶Ãû"\r
- IDS_SHOW_CELL "ÏÔʾµ¥Ôª"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE \r
-BEGIN\r
- IDS_SHOW_CELL_COLUMN "µ¥Ôª"\r
- IDS_SHOW_FS "ÏÔʾÎļþ·þÎñÆ÷"\r
- IDS_SHOW_FS_COLUMN "Îļþ·þÎñÆ÷"\r
- IDS_REMOVE_MP "³ýÈ¥°²×°µã"\r
- IDS_REMOVE_MP_COLUMN "½á¹û"\r
-END\r
-\r
-#endif // Chinese (P.R.C.) resources\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-\r
-#ifndef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 3 resource.\r
-//\r
-#define _AFX_NO_SPLITTER_RESOURCES\r
-#define _AFX_NO_OLE_RESOURCES\r
-#define _AFX_NO_TRACKER_RESOURCES\r
-#define _AFX_NO_PROPERTY_RESOURCES\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r
-#ifdef _WIN32\r
-LANGUAGE 9, 1\r
-#endif\r
-#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources\r
-#include "afxres.rc" // Standard components\r
-#endif\r
-/////////////////////////////////////////////////////////////////////////////\r
-#endif // not APSTUDIO_INVOKED\r
-\r
+#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
+
* directory or online at http://www.openafs.org/dl/license10.html
*/
-#include "resource.h"\r
-\r
-#define APSTUDIO_READONLY_SYMBOLS\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 2 resource.\r
-//\r
-#include "afxres.h"\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-#undef APSTUDIO_READONLY_SYMBOLS\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-// Chinese (Taiwan) resources\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHT)\r
-#ifdef _WIN32\r
-LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL\r
-#endif //_WIN32\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// TEXTINCLUDE\r
-//\r
-\r
-1 TEXTINCLUDE DISCARDABLE\r
-BEGIN\r
- "resource.h\0"\r
-END\r
-\r
-2 TEXTINCLUDE DISCARDABLE\r
-BEGIN\r
- "#include ""afxres.h""\r\n"\r
- "\0"\r
-END\r
-\r
-3 TEXTINCLUDE DISCARDABLE\r
-BEGIN\r
- "#define _AFX_NO_SPLITTER_RESOURCES\r\n"\r
- "#define _AFX_NO_OLE_RESOURCES\r\n"\r
- "#define _AFX_NO_TRACKER_RESOURCES\r\n"\r
- "#define _AFX_NO_PROPERTY_RESOURCES\r\n"\r
- "\r\n"\r
- "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHT)\r\n"\r
- "#ifdef _WIN32\r\n"\r
- "LANGUAGE 4, 1\r\n"\r
- "#endif\r\n"\r
- "#include ""afs_shl_ext.rc2"" // non-Microsoft Visual C++ edited resources\r\n"\r
- "#include ""afxres.rc"" // Standard components\r\n"\r
- "#endif\0"\r
-END\r
-\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Menu\r
-//\r
-\r
-IDR_MENU_FILE MENU DISCARDABLE\r
-BEGIN\r
- MENUITEM "Ų§O...", IDM_AUTHENTICATION\r
- MENUITEM "¦s¨ú±±¨î²M³æ...", IDM_ACL_SET\r
- POPUP "®eÅé/¤À³Î°Ï(&V)"\r
- BEGIN\r
- MENUITEM "¤º®e(&P)...", IDM_VOLUME_PROPERTIES\r
- MENUITEM "«·s¾ã²z¦WºÙ/ID ¹ïÀ³(&R)", IDM_VOLUMEPARTITION_UPDATENAMEIDTABLE\r
-\r
- END\r
- POPUP "¸Ë¸üÂI(&M)"\r
- BEGIN\r
- MENUITEM "Åã¥Ü(&S)...", IDM_MOUNTPOINT_SHOW\r
- MENUITEM "²¾°£(&R)...", IDM_MOUNTPOINT_REMOVE\r
- MENUITEM "»s§@(&M)...", IDM_MOUNTPOINT_MAKE\r
- END\r
- MENUITEM "¨R¼gÀÉ®×/¥Ø¿ý(&F)", IDM_FLUSH\r
- MENUITEM "¨R¼g®eÅé(&U)", IDM_FLUSH_VOLUME\r
- MENUITEM "Åã¥ÜÀɮצøªA¾¹(&F)...", IDM_SHOW_SERVER\r
- MENUITEM "Åã¥Ü Cell (&C)...", IDM_SHOWCELL\r
- MENUITEM "Åã¥Ü¦øªA¾¹ª¬ºA...", IDM_SERVER_STATUS\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Dialog\r
-//\r
-\r
-IDD_VOLUME_INFO DIALOG DISCARDABLE 0, 0, 349, 173\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION |\r
- WS_SYSMENU\r
-CAPTION "®eÅé¸ê°T"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- DEFPUSHBUTTON "½T©w",IDOK,55,150,50,14,WS_DISABLED\r
- PUSHBUTTON "»¡©ú",9,235,150,50,14\r
- PUSHBUTTON "¨ú®ø",IDCANCEL,145,150,50,14\r
- LISTBOX IDC_LIST,10,20,330,100,LBS_SORT | LBS_USETABSTOPS |\r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP\r
- LTEXT "ÀÉ®× / ¥Ø¿ý",IDC_STATIC,10,10,44,10\r
- LTEXT "¦WºÙ",IDC_STATIC,90,10,20,8\r
- LTEXT "°tÃB",IDC_STATIC,225,10,19,8\r
- LTEXT "¤w¨Ï¥Îªº",IDC_STATIC,270,10,20,8\r
- LTEXT "¤w¨Ï¥Îªº % (U)",IDC_STATIC,305,10,25,8\r
- LTEXT "ID",IDC_STATIC,175,10,10,8\r
- LTEXT "·s°tÃB¡G",IDC_STATIC,10,127,40,10\r
- EDITTEXT IDC_NEW_QUOTA,55,126,50,12,ES_AUTOHSCROLL | WS_DISABLED\r
- PUSHBUTTON "Åã¥Ü¤À³Î°Ï¸ê°T",IDC_PARTITION_INFO,216,125,69,14,\r
- WS_DISABLED\r
- LTEXT "¤d¦ì¤¸²Õ",IDC_STATIC,122,128,51,10\r
- CONTROL "Spin1",IDC_QUOTA_SPIN,"msctls_updown32",UDS_WRAP |\r
- UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_ARROWKEYS |\r
- WS_DISABLED,106,125,10,14\r
-END\r
-\r
-IDD_SET_AFS_ACL DIALOG DISCARDABLE 0, 0, 325, 228\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "³]©w AFS ACL"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- LTEXT "",IDC_DIR_NAME,51,12,259,10\r
- LISTBOX IDC_NORMAL_RIGHTS,10,46,175,75,LBS_USETABSTOPS |\r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL |\r
- WS_HSCROLL | WS_TABSTOP\r
- LISTBOX IDC_NEGATIVE_ENTRIES,10,141,175,75,LBS_USETABSTOPS |\r
- LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL |\r
- WS_HSCROLL | WS_TABSTOP\r
- CONTROL "r - Ū¨ú",IDC_READ,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,200,52,55,10\r
- CONTROL "w - ¼g¤J",IDC_WRITE,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,200,111,55,10\r
- CONTROL "l - ¬d¾\",IDC_LOOKUP,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,200,66,55,10\r
- CONTROL "d - §R°£",IDC_DELETE,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,200,96,55,10\r
- CONTROL "i - ´¡¤J",IDC_INSERT,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,200,81,55,10\r
- CONTROL "k - 吩w",IDC_LOCK,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,200,126,55,10\r
- CONTROL "a - ºÞ²zªÌ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,200,141,55,10\r
- PUSHBUTTON "·s¼W(&A)...",IDC_ADD,270,45,45,14\r
- PUSHBUTTON "²¾°£(&R)",IDC_REMOVE,270,70,45,14,WS_DISABLED\r
- PUSHBUTTON "²M°£(&C)",IDC_CLEAN,270,95,45,14\r
- DEFPUSHBUTTON "½T©w(&O)",IDOK,270,150,45,14\r
- PUSHBUTTON "¨ú®ø(&N)",IDCANCEL,270,175,45,14\r
- PUSHBUTTON "»¡©ú(&H)",9,270,201,45,14\r
- LTEXT "¥Ø¿ý¡G",IDC_STATIC,15,12,30,10\r
- GROUPBOX "³\¥iÅv",IDC_STATIC,195,41,65,115\r
- LTEXT "¤@¯ë",IDC_STATIC,10,30,23,8\r
- LTEXT "¦WºÙ",IDC_COLUMN_3,69,38,20,8\r
- LTEXT "³\¥iÅv",IDC_STATIC,10,38,37,8\r
- LTEXT "t±ªº",IDC_STATIC,10,125,30,8\r
- LTEXT "³\¥iÅv",IDC_STATIC,10,133,38,8\r
- LTEXT "¦WºÙ",IDC_COLUMN_4,69,133,20,8\r
- GROUPBOX "",IDC_STATIC,10,5,305,20\r
- PUSHBUTTON "½Æ»s(&P)...",IDC_COPY,270,120,45,14\r
-END\r
-\r
-IDD_MAKE_MOUNT_POINT DIALOG DISCARDABLE 0, 0, 219, 103\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "»s§@¸Ë¸üÂI"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- EDITTEXT IDC_DIR,40,10,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_VOLUME,40,25,170,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL,40,40,170,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "½T©w",IDOK,20,81,50,14\r
- PUSHBUTTON "¨ú®ø",IDCANCEL,85,81,50,14\r
- PUSHBUTTON "»¡©ú",9,150,81,50,14\r
- LTEXT "¥Ø¿ý¡G",IDC_STATIC,9,12,30,10\r
- LTEXT "®eÅé¡G",IDC_STATIC,9,28,25,10\r
- LTEXT "Cell¡G",IDC_STATIC,9,42,26,10\r
- GROUPBOX "",IDC_STATIC,40,52,115,20\r
- LTEXT "¿ï¶µ¡G",IDC_STATIC,9,59,25,10\r
- CONTROL "¼Ð·Ç",IDC_REGULAR,"Button",BS_AUTORADIOBUTTON |\r
- WS_GROUP,45,59,41,10\r
- CONTROL "Ū¨ú / ¼g¤J",IDC_RW,"Button",BS_AUTORADIOBUTTON,100,59,\r
- 54,10\r
-END\r
-\r
-IDD_ADD_ACL DIALOG DISCARDABLE 0, 0, 235, 113\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "·s¼W ACL ¶µ¥Ø"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- EDITTEXT IDC_NAME,41,70,184,12,ES_AUTOHSCROLL\r
- CONTROL "r - Ū¨ú",IDC_READ,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,20,15,45,10\r
- CONTROL "l - ¬d¾\",IDC_LOOKUP2,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,20,25,50,10\r
- CONTROL "i - ´¡¤J",IDC_INSERT,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,20,35,50,10\r
- CONTROL "d - §R°£",IDC_DELETE,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,20,45,50,10\r
- CONTROL "w - ¼g¤J",IDC_WRITE,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,80,15,50,10\r
- CONTROL "k - 吩w",IDC_LOCK2,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,80,25,55,10\r
- CONTROL "a - ºÞ²zªÌ",IDC_ADMINISTER,"Button",BS_AUTOCHECKBOX |\r
- WS_TABSTOP,80,35,60,10\r
- CONTROL "¤@¯ë¶µ¥Ø",IDC_ADD_NORMAL_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON | WS_GROUP,161,16,54,10\r
- CONTROL "t±ªº¶µ¥Ø",IDC_ADD_NEGATIVE_ENTRY,"Button",\r
- BS_AUTORADIOBUTTON,161,26,59,10\r
- PUSHBUTTON "½T©w",IDOK,36,90,50,14\r
- PUSHBUTTON "¨ú®ø",IDCANCEL,106,90,50,14\r
- PUSHBUTTON "»¡©ú",9,173,90,50,14\r
- LTEXT "¦WºÙ¡G",IDC_STATIC,10,72,27,8\r
- GROUPBOX "³\¥iÅv",IDC_STATIC,10,5,135,55\r
- GROUPBOX "¶µ¥ØÃþ«¬",IDC_STATIC,155,6,70,34\r
-END\r
-\r
-IDD_PARTITION_INFO DIALOG DISCARDABLE 0, 0, 123, 83\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¤À³Î°Ï¸ê°T"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- EDITTEXT IDC_TOTAL_SIZE,51,10,34,12,ES_AUTOHSCROLL | WS_DISABLED |\r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_BLOCKS_FREE,51,25,34,12,ES_AUTOHSCROLL | WS_DISABLED |\r
- NOT WS_TABSTOP\r
- EDITTEXT IDC_PERCENT_USED,51,40,34,12,ES_AUTOHSCROLL |\r
- WS_DISABLED | NOT WS_TABSTOP\r
- DEFPUSHBUTTON "Ãö³¬",IDOK,14,62,40,14\r
- PUSHBUTTON "»¡©ú",9,69,62,40,14\r
- LTEXT "¤w¨Ï¥Îªº %¡G",IDC_STATIC,4,42,51,8\r
- LTEXT "¥i¥Î°Ï¶ô¡G",IDC_STATIC,4,27,40,8\r
- LTEXT "Á`p¤j¤p¡G",IDC_STATIC,4,12,46,8\r
- LTEXT "K ¦ì¤¸²Õ",IDC_STATIC,89,12,32,8\r
- LTEXT "K ¦ì¤¸²Õ",IDC_STATIC,88,27,31,8\r
-END\r
-\r
-IDD_COPY_ACL DIALOG DISCARDABLE 0, 0, 239, 88\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "½Æ»s ACL"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- EDITTEXT IDC_FROM_DIR,55,10,175,12,ES_AUTOHSCROLL | ES_READONLY\r
- EDITTEXT IDC_TO_DIR,55,26,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "ÂsÄý",IDC_BROWSE,195,25,35,15\r
- CONTROL "²M°£¥Ø«eªº¶µ¥Ø¡G",IDC_CLEAR,"Button",BS_AUTOCHECKBOX |\r
- BS_LEFTTEXT | WS_TABSTOP,10,46,82,10\r
- DEFPUSHBUTTON "½T©w",IDOK,20,65,50,14,WS_DISABLED\r
- PUSHBUTTON "¨ú®ø",IDCANCEL,95,65,50,14\r
- PUSHBUTTON "»¡©ú",9,170,65,50,14\r
- LTEXT "½Æ»s¦Û¡G",IDC_STATIC,10,12,35,8\r
- LTEXT "½Æ»s¨ì¡G",IDC_STATIC,10,29,38,8\r
-END\r
-\r
-IDD_WHERE_IS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¦ó³B"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- DEFPUSHBUTTON "Ãö³¬",IDOK,65,145,50,14\r
- PUSHBUTTON "»¡©ú",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS |\r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL |\r
- WS_TABSTOP\r
- LTEXT "ÀÉ®× / ¥Ø¿ý",IDC_STATIC,10,10,47,8\r
- LTEXT "ÀɮצøªA¾¹",IDC_STATIC,128,10,44,8\r
-END\r
-\r
-IDD_RESULTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "µ²ªG"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- DEFPUSHBUTTON "Ãö³¬",IDOK,65,145,50,14\r
- PUSHBUTTON "»¡©ú",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_USETABSTOPS |\r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL |\r
- WS_TABSTOP\r
- LTEXT "ÀÉ®× / ¥Ø¿ý",-1,10,10,45,8\r
- LTEXT "µ²ªG",IDC_RESULTS_LABEL,128,10,44,8\r
-END\r
-\r
-IDD_MOUNT_POINTS DIALOG DISCARDABLE 0, 0, 299, 168\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¸Ë¸üÂI"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- DEFPUSHBUTTON "Ãö³¬",IDOK,65,145,50,14\r
- PUSHBUTTON "»¡©ú",9,180,145,50,14\r
- LISTBOX IDC_LIST,10,20,280,115,LBS_SORT | LBS_USETABSTOPS |\r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL |\r
- WS_TABSTOP\r
- LTEXT "ÀÉ®×",IDC_STATIC,12,11,32,8\r
- LTEXT "®eÅé",IDC_STATIC,75,11,27,8\r
- LTEXT "Cell",IDC_STATIC,155,11,15,8\r
- LTEXT "Ãþ«¬",IDC_STATIC,230,11,20,8\r
-END\r
-\r
-IDD_DOWN_SERVERS DIALOG DISCARDABLE 0, 0, 209, 163\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¦øªA¾¹°±¤î¹B§@"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- LISTBOX 1029,10,20,190,110,LBS_SORT | LBS_NOINTEGRALHEIGHT |\r
- WS_VSCROLL | WS_HSCROLL\r
- LTEXT "³o¨Ç¦øªA¾¹¨ÌµM°±¤î¹B§@¡G",IDC_STATIC,10,7,147,8\r
- DEFPUSHBUTTON "½T©w",IDOK,82,140,45,15\r
-END\r
-\r
-IDD_SERVERSTATUS DIALOG DISCARDABLE 0, 0, 179, 143\r
-STYLE DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION |\r
- WS_SYSMENU\r
-CAPTION "¦øªA¾¹ª¬ºA"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- CONTROL "¥»ºÝ Cell",IDC_LOCALCELL,"Button",BS_AUTORADIOBUTTON |\r
- WS_GROUP | WS_TABSTOP,20,20,50,8\r
- CONTROL "«ü©wªº Cell¡G",IDC_SPECIFIEDCELL,"Button",\r
- BS_AUTORADIOBUTTON | WS_TABSTOP,20,36,60,10\r
- CONTROL "©Ò¦³ªº Cell",IDC_ALL_CELLS,"Button",BS_AUTORADIOBUTTON |\r
- WS_TABSTOP,20,65,74,10\r
- CONTROL "¤£n±´¬d¦øªA¾¹",IDC_DONTPROBESERVERS,"Button",\r
- BS_AUTOCHECKBOX | WS_TABSTOP,24,87,80,10\r
- PUSHBUTTON "Åã¥Üª¬ºA",IDC_SHOWSTATUS,10,120,50,14\r
- GROUPBOX "Cell",IDC_STATIC,10,5,160,105,WS_GROUP\r
- GROUPBOX "",IDC_STATIC,20,80,90,20,WS_GROUP\r
- EDITTEXT IDC_CELL_NAME,30,47,130,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "Ãö³¬",IDCANCEL,65,120,50,14\r
- PUSHBUTTON "»¡©ú",9,120,120,50,14\r
-END\r
-\r
-IDD_AUTHENTICATION DIALOG DISCARDABLE 0, 0, 285, 158\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "Ų§O"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- LISTBOX IDC_TOKEN_LIST,10,18,265,110,LBS_SORT | LBS_USETABSTOPS |\r
- LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL |\r
- WS_TABSTOP\r
- PUSHBUTTON "¨ú±o°O¸¹",ID_GET_TOKENS,15,137,55,14\r
- PUSHBUTTON "±Ë±ó°O¸¹",ID_DISCARD_TOKENS,80,137,55,14\r
- PUSHBUTTON "Ãö³¬",IDCANCEL,145,137,55,14\r
- PUSHBUTTON "»¡©ú",9,215,137,55,14\r
- LTEXT "¨Ï¥ÎªÌ¦WºÙ",IDC_STATIC,10,9,51,8\r
- LTEXT "Cell ¦WºÙ",IDC_STATIC,104,9,33,8\r
- LTEXT "¹L´Á",IDC_STATIC,222,9,43,8\r
-END\r
-\r
-IDD_KLOG_DIALOG DIALOGEX 0, 0, 169, 93\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "¨ú±o°O¸¹"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- EDITTEXT IDC_NAME,40,10,115,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PASSWORD,40,30,115,12,ES_PASSWORD | ES_AUTOHSCROLL\r
- EDITTEXT IDC_CELL_NAME,40,50,115,12,ES_AUTOHSCROLL\r
- DEFPUSHBUTTON "½T©w",IDOK,20,70,35,14,WS_DISABLED\r
- PUSHBUTTON "¨ú®ø",IDCANCEL,70,70,35,14\r
- PUSHBUTTON "»¡©ú",9,120,70,35,14\r
- LTEXT "¦WºÙ¡G",IDC_STATIC,7,12,32,8\r
- LTEXT "±K½X¡G",IDC_STATIC,7,32,34,8\r
- LTEXT "Cell¡G",IDC_STATIC,7,52,25,8\r
-END\r
-\r
-IDD_UNLOG_DIALOG DIALOGEX 0, 0, 185, 63\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-EXSTYLE WS_EX_APPWINDOW\r
-CAPTION "±Ë±ó°O¸¹"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- DEFPUSHBUTTON "½T©w",IDOK,29,40,35,14\r
- PUSHBUTTON "¨ú®ø",IDCANCEL,79,40,35,14\r
- PUSHBUTTON "»¡©ú",9,129,40,35,14\r
- LTEXT "Cell¡G",IDC_STATIC,7,17,22,8\r
- EDITTEXT IDC_CELL_NAME,31,15,143,12,ES_AUTOHSCROLL\r
-END\r
-\r
-IDD_SUBMTINFO DIALOG DISCARDABLE 0, 0, 257, 186\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r
-CAPTION "¤l¸Ë¸ü"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- LISTBOX IDC_LIST,10,20,183,157,LBS_SORT | LBS_NOINTEGRALHEIGHT |\r
- WS_VSCROLL | WS_HSCROLL | WS_TABSTOP\r
- PUSHBUTTON "·s¼W",IDC_ADD,202,20,45,14\r
- PUSHBUTTON "§R°£",IDC_DELETE,202,39,45,14,WS_DISABLED\r
- PUSHBUTTON "Åܧó",IDC_CHANGE,202,58,45,14,WS_DISABLED\r
- LTEXT "¤l¸Ë¸ü¡G",IDC_STATIC,10,10,50,8\r
- PUSHBUTTON "½T©w",IDOK,202,145,45,14\r
- PUSHBUTTON "¨ú®ø",IDCANCEL,202,163,45,14\r
-END\r
-\r
-IDD_ADD_SUBMOUNT DIALOG DISCARDABLE 0, 0, 235, 79\r
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r
-CAPTION "·s¼W¤l¸Ë¸ü"\r
-FONT 9, "·s²Ó©úÅé"\r
-BEGIN\r
- EDITTEXT IDC_SHARE_NAME,66,8,147,12,ES_AUTOHSCROLL\r
- EDITTEXT IDC_PATH_NAME,66,23,147,12,ES_AUTOHSCROLL\r
- PUSHBUTTON "½T©w",IDOK,22,53,45,14\r
- PUSHBUTTON "¨ú®ø",IDCANCEL,92,53,45,14\r
- PUSHBUTTON "»¡©ú",9,167,53,45,14\r
- LTEXT "¦@¥Î¦WºÙ¡G",IDC_STATIC,18,10,49,8\r
- LTEXT "¸ô®|¦WºÙ¡G",IDC_STATIC,19,25,43,8\r
-END\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// DESIGNINFO\r
-//\r
-\r
-#ifdef APSTUDIO_INVOKED\r
-GUIDELINES DESIGNINFO DISCARDABLE\r
-BEGIN\r
- IDD_SERVERSTATUS, DIALOG\r
- BEGIN\r
- RIGHTMARGIN, 171\r
- END\r
-\r
- IDD_AUTHENTICATION, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 278\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 151\r
- END\r
-\r
- IDD_KLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 162\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 86\r
- END\r
-\r
- IDD_UNLOG_DIALOG, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 178\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 56\r
- END\r
-\r
- IDD_SUBMTINFO, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 10\r
- RIGHTMARGIN, 247\r
- BOTTOMMARGIN, 177\r
- END\r
-\r
- IDD_ADD_SUBMOUNT, DIALOG\r
- BEGIN\r
- LEFTMARGIN, 7\r
- RIGHTMARGIN, 228\r
- TOPMARGIN, 7\r
- BOTTOMMARGIN, 25\r
- END\r
-END\r
-#endif // APSTUDIO_INVOKED\r
-\r
-\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// String Table\r
-//\r
-\r
-STRINGTABLE DISCARDABLE\r
-BEGIN\r
- ID_ACL_CLEAN "fs cleanacl"\r
- ID_ACL_COPY "fs copyacl"\r
- ID_ACL_LIST "fs listacl"\r
- ID_ACL_SET "fs setacl"\r
- ID_VOLUME_CHECK "fs checkvolumes"\r
- ID_VOLUME_DISKFREE "fs diskfree"\r
- ID_VOLUME_EXAMINE "fs examine"\r
- ID_VOLUME_FLUSH "fs flushvolume"\r
- ID_VOLUME_QUOTA_BRIEF "fs quota"\r
- ID_VOLUME_QUOTA_FULL "fs listquota"\r
- ID_VOLUME_QUOTA_SET "fs setvol"\r
- ID_VOLUME_SET "fs setvol"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE\r
-BEGIN\r
- ID_FLUSH "fs flush"\r
- ID_WHEREIS "fs whereis"\r
- ID_SHOWCELL "fs whichcell"\r
- ID_MOUNTPOINT_SHOW "fs lsmount"\r
- ID_MOUNTPOINT_REMOVE "fs rmmount"\r
- ID_SHOW_SERVER "fs whereis"\r
- ID_AUTHENTICATE "µn¤J©Îµn¥X AFS"\r
- ID_SERVER_STATUS "Àˬd¦øªA¾¹"\r
- ID_VOLUME_PROPERTIES "fs listquota, diskfree, examine, quota, setquota, setvol"\r
- ID_VOLUMEPARTITION_UPDATENAMEIDTABLE "fs checkvolumes"\r
- ID_MOUNTPOINT_MAKE "fs mkmount"\r
- IDS_FLUSH_FAILED "µLªk¨R¼g§@¥Î¤¤ªºÀÉ®× %o"\r
- IDS_FLUSH_ERROR "¨R¼gÀÉ®× %o ®Éµo¥Í¿ù»~¡G %s"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE\r
-BEGIN\r
- IDS_FLUSH_OK "¶¶§Q¨R¼g©Ò¿ï¨úªºÀÉ®×"\r
- IDS_CANT_GET_CELL "§PÂ_ Cell ®Éµo¥Í¿ù»~¡G"\r
- IDS_FLUSH_VOLUME_ERROR "¨R¼g %o ®eÅé®Éµo¥Í¿ù»~¡G %s"\r
- IDS_FLUSH_VOLUME_OK "¶¶§Q¨R¼g®eÅé"\r
- IDS_WHERE_IS "ÀÉ®× %o ¦b¥D¹q¸£ %s ¤W"\r
- IDS_CLEANACL_NOT_SUPPORTED\r
- "µLªk²M°£ÀÉ®× %o ªº ACL¡GDFS ¦s¨ú²M³æ¤£¤ä´©²M°£ Acl "\r
- IDS_ACL_IS_FINE "%o ªº¦s¨ú²M³æ¨S¦³°ÝÃD"\r
- IDS_CLEANACL_INVALID_ARG\r
- "µLªk²M°£ÀÉ®× %o ªº ACL¡G ¤Þ¼ÆµL®Ä¡A¥i¯àªºì¦]¥]¬A¡GÀÉ®×¥¼ºÞ¨î¡A©Î¬O¦s¨ú±±¨î²M³æ¤Wªº¨Ï¥ÎªÌ¤H¼Æ¹L¦h"\r
- IDS_ANY_STRING "%o"\r
- IDS_CLEANACL_DONE "¤w§R°£§@¼oªº ACL ¶µ¥Ø¡C"\r
- ID_SUBMOUNTS "«Ø¥ß©Î§R°£ AFS ¤l¸Ë¸ü"\r
- IDS_GETRIGHTS_ERROR "µLªkŪ¨ú¥Ø¿ý %o ªº¦s¨ú²M³æ¡G %o"\r
- IDS_DFSACL_ERROR "µLªk¥H¦¹«ü¥O½s¿è DFS ACL"\r
- IDS_SAVE_ACL_ERROR "µLªkÀx¦s %o ªº ACL¡G %o"\r
- IDS_SAVE_ACL_EINVAL_ERROR\r
- "µ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³æ"\r
- IDS_ACL_READ_ERROR "µLªkŪ¨ú %o ªº ACL¡G %o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE\r
-BEGIN\r
- IDS_NO_DFS_COPY_ACL "µLªk±N ACL ½Æ»s¨ì¥Ø¿ý %o¡GDFS ¦s¨ú²M³æ¤£¤ä´©½Æ»s ACL "\r
- IDS_COPY_ACL_EINVAL_ERROR\r
- "µLªk±N ACL ½Æ»s¨ì¥Ø¿ý %o¡G¤Þ¼ÆµL®Ä¡A¥i¯àªºì¦]¥]¬A¡GÀɮפ£¦b AFS¡C"\r
- IDS_COPY_ACL_ERROR "µLªk±N ACL ½Æ»s¨ì %o¡G %o"\r
- IDS_NOT_MOUNT_POINT_ERROR "%o ¨Ã«D¸Ë¸üÂI¡C"\r
- IDS_LIST_MOUNT_POINT_ERROR "¿ù»~¡G %o"\r
- IDS_MAKE_MP_NOT_AFS_ERROR "¸Ë¸üÂI¥²¶·¦b AFS Àɮרt²Î¤º«Ø¥ß"\r
- IDS_MOUNT_POINT_ERROR "«Ø¥ß¸Ë¸üÂI®Éµo¥Í¿ù»~¡G %o"\r
- IDS_ERROR "¿ù»~¡G%o"\r
- IDS_DELETED "¤w¶¶§Q§R°£"\r
- IDS_SET_QUOTA_ERROR "³]©w°tÃB®Éµo¥Í¿ù»~¡G %o"\r
- ID_SUBMOUNTS_CREATE "«Ø¥ß AFS ¤l¸Ë¸ü"\r
- ID_SUBMOUNTS_EDIT "·s¼W¡BÅܧó©Î¬O§R°£ AFS ¤l¸Ë¸ü"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE\r
-BEGIN\r
- IDS_CHECK_SERVERS_ERROR "ÀˬdÀɮצøªA¾¹¾÷¾¹®Éµo¥Í¿ù»~¡G¡uAFS ¦øªA¾¹ºÞ²zµ{¦¡¡v¡G %o"\r
- IDS_ALL_SERVERS_RUNNING "©Ò¦³¦øªA¾¹³£¦b°õ¦æ¤¤¡C"\r
- IDS_CHECK_VOLUMES_OK "¤wÀˬd©Ò¦³®eÅéID/¦WºÙ¹ïÀ³¡C"\r
- IDS_CHECK_VOLUMES_ERROR "Àˬd®eÅéID/¦WºÙ¹ïÀ³®Éµo¥Í¿ù»~¡G %o"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE\r
-BEGIN\r
- IDS_ACL_ENTRY_NAME_IN_USE "±z©Ò¿ï¾Üªº¦WºÙ¤w¸g¦s¦b¡C½Ð¿é¤J¤£¦Pªº¦WºÙ¡C"\r
- IDS_REALLY_DEL_MOUNT_POINTS "±z½T©wn²¾°£©Ò¿ï¨úªº¸Ë¸üÂI¶Ü¡H"\r
- IDS_DIR_DOES_NOT_EXIST_ERROR "¥Ø¿ý '%o' ¨Ã¤£¦s¦b¡C"\r
- IDS_CLEANACL_MSG "±N§R°£¤w§@¼oªº ACL ¡I"\r
- IDS_COPY_ACL_OK "¤w¶¶§Q³Æ¥÷ ACL¡C"\r
- IDS_GET_TOKENS_NO_AFS_SERVICE\r
- "µLªkŪ¨ú°O¸¹¸ê°T¡GAFS ªA°Èµ{¦¡¥i¯à©|¥¼±Ò°Ê¡C"\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR\r
- "µLªkŪ¨ú°O¸¹¸ê°T¡G«D¹w´Áªº¿ù»~¡Aµ{¦¡½X %d¡C"\r
- IDS_GET_TOKENS_UNEXPECTED_ERROR2\r
- "µLªkŪ¨ú°O¸¹¸ê°T¡G«D¹w´Áªº¿ù»~¡AªA°Èµ{¦¡ %s.%s.%s¡Aµ{¦¡½X %d¡C"\r
- IDS_ENTER_QUOTA "½Ð¿é¤J¦³®Äªº°tÃB¡C"\r
- IDS_AUTHENTICATION_ITEM "Ų§O(&A)..."\r
- IDS_ACLS_ITEM "¦s¨ú±±¨î²M³æ(&C)..."\r
- IDS_VOL_PART_ITEM "®eÅé / ¤À³Î°Ï(&V)"\r
- IDS_VOL_PART_PROPS_ITEM "¤º®e(&P)"\r
- IDS_VOL_PART_REFRESH_ITEM "«·s¾ã²z¦WºÙ/ID ¹ïÀ³(&R)"\r
- IDS_MOUNT_POINT_ITEM "¸Ë¸üÂI(&M)"\r
- IDS_MP_SHOW_ITEM "Åã¥Ü(&S)..."\r
-END\r
-\r
-STRINGTABLE DISCARDABLE\r
-BEGIN\r
- AFX_IDS_APP_TITLE "AFS ¥Î¤áºÝ"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE\r
-BEGIN\r
- IDS_MP_REMOVE_ITEM "²¾°£(&R)..."\r
- IDS_MP_MAKE_ITEM "»s§@(&M)..."\r
- IDS_FLUSH_FILE_DIR_ITEM "¨R¼gÀÉ®× / ¥Ø¿ý(&F)"\r
- IDS_FLUSH_VOLUME_ITEM "¨R¼g®eÅé(&U)"\r
- IDS_SHOW_FILE_SERVERS_ITEM "Åã¥ÜÀɮצøªA¾¹(&F)..."\r
- IDS_SHOW_CELL_ITEM "Åã¥Ü Cell (&C)..."\r
- IDS_SHOW_SERVER_STATUS_ITEM "Åã¥Ü¦øªA¾¹ª¬ºA..."\r
- IDS_AFS_ITEM "AFS(&A)"\r
- IDS_SUBMOUNTS_ITEM "¤l¸Ë¸ü(&B)"\r
- IDS_GET_SUBMT_INFO_ERROR "µLªkŪ¨ú¦@¨É¦WºÙ %o ªº¤l¸Ë¸ü¸ê°T¡C"\r
- IDS_REALLY_DELETE_SUBMT "§R°£¦@¨É¦WºÙ %o ¶Ü¡H"\r
- IDS_SUBMT_SAVE_FAILED "±z¹ï¤l¸Ë¸ü¸ê®Æ®w©Ò§@ªºÅܧóµL®Ä¡C"\r
- IDS_SUBMOUNTS_CREATE_ITEM "·s¼W(&A)"\r
- IDS_SUBMOUNTS_EDIT_ITEM "½s¿è(&E)..."\r
- IDS_EDIT_PATH_NAME "½s¿è¸ô®|¦WºÙ"\r
- IDS_SHOW_CELL "Åã¥Ü Cell"\r
-END\r
-\r
-STRINGTABLE DISCARDABLE\r
-BEGIN\r
- IDS_SHOW_CELL_COLUMN "Cell"\r
- IDS_SHOW_FS "Åã¥ÜÀɮצøªA¾¹"\r
- IDS_SHOW_FS_COLUMN "ÀɮצøªA¾¹"\r
- IDS_REMOVE_MP "²¾°£¸Ë¸üÂI"\r
- IDS_REMOVE_MP_COLUMN "µ²ªG"\r
-END\r
-\r
-#endif // Chinese (Taiwan) resources\r
-/////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-\r
-#ifndef APSTUDIO_INVOKED\r
-/////////////////////////////////////////////////////////////////////////////\r
-//\r
-// Generated from the TEXTINCLUDE 3 resource.\r
-//\r
-#define _AFX_NO_SPLITTER_RESOURCES\r
-#define _AFX_NO_OLE_RESOURCES\r
-#define _AFX_NO_TRACKER_RESOURCES\r
-#define _AFX_NO_PROPERTY_RESOURCES\r
-\r
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHT)\r
-#ifdef _WIN32\r
-LANGUAGE 4, 1\r
-#endif\r
-#include "afs_shl_ext.rc2" // non-Microsoft Visual C++ edited resources\r
-#include "afxres.rc" // Standard components\r
-#endif\r
-/////////////////////////////////////////////////////////////////////////////\r
-#endif // not APSTUDIO_INVOKED\r
-\r
+#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©wn²¾°£©Ò¿ï¨úªº¸Ë¸üÂ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
+
-/*
- * 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
#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
#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
#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
#include <afs/stds.h>
}
+#include <afxpriv.h>
#include "stdafx.h"
#include <sys/types.h>
#include <sys/stat.h>
#include "server_status_dlg.h"
#include "auth_dlg.h"
#include "submounts_dlg.h"
-
+#include "gui2fs.h"
#ifdef _DEBUG
#define new DEBUG_NEW
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)
{
{
EnableAutomation();
nCMRefCount++;
+ HRESULT hr;
+ hr = SHGetMalloc(&m_pAlloc);
+ if (FAILED(hr))
+ m_pAlloc = NULL;
}
CShellExt::~CShellExt()
{
+ if(m_pAlloc) m_pAlloc->Release();
nCMRefCount--;
}
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)
/////////////////////////////////////////////////////////////////////////////
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.
::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
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();
case IDM_SUBMOUNTS_EDIT: nCmdStrID = ID_SUBMOUNTS_EDIT;
break;
+
+ case IDM_REMOVE_SYMLINK: nCmdStrID= ID_REMOVE_SYMLINK;
+ break;
default:
ASSERT(FALSE);
if (!IsPathInAfs(strFileName)) {
pThis->m_astrFileNames.RemoveAll();
break;
+ } else {
+ pThis->m_bIsSymlink=IsSymlink(strFileName);
}
if (IsADir(strFileName))
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;
+}
#include <shlobj.h>
-
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
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:
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()
};
DLLOBJS = $(DLLRESFILE)
$(DLLFILE): $(DLLOBJS)
- $(DLLCONLINK)
+ $(DLLRESLINK)
$(DLLPREP)
############################################################################
############################################################################
+#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"
$(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
extern caddr_t kmem_alloc();
#include <sys/kthread_iface.h> /* 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 <vfs_vm.h>
+#endif /* _OSI_MACHDEP_H_ */
#include <afsconfig.h>
#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 */
#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;
#include <afsconfig.h>
#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"
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;
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,
#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 } ;
#include <afsconfig.h>
#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 */
}
#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;
#include <afsconfig.h>
#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)
/*
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);
#include <afsconfig.h>
#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
/*
* terminate the current component and skip over slashes
*/
- nextPathP = strchr(pathP, '/');
+ nextPathP = afs_strchr(pathP, '/');
if (nextPathP != NULL) {
while (*nextPathP == '/') {
*(nextPathP++) = '\0';
#include <afsconfig.h>
#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 */
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;
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
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;
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;
}
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);
}
curChunk += sizeOfCurEntry;
+ afs_osi_Free(dotCell, dotLen);
afs_PutCell(c, READ_LOCK);
}
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,
dotCell, VNUM_FROM_CIDX_RW(cellidx, 1));
if (!(c->states & CAlias)) linkCount += 2;
+
+ afs_osi_Free(dotCell, dotLen);
afs_PutCell(c, READ_LOCK);
}
#include <afsconfig.h>
#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 */
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
/* afs_server.c */
extern afs_int32 afs_setTime;
+extern afs_rwlock_t afs_xsrvAddr;
/* Imported functions. */
extern struct rx_securityClass *rxnull_NewServerSecurityObject();
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
#include <afsconfig.h>
#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__
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;
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;
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;
}
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;
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();
}
{
}
-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 },
{ 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 },
{ 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];
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;
}
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;
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;
}
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);
#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) |
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 },
{ 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 },
{ 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) */
/* 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);
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
#include <afsconfig.h>
#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 */
} /*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)
{
#include <afsconfig.h>
#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*/
}
#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
*
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();
}
}
DUNLOCK();
-
+#endif
}
#endif /* AFS_LINUX22_ENV */
#include <linux/string.h>
#include <asm/semaphore.h>
#include <linux/errno.h>
+#ifdef COMPLETION_H_EXISTS
+#include <linux/completion.h>
+#endif
#else /* AFS_LINUX22_ENV */
#if defined(AFS_DARWIN_ENV)
#include <afsconfig.h>
#include <afs/param.h>
-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
}
if (as->parms[27].items) {
/* -fakestat */
+ enable_fakestat = 2;
+ }
+ if (as->parms[28].items) {
+ /* -fakestat-all */
enable_fakestat = 1;
}
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);
}
), "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));
}
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 <linux/modversions.h>],
+[#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 <linux/modversions.h>],
+[#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 <linux/modversions.h>],
+[#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 <linux/modversions.h>],
+[#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"
AC_CACHE_VAL(ac_cv_linux_completion_h_exists,
[
AC_TRY_COMPILE(
-[#include <linux/completion.h>],
-[struct completion _c;],
+[#include <linux/completion.h>
+#include <linux/version.h>],
+[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)
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
!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
!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).
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
!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
# /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
# 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) $**
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) $**
# AFSDEV_BUILDTYPE = [ CHECKED | FREE ]
# AFSDEV_INCLUDE = <default include directories>
# AFSDEV_LIB = <default library directories>
-# AFSDEV_BIN = <default build binary directories>
#
# Optional definitions:
# AFSDEV_DESTDIR = <top-level install directory> (default is $(AFSROOT)\DEST)
!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).
!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
* 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
#include "windows.h"
#include "malloc.h"
#include "time.h"
+#include "stdlib.h"
+#include <Winver.h>
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;i++)
+ {
+ if (stricmp(argv[i],"nt")==0)
+ {
+ if ((VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_NT)
+ && (VersionInfo.dwMajorVersion==4)
+ && (VersionInfo.dwMinorVersion==0))
+ return 1;
+ }
+ if (stricmp(argv[i],"xp")==0)
+ {
+ if ((VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_NT)
+ && (VersionInfo.dwMajorVersion==5)
+ && (VersionInfo.dwMinorVersion==1))
+ return 1;
+ }
+ if (stricmp(argv[i],"w2")==0)
+ {
+ if ((VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_NT)
+ && (VersionInfo.dwMajorVersion==5)
+ && (VersionInfo.dwMinorVersion==0))
+ return 1;
+ }
+ if (stricmp(argv[i],"98")==0)
+ {
+ if ((VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS) && (VersionInfo.dwMinorVersion==10))
+ return 1;
+ }
+ if (stricmp(argv[i],"95")==0)
+ {
+ if ((VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS) && (VersionInfo.dwMinorVersion==0))
+
+ return 1;
+ }
+ if (stricmp(argv[i],"9x")==0)
+ {
+ if (VersionInfo.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS)
+ return 1;
+ }
+ if (stricmp(argv[i],"_")==0)
+ return 0;
+ }
+ return 0;
+}
+
+int DoCheckVersion(int argc,char *argv[])
+{
+ //arg 1 nth versions
+ //arg nth _
+ //arg n+1 command
+ //arg n+2 option true
+ //arg n+3 option false
+ //arg n+4 ... command arguments
+ int x,i;
+ int ret;
+ char command[1024];
+ for (x=1;((x<argc) && (strcmp(argv[x],"_")!=0));x++);
+ if (strcmp(argv[x],"_")!=0)
+ return 0xc000;
+ ret=CheckVersion(argc-x,&argv[x]);
+ if (x+6>=argc)
+ {
+ return ret;
+ }
+ for (++x;((x<argc) && (strcmp(argv[x],"_")!=0));x++);
+ if (strcmp(argv[x],"_")!=0)
+ return 0xc000;
+ i=0;
+ GetSystemDirectory(command,sizeof(command));
+ sprintf(command,"%s\\cmd.exe",command);
+ argv[i++]=command;
+ argv[i++]="/c";
+ argv[i++]=argv[x+1];
+ if (ret)
+ argv[i++]=argv[x+2];
+ else
+ argv[i++]=argv[x+3];
+ for (x+=4;x<argc;x++)
+ argv[i++]=argv[x];
+ argv[i]=NULL;
+/* for (i=0;argv[i];i++)
+ command=argv[i];
+*/
+ ret=_spawnv(_P_WAIT,argv[0],argv);
+ return 0;
+}
void Addkey (const char *hkey,const char *subkey,const char *stag,const char *sval)
{
char **pvar,*ch;
long len;
typedef char * CHARP;
-
- if (argc<3)
+ if (argc<3)
usuage();
+ if (strcmp(argv[1],"_")==0)
+ {
+ return DoCheckVersion(argc,argv);
+ }
+ if (strcmp(argv[1],"__")==0)
+ {
+ return CheckProductVersion(argc,argv);
+ }
if (strcmp(argv[1],"}")==0)
{
char v1[4],v2[4],v3[4],v4[4];
#include <afsconfig.h>
#include <afs/param.h>
-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 <mit-cpyright.h>
#include <des.h>
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.
# 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; \
# 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)
<sun4x_57 sun4x_58 sun4x_59>
-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
<all>
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
xdr_rx.o \
xdr_int64.o \
xdr_afsuuid.o \
+ xdr_update.o \
+ xdr_refernce.o \
AFS_component_version_number.o
RXOBJS =\
rxkad_server.o \
rxkad_common.o \
ticket.o \
+ ticket5.o \
+ crc.o \
fcrypt.o \
crypt_conn.o
ticket.o: ${RXKAD}/ticket.c
${CCRULE}
+ticket5.o: ${RXKAD}/ticket5.c
+ ${CCRULE}
+
+crc.o: ${RXKAD}/crc.c
+ ${CCRULE}
+
fcrypt.o: ${RXKAD}/fcrypt.c
${CCRULE}
#
# $ 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.
$(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
+/*
+ * 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 <sys/ksleep.h>
#include <sys/spinlock.h>
-#include <sys/sem_sync.h>
+#include <sys/sem_beta.h>
+#include <sys/errno.h>
+#include <net/netmp.h>
+
+#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_ */
+
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
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
#include <afsconfig.h>
#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 <xti.h>
-#include "../afs/hpux_110.h"
#endif
#include "../afsint/afsint.h"
#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
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
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 " */
* 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) \
(*(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)
#endif
#include <afsconfig.h>
-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
* 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
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
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
rxkad_errs.obj \
AFS_component_version_number.obj \
fcrypt.obj \
+ crc.obj \
+ ticket5.obj \
crypt_conn.obj
# afsrxkad.lib
* 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
#include <afsconfig.h>
#include <afs/param.h>
-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 <afs/stds.h>
#include <sys/types.h>
* 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);
# 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 \
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
#include <afsconfig.h>
#include <afs/param.h>
-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 <afs/stds.h>
#include <sys/types.h>
#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;
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;
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
{
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) {
initialize_RXK_error_table();
initialize_RKS_error_table();
initialize_CMD_error_table();
+ initialize_KTC_error_table();
code = rx_Init (0);
rx_SetRxDeadTime(120);
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);
#include <afsconfig.h>
#include <afs/param.h>
-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 <afs/stds.h>
#include <sys/types.h>
#include <afs/com_err.h>
#include <afs/afsutil.h>
#include <rx/rxkad.h>
+#include <afs/auth.h>
#include "stress.h"
#include "stress_internal.h"
#ifdef AFS_PTHREAD_ENV
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;
/* 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,
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 */
#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;
char *whoami;
u_int threads;
int authentication; /* minimum level of auth to permit */
+ char *keyfile;
};
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 */
};
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
#include <afsconfig.h>
#include <afs/param.h>
-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 <afs/stds.h>
#include <stdio.h>
+#include <fcntl.h>
#include <sys/types.h>
#ifdef AFS_NT40_ENV
#include <winsock2.h>
#include <rx/rxkad.h>
+#include <afs/keys.h>
+#include <afs/cellconfig.h>
+
#include "stress.h"
#include "stress_internal.h"
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;
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) {
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;
{
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;
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;
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;
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;
afs_krb_get_lrealm;
pr_NameToId;
pr_IdToName;
+ pr_SNameToId;
+ afs_get_pag_from_groups;
+ setpag;
local:
*;
rxkad_server.o \
rxkad_common.o \
ticket.o \
+ ticket5.o \
+ crc.o \
fcrypt.o \
crypt_conn.o
ticket.o: ${RXKAD}/ticket.c
${CCRULE}
+ticket5.o: ${RXKAD}/ticket5.c
+ ${CCRULE}
+
+crc.o: ${RXKAD}/crc.c
+ ${CCRULE}
+
fcrypt.o: ${RXKAD}/fcrypt.c
${CCRULE}
#
# $ 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.
#include <afsconfig.h>
#include <afs/param.h>
-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"
#define CHECK_INVARIANTS
#endif /* KERNEL */
+#ifndef NULL
+#define NULL 0
+#endif
+
/* max hash table load factor */
enum { LOAD_FACTOR = 5 };
#include <afsconfig.h>
#include <afs/param.h>
-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 <stdio.h>
#include <stdlib.h> /* for malloc() */
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};
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++)
{
if ( conns[i] != connSuccess )
rx_DestroyConnection(conns[i] );
+ free(addr);
+ free(conns);
+
if ( connSuccess ) return 0; /* success */
else return 1; /* failure */
}
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 */
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++)
{
if ( conns[i] != connSuccess )
rx_DestroyConnection(conns[i] );
+ free(addr);
+ free(conns);
+
if ( connSuccess ) return 0; /* success */
else return 1; /* failure */
}
#include <afsconfig.h>
#include <afs/param.h>
-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 <stdio.h>
#include <errno.h>
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;
{
register struct client *client;
- struct interfaceAddr interf;
int code;
/* Host is held by h_Enumerate */
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));
#include <afsconfig.h>
#include <afs/param.h>
-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 <sys/types.h>
#include <stdio.h>
#include <afsconfig.h>
#include <afs/param.h>
-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 <stdio.h>
#include <sys/types.h>
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? */
#include <afsconfig.h>
#include <afs/param.h>
-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 <rx/xdr.h>
#include <afs/afsint.h>
FdHandle_t *fdP;
*ec = 0;
+ if (h == NULL) {
+ *ec = VSALVAGE;
+ return;
+ }
+
fdP = IH_OPEN(h);
if (fdP == NULL) {
*ec = VSALVAGE;