儲存庫 vbox 的更動 68573
- 時間撮記:
- 2017-8-31 下午12:10:48 (7 年 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/include/VBox/VBoxGuest.h
r68570 r68573 1 1 /** @file 2 2 * VBoxGuest - VirtualBox Guest Additions Driver Interface. (ADD,DEV) 3 * 4 * @note This file is used by 16-bit compilers too (OpenWatcom). 3 5 * 4 6 * @remarks This is in the process of being split up and usage cleaned up. … … 93 95 * @internal */ 94 96 #define VBGL_IOCTL_FLAG_32BIT UINT32_C(0) 97 /** 16-bit specific I/O control flag. */ 98 #define VBGL_IOCTL_FLAG_16BIT UINT32_C(64) 95 99 /** Check if the I/O control is a 64-bit one. */ 96 100 #define VBGL_IOCTL_IS_64BIT(a_uIOCtl) RT_BOOL((a_uIOCtl) & VBGL_IOCTL_FLAG_64BIT) … … 103 107 #elif ARCH_BITS == 32 104 108 # define VBGL_IOCTL_FLAG_CC VBGL_IOCTL_FLAG_32BIT 109 #elif ARCH_BITS == 16 110 # define VBGL_IOCTL_FLAG_CC VBGL_IOCTL_FLAG_16BIT 105 111 #else 106 112 # error "dunno which arch this is!" … … 220 226 AssertCompileSize(VBGLREQHDR, 24); 221 227 /** Pointer to a IOC header. */ 222 typedef VBGLREQHDR *PVBGLREQHDR;228 typedef VBGLREQHDR RT_FAR *PVBGLREQHDR; 223 229 224 230 /** Version of VMMDevRequestHeader structure. */ … … 317 323 } Out; 318 324 } u; 319 } VBGLIOCDRIVERVERSIONINFO, *PVBGLIOCDRIVERVERSIONINFO;325 } VBGLIOCDRIVERVERSIONINFO, RT_FAR *PVBGLIOCDRIVERVERSIONINFO; 320 326 AssertCompileSize(VBGLIOCDRIVERVERSIONINFO, 24 + 20); 321 327 #ifndef RT_OS_OS2 /* figure this one out... */ … … 343 349 { 344 350 /** The MMIO mapping. NULL if no MMIO region. */ 345 struct VMMDevMemory volatile 351 struct VMMDevMemory volatile RT_FAR *pvVmmDevMapping; 346 352 /** The I/O port address. */ 347 353 RTIOPORT IoPort; 348 354 /** Padding, ignore. */ 349 RTIOPORT auPadding[HC_ARCH_BITS == 32 ? 1 : 3];355 RTIOPORT auPadding[HC_ARCH_BITS == 64 ? 3 : 1]; 350 356 } Out; 351 357 } u; 352 } VBGLIOCGETVMMDEVIOINFO, *PVBGLIOCGETVMMDEVIOINFO;353 AssertCompileSize(VBGLIOCGETVMMDEVIOINFO, 24 + (HC_ARCH_BITS == 32 ? 8 : 16));358 } VBGLIOCGETVMMDEVIOINFO, RT_FAR *PVBGLIOCGETVMMDEVIOINFO; 359 AssertCompileSize(VBGLIOCGETVMMDEVIOINFO, 24 + (HC_ARCH_BITS == 64 ? 16 : 8)); 354 360 /** @} */ 355 361 … … 394 400 } Out; 395 401 } u; 396 } VBGLIOCHGCMCONNECT, *PVBGLIOCHGCMCONNECT;402 } VBGLIOCHGCMCONNECT, RT_FAR *PVBGLIOCHGCMCONNECT; 397 403 AssertCompileSize(VBGLIOCHGCMCONNECT, 24 + 132); 398 404 #ifndef RT_OS_OS2 /* figure this one out... */ … … 421 427 } In; 422 428 } u; 423 } VBGLIOCHGCMDISCONNECT, *PVBGLIOCHGCMDISCONNECT;429 } VBGLIOCHGCMDISCONNECT, RT_FAR *PVBGLIOCHGCMDISCONNECT; 424 430 AssertCompileSize(VBGLIOCHGCMDISCONNECT, 24 + 4); 425 431 /** @} */ … … 470 476 uint16_t cParms; 471 477 /* Parameters follow in form HGCMFunctionParameter aParms[cParms] */ 472 } VBGLIOCHGCMCALL, *PVBGLIOCHGCMCALL;478 } VBGLIOCHGCMCALL, RT_FAR *PVBGLIOCHGCMCALL; 473 479 AssertCompileSize(VBGLIOCHGCMCALL, 24 + 16); 474 typedef VBGLIOCHGCMCALL const *PCVBGLIOCHGCMCALL;480 typedef VBGLIOCHGCMCALL const RT_FAR *PCVBGLIOCHGCMCALL; 475 481 476 482 /** … … 567 573 } In; 568 574 } u; 569 } VBGLIOCLOG, *PVBGLIOCLOG;575 } VBGLIOCLOG, RT_FAR *PVBGLIOCLOG; 570 576 /** @} */ 571 577 … … 598 604 } Out; 599 605 } u; 600 } VBGLIOCWAITFOREVENTS, *PVBGLIOCWAITFOREVENTS;606 } VBGLIOCWAITFOREVENTS, RT_FAR *PVBGLIOCWAITFOREVENTS; 601 607 AssertCompileSize(VBGLIOCWAITFOREVENTS, 24 + 8); 602 608 /** @} */ … … 643 649 } In; 644 650 } u; 645 } VBGLIOCCHANGEFILTERMASK, *PVBGLIOCCHANGEFILTERMASK;651 } VBGLIOCCHANGEFILTERMASK, RT_FAR *PVBGLIOCCHANGEFILTERMASK; 646 652 AssertCompileSize(VBGLIOCCHANGEFILTERMASK, 24 + 8); 647 653 /** @} */ … … 698 704 } In; 699 705 } u; 700 } VBGLIOCACQUIREGUESTCAPS, *PVBGLIOCACQUIREGUESTCAPS;706 } VBGLIOCACQUIREGUESTCAPS, RT_FAR *PVBGLIOCACQUIREGUESTCAPS; 701 707 AssertCompileSize(VBGLIOCACQUIREGUESTCAPS, 24 + 12); 702 708 /** @} */ … … 731 737 } Out; 732 738 } u; 733 } VBGLIOCSETGUESTCAPS, *PVBGLIOCSETGUESTCAPS;739 } VBGLIOCSETGUESTCAPS, RT_FAR *PVBGLIOCSETGUESTCAPS; 734 740 AssertCompileSize(VBGLIOCSETGUESTCAPS, 24 + 8); 735 741 typedef VBGLIOCSETGUESTCAPS VBoxGuestSetCapabilitiesInfo; … … 756 762 } In; 757 763 } u; 758 } VBGLIOCSETMOUSESTATUS, *PVBGLIOCSETMOUSESTATUS;764 } VBGLIOCSETMOUSESTATUS, RT_FAR *PVBGLIOCSETMOUSESTATUS; 759 765 /** @} */ 760 766 … … 790 796 PFNVBOXGUESTMOUSENOTIFY pfnNotify; 791 797 /** The callback argument. */ 792 void 793 } In; 794 } u; 795 } VBGLIOCSETMOUSENOTIFYCALLBACK, *PVBGLIOCSETMOUSENOTIFYCALLBACK;798 void RT_FAR *pvUser; 799 } In; 800 } u; 801 } VBGLIOCSETMOUSENOTIFYCALLBACK, RT_FAR *PVBGLIOCSETMOUSENOTIFYCALLBACK; 796 802 /** @} */ 797 803 … … 825 831 } Out; 826 832 } u; 827 } VBGLIOCCHECKBALLOON, *PVBGLIOCCHECKBALLOON;833 } VBGLIOCCHECKBALLOON, RT_FAR *PVBGLIOCCHECKBALLOON; 828 834 AssertCompileSize(VBGLIOCCHECKBALLOON, 24 + 8); 829 835 typedef VBGLIOCCHECKBALLOON VBoxGuestCheckBalloonInfo; … … 854 860 RTR3PTR pvChunk; 855 861 /** Explicit alignment padding, MBZ. */ 856 uint8_t abPadding[ARCH_BITS == 32 ? 4 + 7 : 0+ 7];862 uint8_t abPadding[ARCH_BITS == 64 ? 0 + 7 : 4 + 7]; 857 863 /** true = inflate, false = deflate. */ 858 864 bool fInflate; 859 865 } In; 860 866 } u; 861 } VBGLIOCCHANGEBALLOON, *PVBGLIOCCHANGEBALLOON;867 } VBGLIOCCHANGEBALLOON, RT_FAR *PVBGLIOCCHANGEBALLOON; 862 868 AssertCompileSize(VBGLIOCCHANGEBALLOON, 24+16); 863 869 /** @} */ … … 883 889 } In; 884 890 } u; 885 } VBGLIOCWRITECOREDUMP, *PVBGLIOCWRITECOREDUMP;891 } VBGLIOCWRITECOREDUMP, RT_FAR *PVBGLIOCWRITECOREDUMP; 886 892 AssertCompileSize(VBGLIOCWRITECOREDUMP, 24 + 4); 887 893 typedef VBGLIOCWRITECOREDUMP VBoxGuestWriteCoreDump; … … 929 935 * @param cbReq The size of the data buffer. 930 936 */ 937 # if ARCH_BITS == 32 || defined(DOXYGEN_RUNNING) 931 938 DECLCALLBACKMEMBER(int, pfnServiceEP)(uint32_t u32Session, unsigned iFunction, PVBGLREQHDR pReqHdr, size_t cbReq); 939 # else 940 uint32_t pfnServiceEP; 941 #endif 932 942 933 943 /** The 16-bit service entry point for C code (cdecl). … … 942 952 * @endcode 943 953 */ 954 # if ARCH_BITS == 16 || defined(DOXYGEN_RUNNING) 955 DECLCALLBACKMEMBER(int, fpfnServiceEP)(uint32_t u32Session, uint16_t iFunction, PVBGLREQHDR fpvData, uint16_t cbData); 956 # else 944 957 RTFAR16 fpfnServiceEP; 958 # endif 945 959 946 960 /** The 16-bit service entry point for Assembly code (register). … … 959 973 } VBOXGUESTOS2IDCCONNECT; 960 974 /** Pointer to VBOXGUESTOS2IDCCONNECT buffer. */ 961 typedef VBOXGUESTOS2IDCCONNECT *PVBOXGUESTOS2IDCCONNECT;975 typedef VBOXGUESTOS2IDCCONNECT RT_FAR *PVBOXGUESTOS2IDCCONNECT; 962 976 #endif /* RT_OS_OS2 */ 963 977 … … 996 1010 { 997 1011 /** The session handle (opaque). */ 998 void 1012 void RT_FAR *pvSession; 999 1013 /** The version of the I/O control interface for this session 1000 1014 * (typically VBGL_IOC_VERSION). */ … … 1008 1022 uint32_t uReserved1; 1009 1023 /** Reserved \#2 (will be returned as NULL until defined). */ 1010 void 1024 void RT_FAR *pvReserved2; 1011 1025 } Out; 1012 1026 } u; 1013 } VBGLIOCIDCCONNECT, *PVBGLIOCIDCCONNECT;1014 AssertCompileSize(VBGLIOCIDCCONNECT, 24 + 16 + ARCH_BITS / 8* 2);1027 } VBGLIOCIDCCONNECT, RT_FAR *PVBGLIOCIDCCONNECT; 1028 AssertCompileSize(VBGLIOCIDCCONNECT, 24 + 16 + (ARCH_BITS == 64 ? 8 : 4) * 2); 1015 1029 #ifndef RT_OS_OS2 /* figure this one out... */ 1016 1030 AssertCompile(VBGL_IOCTL_IDC_CONNECT_SIZE_IN == 24 + 16); … … 1040 1054 { 1041 1055 /** The session handle for platforms where this is needed. */ 1042 void 1043 } In; 1044 } u; 1045 } VBGLIOCIDCDISCONNECT, *PVBGLIOCIDCDISCONNECT;1046 AssertCompileSize(VBGLIOCIDCDISCONNECT, 24 + ARCH_BITS / 8);1056 void RT_FAR *pvSession; 1057 } In; 1058 } u; 1059 } VBGLIOCIDCDISCONNECT, RT_FAR *PVBGLIOCIDCDISCONNECT; 1060 AssertCompileSize(VBGLIOCIDCDISCONNECT, 24 + (ARCH_BITS == 64 ? 8 : 4)); 1047 1061 /** @} */ 1048 1062 … … 1059 1073 * @param cbReq The request size. 1060 1074 */ 1061 int VBOXCALL VBoxGuestIDC(void *pvSession, uintptr_t uReq, PVBGLREQHDR pReqHdr, size_t cbReq);1075 int VBOXCALL VBoxGuestIDC(void RT_FAR *pvSession, uintptr_t uReq, PVBGLREQHDR pReqHdr, size_t cbReq); 1062 1076 RT_C_DECLS_END 1063 1077 #endif
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器