#define TOOLS_VERSION_CRESCENT_WRENCH_RELEASE_V_MNR 2
#define TOOLS_VERSION_CRESCENT_WRENCH_RELEASE_V_BASE 0
-#define TOOLS_VERSION_CURRENT TOOLS_VERSION_NEXT
-#define TOOLS_VERSION_CURRENT_STR TOOLS_VERSION_TO_STR(TOOLS_VERSION_NEXT)
-#define TOOLS_VERSION_CURRENT_CSV TOOLS_VERSION_TO_CSV(TOOLS_VERSION_NEXT)
+ #ifndef RC_INVOKED
+ #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH1 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_CRESCENT_WRENCH_PATCH1_V)
+ #endif /* RC_INVOKED */
+ #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH1_V_MJR 11
+ #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH1_V_MNR 2
+ #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH1_V_BASE 1
+
+ #ifndef RC_INVOKED
+ #define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V)
+ #endif /* RC_INVOKED */
+ #define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_MJR 11
+ #define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_MNR 2
+ #define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_BASE 5
+
+ #ifndef RC_INVOKED
+ #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH2 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_CRESCENT_WRENCH_PATCH2_V)
+ #endif /* RC_INVOKED */
+ #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH2_V_MJR 11
+ #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH2_V_MNR 2
+ #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH2_V_BASE 6
+
+ #ifndef RC_INVOKED
+ #define TOOLS_VERSION_NEXT TOOLS_VERSION_TO_UINT(TOOLS_VERSION_NEXT_V)
+ #endif /* RC_INVOKED */
+ #define TOOLS_VERSION_NEXT_V_MJR 11
+ #define TOOLS_VERSION_NEXT_V_MNR 3
+ #define TOOLS_VERSION_NEXT_V_BASE 0
+
+#ifndef RC_INVOKED
+#define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V)
+#endif /* RC_INVOKED */
+#define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_MJR 11
+#define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_MNR 2
+#define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_BASE 5
+
+#define TOOLS_VERSION_CURRENT TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1
+#define TOOLS_VERSION_CURRENT_STR TOOLS_VERSION_TO_STR(TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1)
+#define TOOLS_VERSION_CURRENT_CSV TOOLS_VERSION_TO_CSV(TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1)
/*
* The extended Tools version is the current Tools version with the
if (state->mainService && GuestStoreClient_DeInit()) {
g_info("%s: De-initialized GuestStore client.\n", __FUNCTION__);
}
+ if (state->mainService && ToolsNotify_End()) {
+ g_info("%s: End Tools notifications.\n", __FUNCTION__);
+ }
#endif
+ #if defined(_WIN32)
+ if (state->mainService && ToolsNotify_End()) {
+ g_info("%s: End Tools notifications.\n", __FUNCTION__);
+ }
+ #endif
+
if (state->ctx.rpc != NULL) {
RpcChannel_Stop(state->ctx.rpc);
RpcChannel_Destroy(state->ctx.rpc);
error.unknown = "%1$s: 未知 %2$s「%3$s」\n"
- help.config = "%1$s: 修改工具組態\n使用量: %2$s %3$s <子命令>\n\n子命令:\n get <區段> <金鑰>: 顯示目前 <金鑰> 的值\n 備註: 如果 tools.conf 中未顯示 <金鑰>,則其\n 在全域組態中的值會在顯示時傳回\n set <區段> <金鑰> <值>: 設定 <金鑰> 至 <值>\n\n remove <區段> <金鑰>: remove <金鑰>\n\n<區段> 可為任何受支援的區段,例如記錄、guestoperations 或 guestinfo。\n<金鑰> 可為任何組態金鑰。\n<值> 可為任何值。\n"
+ help.config = "%1$s: 修改工具組態\n用法: %2$s %3$s <子命令>\n\n子命令:\n get <區段> <金鑰>: 顯示目前 <金鑰> 的值\n 備註: 如果 tools.conf 中未顯示 <金鑰>,則其\n 在全域組態中的值會在顯示時傳回\n set <區段> <金鑰> <值>: 設定 <金鑰> 至 <值>\n\n remove <區段> <金鑰>: remove <金鑰>\n\n<區段> 可為任何受支援的區段,例如記錄、guestoperations 或 guestinfo。\n<金鑰> 可為任何組態金鑰。\n<值> 可為任何值。\n"
- help.device = "%1$s: 與虛擬機器之硬體裝置相關的功能\n使用量: %2$s %3$s <subcommand> [args]\ndev 是裝置名稱。\n\n子命令:\n enable <dev>: 啟用裝置 dev\n disable <dev>: 停用裝置 dev\n list: 列出所有可用裝置\n status <dev>: 列印裝置狀態\n"
+ help.device = "%1$s: 與虛擬機器之硬體裝置相關的功能\n用法: %2$s %3$s <subcommand> [args]\ndev 是裝置名稱。\n\n子命令:\n enable <dev>: 啟用裝置 dev\n disable <dev>: 停用裝置 dev\n list: 列出所有可用裝置\n status <dev>: 列印裝置狀態\n"
- help.disk = "%1$s: 執行磁碟壓縮作業\n使用量: %2$s %3$s <subcommand> [args]\n\n子命令:\n list: 列出可用位置\n shrink <location>: 抹除和壓縮指定位置的檔案系統\n shrinkonly: 壓縮所有磁碟\n wipe <location>: 抹除指定位置的檔案系統\n"
+ help.disk = "%1$s: 執行磁碟壓縮作業\n用法: %2$s %3$s <subcommand> [args]\n\n子命令:\n list: 列出可用位置\n shrink <location>: 抹除和壓縮指定位置的檔案系統\n shrinkonly: 壓縮所有磁碟\n wipe <location>: 抹除指定位置的檔案系統\n"
+
+ help.globalconf = "%1$s: 從 GuestStore 管理全域組態下載\n用法: %2$s %3$s <子命令>\n\n僅 ESX 客體的子命令:\n enable: 啟用全域組態模組。\n disable: 停用全域組態模組\n refresh: 從 GuestStore 觸發全域組態的新下載\n status: 列印全域組態模組的狀態\n"
+
+ help.gueststore = "%1$s: 從 GuestStore 取得資源內容\n用法: %2$s %3$s <子命令>\n\n僅 ESX 客體的子命令:\n getcontent < 資源路徑 > < 輸出檔案 >: 從 GuestStore 取得資源內容並儲存至輸出檔案。\n\n<資源路徑> 開頭為 /,代表 GuestStore 中的唯一資源。如果結尾為 /,則預設為擷取基礎的「metadata json」資源。\n\n<輸出檔案> 是要儲存資源內容的目標檔案路徑。\n"
+help.globalconf = "%1$s: 從 GuestStore 管理全域組態下載\n使用量: %2$s %3$s <子命令>\n\n僅 ESX 客體的子命令:\n enable: 啟用全域組態模組。(工具服務已重新啟動)\n disable: 停用全域組態模組 (工具服務已重新啟動)\n refresh: 從 GuestStore 觸發全域組態的新下載\n status: 列印全域組態模組的狀態\n"
+
+help.gueststore = "%1$s: 從 GuestStore 取得資源內容\n使用量: %2$s %3$s <子命令>\n\n僅 ESX 客體的子命令:\n getcontent < 資源路徑 > < 輸出檔案 >: 從 GuestStore 取得資源內容並儲存至輸出檔案。\n\n<資源路徑> 開頭為 /,代表 GuestStore 中的唯一資源。如果結尾為 /,則預設為擷取基礎的「metadata json」資源。\n\n<輸出檔案> 是要儲存資源內容的目標檔案路徑。\n"
+
help.hint = "如需詳細資訊,請嘗試「%1$s%2$s%3$s%4$s」。\n"
help.info = "%1$s: 更新主機上的客體資訊\n使用方式: %2$s %3$s update <資訊類別>\n\n子命令:\n update <資訊類別>: 更新依 <資訊類別> 識別之資訊\n<資訊類別> 可為「network」\n"
help.stat = "%1$s: 列印實用的客體和主機資訊\n使用方式: %2$s %3$s <子命令>\n\n子命令:\n hosttime: 列印主機時間\n speed: 列印 CPU 速度 (MHz)\n僅 ESX 客體子命令:\n sessionid: 列印目前的工作階段識別碼\n balloon: 列印記憶體佔用資訊\n swap: 列印記憶體交換資訊\n memlimit: 列印記憶體限制資訊\n memres: 列印記憶體保留區資訊\n cpures: 列印 CPU 保留區資訊\n cpulimit: 列印 CPU 限制資訊\n raw [<代碼> <統計名称>]: 列印原始統計資訊\n <代碼> 可為「text」、「json」、「xml」、「yaml」其中之一。\n <統計名称> 包含「session」、「host」、「resources」、「vscsi」和\n vnet」(某些狀態如 vscsi 為兩個字,例如「vscsi scsi0:0」)。\n 如果並未指定引數 <代碼> 和 <統計名称>\n 則列印可用的統計資料。\n"
- help.timesync = "%1$s: 用於控制客體作業系統時間同步的功能\n使用量: %2$s %3$s <subcommand>\n\n子命令:\n enable: 啟用時間同步\n disable: 停用時間同步\n status: 列印時間同步狀態\n"
+ help.timesync = "%1$s: 用於控制客體作業系統時間同步的功能\n用法: %2$s %3$s <subcommand>\n\n子命令:\n enable: 啟用時間同步\n disable: 停用時間同步\n status: 列印時間同步狀態\n"
+
+ help.upgrade = "%1$s: 與升級 VMware Tools 相關的功能。\n用法: %2$s %3$s <subcommand> [args]\n子命令:\n status: 檢查 VMware Tools 升級狀態。\n start: 啟動 VMware Tools 自動升級。\n\n若要升級作業正常運作,需要執行 VMware Tools 服務。\n"
+
+ globalconf.refresh.failed = "「%1$s」失敗,因為 globalconf 模組已停用。\n"
+
+ globalconf.start_vmtools = "%1$s: 正在啟動 %2$s 服務。\n"
+
+ globalconf.status = "globalconf 模組的狀態為「%1$s」\n"
+
+ globalconf.stop_vmtools = "%1$s: 正在停止 %2$s 服務。\n"
+
+ globalconf.update_config = "%1$s: 正在更新組態。\n"
+
+ gueststore.content_size = "內容大小 (位元組): "
++
++gueststore.error.client_lib = "「%1$s」失敗,GuestStore 用戶端程式庫錯誤: %2$s。\n"
+
- help.upgrade = "%1$s: 與升級 VMware Tools 相關的功能。\n使用量: %2$s %3$s <subcommand> [args]\n子命令:\n status: 檢查 VMware Tools 升級狀態。\n start: 啟動 VMware Tools 自動升級。\n\n若要升級作業正常運作,需要執行 VMware Tools 服務。\n"
++gueststore.progress = "\r進度: %1$d%%"
+
+globalconf.refresh.failed = "「%1$s」失敗,因為 globalconf 模組已停用。\n"
+
+globalconf.start_vmtools = "%1$s: 正在啟動 %2$s 服務。\n"
+
+globalconf.status = "globalconf 模組的狀態為「%1$s」\n"
+
+globalconf.stop_vmtools = "%1$s: 正在停止 %2$s 服務。\n"
+
+globalconf.update_config = "%1$s: 正在更新組態。\n"
+
+gueststore.content_size = "內容大小 (位元組): "
gueststore.error.client_lib = "「%1$s」失敗,GuestStore 用戶端程式庫錯誤: %2$s。\n"
#if defined(_WIN32) || \
(defined(__linux__) && !defined(OPEN_VM_TOOLS) && !defined(USERWORLD))
{ "upgrade", Upgrade_Command, TRUE, TRUE, Upgrade_Help},
+ { "gueststore", GuestStore_Command, TRUE, FALSE, GuestStore_Help},
+#endif
+#if defined(_WIN32)
+ { "globalconf", GlobalConf_Command, TRUE, TRUE, GlobalConf_Help},
+ #endif
+ #if defined(_WIN32) || \
+ (defined(__linux__) && !defined(USERWORLD))
+ { "gueststore", GuestStore_Command, TRUE, FALSE, GuestStore_Help},
+ #endif
+ #if defined(GLOBALCONFIG_SUPPORTED)
+ { "globalconf", GlobalConf_Command, TRUE, TRUE, GlobalConf_Help},
#endif
{ "logging", Logging_Command, TRUE, TRUE, Logging_Help},
{ "info", Info_Command, TRUE, TRUE, Info_Help},
#if defined(_WIN32) || \
(defined(__linux__) && !defined(OPEN_VM_TOOLS) && !defined(USERWORLD))
DECLARE_COMMAND(Upgrade);
+DECLARE_COMMAND(GuestStore);
+#endif
+
+#if defined(_WIN32)
+DECLARE_COMMAND(GlobalConf)
#endif
+ #if defined(_WIN32) || \
+ (defined(__linux__) && !defined(USERWORLD))
+ DECLARE_COMMAND(GuestStore);
+ #endif
+
+ #if defined(GLOBALCONFIG_SUPPORTED)
+
+ DECLARE_COMMAND(GlobalConf)
+
+ #define TOOLBOXCMD_LOAD_GLOBALCONFIG(conf) \
+ { \
+ if (GlobalConfig_GetEnabled(conf)) { \
+ GKeyFile *__globalConf = NULL; \
+ if (GlobalConfig_LoadConfig(&__globalConf, NULL)) { \
+ VMTools_AddConfig(__globalConf, conf); \
+ g_key_file_free(__globalConf); \
+ } \
+ } \
+ }
+ #else
+
+ #define TOOLBOXCMD_LOAD_GLOBALCONFIG(conf)
+
+ #endif
+
#endif /*_TOOLBOX_CMD_H_*/