VirtualBox

Changeset 40981 in vbox for trunk/include


Ignore:
Timestamp:
Apr 18, 2012 6:56:50 PM (13 years ago)
Author:
vboxsync
Message:

SUPLib,SUPDrv: Working on the user mode tracer interface.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/sup.h

    r40950 r40981  
    11751175SUPR3DECL(int) SUPR3TracerIoCtl(uintptr_t uCmd, uintptr_t uArg, int32_t *piRetVal);
    11761176
     1177/**
     1178 * Registers the user module with the tracer.
     1179 *
     1180 * @returns VBox status code.
     1181 * @param   hModNative          Native module handle.  Pass ~(uintptr_t)0 if not
     1182 *                              at hand.
     1183 * @param   pszModule           The module name.
     1184 * @param   pVtgHdr             The VTG header.
     1185 * @param   fFlags              See SUP_TRACER_UMOD_FLAGS_XXX
     1186 */
     1187SUPR3DECL(int) SUPR3TracerRegisterModule(uintptr_t hModNative, const char *pszModule, struct VTGOBJHDR *pVtgHdr, uint32_t fFlags);
     1188
     1189/**
     1190 * Deregisters the user module.
     1191 *
     1192 * @returns VBox status code.
     1193 * @param   pVtgHdr             The VTG header.
     1194 */
     1195SUPR3DECL(int) SUPR3TracerDeregisterModule(struct VTGOBJHDR *pVtgHdr);
     1196
     1197/**
     1198 * Fire the probe.
     1199 *
     1200 * @param   pVtgProbeLoc        The probe location record.
     1201 * @param   uArg0               Raw probe argument 0.
     1202 * @param   uArg1               Raw probe argument 1.
     1203 * @param   uArg2               Raw probe argument 2.
     1204 * @param   uArg3               Raw probe argument 3.
     1205 * @param   uArg4               Raw probe argument 4.
     1206 */
     1207SUPDECL(void)  SUPTracerFireProbe(struct VTGPROBELOC *pVtgProbeLoc, uintptr_t uArg0, uintptr_t uArg1, uintptr_t uArg2,
     1208                                  uintptr_t uArg3, uintptr_t uArg4);
    11771209/** @} */
    11781210#endif /* IN_RING3 */
     1211
     1212/** @name User mode module flags (SUPR3TracerRegisterModule & SUP_IOCTL_TRACER_UMOD_REG).
     1213 * @{ */
     1214/** Executable image. */
     1215#define SUP_TRACER_UMOD_FLAGS_EXE           UINT32_C(1)
     1216/** Shared library (DLL, DYLIB, SO, etc). */
     1217#define SUP_TRACER_UMOD_FLAGS_SHARED        UINT32_C(2)
     1218/** Image type mask. */
     1219#define SUP_TRACER_UMOD_FLAGS_TYPE_MASK     UINT32_C(3)
     1220/** @} */
    11791221
    11801222
     
    15611603SUPR0DECL(void) SUPR0TracerDeregisterDrv(PSUPDRVSESSION pSession);
    15621604SUPR0DECL(int)  SUPR0TracerRegisterModule(void *hMod, struct VTGOBJHDR *pVtgHdr);
    1563 SUPR0DECL(void) SUPR0TracerFireProbe(uint32_t idProbe, uintptr_t uArg0, uintptr_t uArg1, uintptr_t uArg2,
     1605SUPR0DECL(void) SUPR0TracerFireProbe(struct VTGPROBELOC *pVtgProbeLoc, uintptr_t uArg0, uintptr_t uArg1, uintptr_t uArg2,
    15641606                                     uintptr_t uArg3, uintptr_t uArg4);
    15651607/** @}  */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette