#include #include #include #define VIXDISKLIB_VERSION_MAJOR 1 #define VIXDISKLIB_VERSION_MINOR 0 #define VDDK_DISK_OPEN 1 static void panic_if_vixerror(VixError vixError, const char *func_name) { if (VIX_FAILED(vixError)) { fprintf(stderr, "%s failed: %s\n", func_name, VixDiskLib_GetErrorText(vixError, NULL)); exit(1); } fprintf(stderr, "%s: OK\n", func_name); } static void init_connect_params(VixDiskLibConnectParams *cp) { (void) memset(cp, 0, sizeof(*cp)); cp->vmxSpec = NULL; cp->serverName = "192.168.201.106"; cp->credType = VIXDISKLIB_CRED_UID; cp->creds.uid.userName = "root"; cp->creds.uid.password = "abc123"; cp->port = 902; } int main(int argc, char **argv) { (void) argv; VixError vixError; VixDiskLibConnection conn = NULL; VixDiskLibConnectParams cp; if (argc <= 1) { fprintf(stderr, "Usage: $0 \n"); return 1; } init_connect_params(&cp); vixError = VixDiskLib_Init(VIXDISKLIB_VERSION_MAJOR, VIXDISKLIB_VERSION_MINOR, NULL, NULL, NULL, // Log, warn, panic NULL); // libDir panic_if_vixerror(vixError, "VixDiskLib_Init"); vixError = VixDiskLib_Connect(&cp, &conn); panic_if_vixerror(vixError, "VixDiskLib_Connect"); #if VDDK_DISK_OPEN { const char *disk_name = argv[1]; VixDiskLibHandle disk_handle = NULL; VixError vixError = VixDiskLib_Open(conn, disk_name, VIXDISKLIB_FLAG_OPEN_READ_ONLY, &disk_handle); panic_if_vixerror(vixError, "VixDiskLib_Open"); vixError = VixDiskLib_Close(disk_handle); panic_if_vixerror(vixError, "VixDiskLib_Close"); } #endif if (conn != NULL) { vixError = VixDiskLib_Disconnect(conn); panic_if_vixerror(vixError, "VixDiskLib_Disconnect"); conn = NULL; } VixDiskLib_Exit(); printf("--done--\n"); return 0; }