Changeset 19868 in vbox
- Timestamp:
- May 20, 2009 1:52:15 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 47545
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/SUPDrvIOC.h
r19730 r19868 232 232 * @{ 233 233 */ 234 #define SUP_IOCTL_QUERY_FUNCS(cFuncs) SUP_CTL_CODE_BIG(2) 234 #define SUP_IOCTL_QUERY_FUNCS(cFuncs) SUP_CTL_CODE_BIG(2) 235 235 #define SUP_IOCTL_QUERY_FUNCS_SIZE(cFuncs) RT_UOFFSETOF(SUPQUERYFUNCS, u.Out.aFunctions[(cFuncs)]) 236 236 #define SUP_IOCTL_QUERY_FUNCS_SIZE_IN sizeof(SUPREQHDR) … … 1028 1028 1029 1029 1030 /** @name Semaphore Types 1031 * @{ */ 1032 #define SUP_SEM_TYPE_EVENT 0 1033 #define SUP_SEM_TYPE_EVENT_MULTI 1 1034 /** @} */ 1035 1036 1037 /** @name SUP_IOCTL_SEM_CREATE 1038 * Create a semaphore 1039 * @{ 1040 */ 1041 #define SUP_IOCTL_SEM_CREATE SUP_CTL_CODE_SIZE(26, SUP_IOCTL_SEM_CREATE_SIZE) 1042 #define SUP_IOCTL_SEM_CREATE_SIZE sizeof(SUPSEMCREATE) 1043 #define SUP_IOCTL_SEM_CREATE_SIZE_IN sizeof(SUPSEMCREATE) 1044 #define SUP_IOCTL_SEM_CREATE_SIZE_OUT sizeof(SUPSEMCREATE) 1045 typedef struct SUPSEMCREATE 1046 { 1047 /** The header. */ 1048 SUPREQHDR Hdr; 1049 union 1050 { 1051 struct 1052 { 1053 /** The semaphore type. */ 1054 uint32_t uType; 1055 } In; 1056 struct 1057 { 1058 /** The handle of the created semaphore. */ 1059 uint32_t hSem; 1060 } Out; 1061 } u; 1062 } SUPSEMCREATE, *PSUPSEMCREATE; 1063 1064 /** @} */ 1065 1066 1067 /** @name SUP_IOCTL_SEM_OP 1068 * Semaphore operations. 1069 * @{ 1070 */ 1071 #define SUP_IOCTL_SEM_OP SUP_CTL_CODE_SIZE(27, SUP_IOCTL_SEM_OP_SIZE) 1072 #define SUP_IOCTL_SEM_OP_SIZE sizeof(SUPSEMOP) 1073 #define SUP_IOCTL_SEM_OP_SIZE_IN sizeof(SUPSEMOP) 1074 #define SUP_IOCTL_SEM_OP_SIZE_OUT sizeof(SUPREQHDR) 1075 typedef struct SUPSEMOP 1076 { 1077 /** The header. */ 1078 SUPREQHDR Hdr; 1079 union 1080 { 1081 struct 1082 { 1083 /** The operation. */ 1084 uint32_t uOp; 1085 /** The semaphore type. */ 1086 uint32_t uType; 1087 /** The semaphore handle. */ 1088 uint32_t hSem; 1089 /** The number of milliseconds to wait if it's a wait operation. */ 1090 uint32_t cMillies; 1091 } In; 1092 } u; 1093 } SUPSEMOP, *PSUPSEMOP; 1094 1095 /** Wait for a number of millisecons. */ 1096 #define SUPSEMOP_WAIT 0 1097 /** Signal the semaphore. */ 1098 #define SUPSEMOP_SIGNAL 1 1099 /** Reset the sempahore (only applicable to SUP_SEM_TYPE_EVENT_MULTI). */ 1100 #define SUPSEMOP_RESET 2 1101 /** Close the semaphore handle. */ 1102 #define SUPSEMOP_CLOSE 3 1103 1104 /** @} */ 1105 1106 1030 1107 #pragma pack() /* paranoia */ 1031 1108
Note:
See TracChangeset
for help on using the changeset viewer.