Changeset 58195 in vbox for trunk/src/VBox/Additions/haiku
- Timestamp:
- Oct 12, 2015 3:13:47 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 103309
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/haiku/SharedFolders/vboxsf.c
r43415 r58195 61 61 if (RT_LIKELY(rc == B_OK) 62 62 { 63 rc = vboxInit();63 rc = VbglR0SfInit(); 64 64 if (RT_SUCCESS(rc)) 65 65 { 66 rc = vboxConnect(&g_clientHandle);66 rc = VbglR0SfConnect(&g_clientHandle); 67 67 if (RT_SUCCESS(rc)) 68 68 { 69 rc = vboxCallSetUtf8(&g_clientHandle);69 rc = VbglR0SfSetUtf8(&g_clientHandle); 70 70 if (RT_SUCCESS(rc)) 71 71 { 72 rc = vboxCallSetSymlinks(&g_clientHandle);72 rc = VbglR0SfSetSymlinks(&g_clientHandle); 73 73 if (RT_FAILURE(rc)) 74 LogRel((FS_NAME ": Warning! vboxCallSetSymlinks failed (rc=%d) - symlink will appear as copies.\n", rc));74 LogRel((FS_NAME ": Warning! VbglR0SfSetSymlinks failed (rc=%d) - symlink will appear as copies.\n", rc)); 75 75 76 76 mutex_init(&g_vnodeCacheLock, "vboxsf vnode cache lock"); 77 Log((FS_NAME ": init_module succeeded.\n");77 Log((FS_NAME ": init_module succeeded.\n"); 78 78 return B_OK; 79 79 } 80 80 else 81 LogRel((FS_NAME ": vboxCallSetUtf8 failed. rc=%d\n", rc));81 LogRel((FS_NAME ": VbglR0SfSetUtf8 failed. rc=%d\n", rc)); 82 82 } 83 83 else 84 LogRel((FS_NAME ": vboxConnect failed. rc=%d\n", rc));84 LogRel((FS_NAME ": VbglR0SfConnect failed. rc=%d\n", rc)); 85 85 } 86 86 else 87 LogRel((FS_NAME ": vboxInit failed. rc=%d\n", rc));87 LogRel((FS_NAME ": VbglR0SfInit failed. rc=%d\n", rc)); 88 88 } 89 89 else 90 LogRel((FS_NAME ": get_module failed for '%s'. rc=%d\n", VBOXGUEST_MODULE_NAME, rc));90 LogRel((FS_NAME ": get_module failed for '%s'. rc=%d\n", VBOXGUEST_MODULE_NAME, rc)); 91 91 92 92 return B_ERROR; … … 99 99 } 100 100 101 if (RT_FAILURE( vboxInit()))102 { 103 dprintf(" vboxInit failed\n");101 if (RT_FAILURE(VbglR0SfInit())) 102 { 103 dprintf("VbglR0SfInit failed\n"); 104 104 return B_ERROR; 105 105 } 106 106 107 if (RT_FAILURE( vboxConnect(&g_clientHandle)))108 { 109 dprintf(" vboxConnect failed\n");107 if (RT_FAILURE(VbglR0SfConnect(&g_clientHandle))) 108 { 109 dprintf("VbglR0SfConnect failed\n"); 110 110 return B_ERROR; 111 111 } 112 112 113 if (RT_FAILURE( vboxCallSetUtf8(&g_clientHandle)))114 { 115 dprintf(" vboxCallSetUtf8 failed\n");113 if (RT_FAILURE(VbglR0SfSetUtf8(&g_clientHandle))) 114 { 115 dprintf("VbglR0SfSetUtf8 failed\n"); 116 116 return B_ERROR; 117 117 } 118 118 119 if (RT_FAILURE( vboxCallSetSymlinks(&g_clientHandle)))120 { 121 dprintf("warning: vboxCallSetSymlinks failed (old vbox?) - symlinks will appear as copies\n");119 if (RT_FAILURE(VbglR0SfSetSymlinks(&g_clientHandle))) 120 { 121 dprintf("warning: VbglR0SfSetSymlinks failed (old vbox?) - symlinks will appear as copies\n"); 122 122 } 123 123 … … 227 227 vboxsf_volume* vbsfvolume = malloc(sizeof(vboxsf_volume)); 228 228 volume->private_volume = vbsfvolume; 229 int rv = vboxCallMapFolder(&g_clientHandle, sharename, &(vbsfvolume->map));229 int rv = VbglR0SfMapFolder(&g_clientHandle, sharename, &(vbsfvolume->map)); 230 230 free(sharename); 231 231 … … 258 258 else 259 259 { 260 dprintf(FS_NAME ": vboxCallMapFolder failed (%d)\n", rv);260 dprintf(FS_NAME ": VbglR0SfMapFolder failed (%d)\n", rv); 261 261 free(volume->private_volume); 262 262 return vbox_err_to_haiku_err(rv); … … 268 268 { 269 269 dprintf(FS_NAME ": unmount\n"); 270 vboxCallUnmapFolder(&g_clientHandle, volume->private_volume);270 VbglR0SfUnmapFolder(&g_clientHandle, volume->private_volume); 271 271 return B_OK; 272 272 } … … 284 284 params.Handle = SHFL_HANDLE_NIL; 285 285 params.CreateFlags = SHFL_CF_LOOKUP | SHFL_CF_ACT_FAIL_IF_NEW; 286 dprintf("sf_stat: calling vboxCallCreate, file %s, flags %x\n", vnode->path->String.utf8, params.CreateFlags);287 rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms);286 dprintf("sf_stat: calling VbglR0SfCreate, file %s, flags %x\n", vnode->path->String.utf8, params.CreateFlags); 287 rc = VbglR0SfCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); 288 288 if (rc == VERR_INVALID_NAME) 289 289 { … … 293 293 if (RT_FAILURE(rc)) 294 294 { 295 dprintf(" vboxCallCreate: %d\n", params.Result);295 dprintf("VbglR0SfCreate: %d\n", params.Result); 296 296 return vbox_err_to_haiku_err(params.Result); 297 297 } 298 298 if (params.Result != SHFL_FILE_EXISTS) 299 299 { 300 dprintf(" vboxCallCreate: %d\n", params.Result);300 dprintf("VbglR0SfCreate: %d\n", params.Result); 301 301 return B_ENTRY_NOT_FOUND; 302 302 } … … 329 329 params.CreateFlags = SHFL_CF_DIRECTORY | SHFL_CF_ACT_OPEN_IF_EXISTS | SHFL_CF_ACT_FAIL_IF_NEW | SHFL_CF_ACCESS_READ; 330 330 331 int rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms);331 int rc = VbglR0SfCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); 332 332 if (RT_SUCCESS(rc)) 333 333 { … … 349 349 else 350 350 { 351 dprintf(FS_NAME ": vboxCallCreate: %d\n", rc);351 dprintf(FS_NAME ": VbglR0SfCreate: %d\n", rc); 352 352 return vbox_err_to_haiku_err(rc); 353 353 } … … 368 368 cookie->buffer_start = cookie->buffer = malloc(cookie->buffer_length); 369 369 370 int rc = vboxCallDirInfo(&g_clientHandle, &volume->map, cookie->handle, cookie->path, 0, cookie->index,370 int rc = VbglR0SfDirInfo(&g_clientHandle, &volume->map, cookie->handle, cookie->path, 0, cookie->index, 371 371 &cookie->buffer_length, cookie->buffer, &cookie->num_files); 372 372 373 373 if (rc != 0 && rc != VERR_NO_MORE_FILES) 374 374 { 375 dprintf(FS_NAME ": vboxCallDirInfo failed: %d\n", rc);375 dprintf(FS_NAME ": VbglR0SfDirInfo failed: %d\n", rc); 376 376 free(cookie->buffer_start); 377 377 cookie->buffer_start = NULL; … … 462 462 vboxsf_dir_cookie* cookie = _cookie; 463 463 464 vboxCallClose(&g_clientHandle, &volume->map, cookie->handle);464 VbglR0SfClose(&g_clientHandle, &volume->map, cookie->handle); 465 465 free(cookie->path); 466 466 free(cookie); … … 477 477 uint32_t bytes = sizeof(SHFLVOLINFO); 478 478 479 int rc = vboxCallFSInfo(&g_clientHandle, &volume->map, 0, 480 (SHFL_INFO_GET | SHFL_INFO_VOLUME), &bytes, (PSHFLDIRINFO)&volume_info); 481 479 int rc = VbglR0SfFsInfo(&g_clientHandle, &volume->map, 0, SHFL_INFO_GET | SHFL_INFO_VOLUME, 480 &bytes, (PSHFLDIRINFO)&volume_info); 482 481 if (RT_FAILURE(rc)) 483 482 { 484 dprintf(FS_NAME ": vboxCallFSInfo failed (%d)\n", rc);483 dprintf(FS_NAME ": VbglR0SfFsInfo failed (%d)\n", rc); 485 484 return vbox_err_to_haiku_err(rc); 486 485 } … … 520 519 } 521 520 522 int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms);521 int rc = VbglR0SfCreate(&g_clientHandle, &volume->map, path, ¶ms); 523 522 if (RT_SUCCESS(rc)) 524 523 { … … 543 542 { 544 543 free(path); 545 dprintf(FS_NAME ": vboxCallCreate: %d\n", rc);544 dprintf(FS_NAME ": VbglR0SfCreate: %d\n", rc); 546 545 return vbox_err_to_haiku_err(rc); 547 546 } … … 638 637 } 639 638 640 int rc = vboxCallCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms);639 int rc = VbglR0SfCreate(&g_clientHandle, &volume->map, vnode->path, ¶ms); 641 640 if (!RT_SUCCESS(rc)) 642 641 { 643 dprintf(" vboxCallCreate returned %d\n", rc);642 dprintf("VbglR0SfCreate returned %d\n", rc); 644 643 return vbox_err_to_haiku_err(rc); 645 644 } … … 700 699 701 700 PSHFLSTRING path = build_path(_dir->private_node, name); 702 int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms);701 int rc = VbglR0SfCreate(&g_clientHandle, &volume->map, path, ¶ms); 703 702 704 703 if (!RT_SUCCESS(rc)) 705 704 { 706 dprintf(" vboxCallCreate returned %d\n", rc);705 dprintf("VbglR0SfCreate returned %d\n", rc); 707 706 free(path); 708 707 return vbox_err_to_haiku_err(rc); … … 730 729 vboxsf_file_cookie* cookie = _cookie; 731 730 732 int rc = vboxCallClose(&g_clientHandle, &volume->map, cookie->handle);733 dprintf(" vboxCallClose returned %d\n", rc);731 int rc = VbglR0SfClose(&g_clientHandle, &volume->map, cookie->handle); 732 dprintf("VbglR0SfClose returned %d\n", rc); 734 733 return vbox_err_to_haiku_err(rc); 735 734 } … … 768 767 uint32_t l = *length; 769 768 void* other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ 770 int rc = vboxCallRead(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false);769 int rc = VbglR0SfRead(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false /*fLocked*/); 771 770 memcpy(buffer, other_buffer, l); 772 771 free(other_buffer); 773 772 774 dprintf(" vboxCallRead returned %d\n", rc);773 dprintf("VbglR0SfRead returned %d\n", rc); 775 774 *length = l; 776 775 return vbox_err_to_haiku_err(rc); … … 790 789 void* other_buffer = malloc(l); /* @todo map the user memory into kernel space here for efficiency */ 791 790 memcpy(other_buffer, buffer, l); 792 int rc = vboxCallWrite(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false);791 int rc = VbglR0SfWrite(&g_clientHandle, &volume->map, cookie->handle, pos, &l, other_buffer, false /*fLocked*/); 793 792 free(other_buffer); 794 793 … … 816 815 817 816 PSHFLSTRING path = build_path(parent->private_node, name); 818 int rc = vboxCallCreate(&g_clientHandle, &volume->map, path, ¶ms);817 int rc = VbglR0SfCreate(&g_clientHandle, &volume->map, path, ¶ms); 819 818 free(path); 820 819 /** @todo r=ramshankar: we should perhaps also check rc here and change … … 822 821 if (params.Handle == SHFL_HANDLE_NIL) 823 822 return vbox_err_to_haiku_err(rc); 824 else 825 { 826 vboxCallClose(&g_clientHandle, &volume->map, params.Handle); 827 return B_OK; 828 } 823 VbglR0SfClose(&g_clientHandle, &volume->map, params.Handle); 824 return B_OK; 829 825 } 830 826 … … 835 831 836 832 PSHFLSTRING path = build_path(parent->private_node, name); 837 int rc = vboxCallRemove(&g_clientHandle, &volume->map, path, SHFL_REMOVE_DIR);833 int rc = VbglR0SfRemove(&g_clientHandle, &volume->map, path, SHFL_REMOVE_DIR); 838 834 free(path); 839 835 … … 847 843 848 844 PSHFLSTRING path = build_path(parent->private_node, name); 849 int rc = vboxCallRemove(&g_clientHandle, &volume->map, path, SHFL_REMOVE_FILE);845 int rc = VbglR0SfRemove(&g_clientHandle, &volume->map, path, SHFL_REMOVE_FILE); 850 846 free(path); 851 847 … … 865 861 PSHFLSTRING oldpath = build_path(fromDir->private_node, fromName); 866 862 PSHFLSTRING newpath = build_path(toDir->private_node, toName); 867 int rc = vboxCallRename(&g_clientHandle, &volume->map, oldpath, newpath, SHFL_RENAME_FILE | SHFL_RENAME_REPLACE_IF_EXISTS);863 int rc = VbglR0SfRename(&g_clientHandle, &volume->map, oldpath, newpath, SHFL_RENAME_FILE | SHFL_RENAME_REPLACE_IF_EXISTS); 868 864 free(oldpath); 869 865 free(newpath); … … 882 878 RT_ZERO(stuff); 883 879 884 int rc = vboxCallSymlink(&g_clientHandle, &volume->map, linkpath, target, &stuff);880 int rc = VbglR0SfSymlink(&g_clientHandle, &volume->map, linkpath, target, &stuff); 885 881 886 882 free(target); … … 896 892 vboxsf_vnode* vnode = link->private_node; 897 893 898 int rc = vboxReadLink(&g_clientHandle, &volume->map, vnode->path, *_bufferSize, buffer);894 int rc = VbglR0SfReadLink(&g_clientHandle, &volume->map, vnode->path, *_bufferSize, buffer); 899 895 *_bufferSize = strlen(buffer); 900 896
Note:
See TracChangeset
for help on using the changeset viewer.