VirtualBox

Ignore:
Timestamp:
Jan 2, 2015 12:16:22 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
97412
Message:

VBoxDTrace: Made dtrace.c compile on linux. (r12)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ExtPacks/VBoxDTrace/include/VBoxDTraceTypes.h

    r53641 r53642  
    3737RT_C_DECLS_BEGIN
    3838
     39struct modctl;
     40
    3941typedef unsigned char           uchar_t;
    4042typedef unsigned int            uint_t;
     
    5860    zoneid_t                cr_zone;
    5961} cred_t;
    60 #define PRIV_POLICY_ONLY(a_pCred, a_uPriv, a_fAll) (true)
    61 #define crgetuid(a_pCred)       ((a_pCred)->cr_uid)
    62 #define crgetzoneid(a_pCred)    ((a_pCred)->cr_zone)
    63 
    64 
    65 typedef struct VBoxDtCyclicId  *cyclic_id_t;
     62#define PRIV_POLICY_ONLY(a_pCred, a_uPriv, a_fAll)  (true)
     63#define priv_isequalset(a, b)                       (true)
     64#define crgetuid(a_pCred)                           ((a_pCred)->cr_uid)
     65#define crgetzoneid(a_pCred)                        ((a_pCred)->cr_zone)
     66#define crhold(a_pCred)                             VBoxDtCredHold
     67#define crfree(a_pCred)                             VBoxDtCredFree
     68void VBoxDtCredHold(struct VBoxDtCred *pCred);
     69void VBoxDtCredFree(struct VBoxDtCred *pCred);
     70
     71
     72typedef struct RTTIMER  *cyclic_id_t;
     73#define CYCLIC_NONE                                 ((struct RTTIMER *)NULL)
     74#define cyclic_remove(a_hTimer)                     RTTimerDestroy(a_hTimer)
    6675
    6776typedef struct VBoxDtThread
     
    8190{
    8291    uint32_t                p_flag;
     92    RTPROCESS               p_pid;
    8393    struct dtrace_helpers  *p_dtrace_helpers;
    8494} proc_t;
     
    8999
    90100
    91 typedef struct VBoxDtDevInfo    dev_info_t;
    92101typedef struct VBoxDtTaskQueue  taskq_t;
    93 typedef struct VBoxDtMemCache   kmem_cache_t;
    94102
    95103typedef struct VBoxDtMutex
     
    100108#define mutex_exit              VBoxDtMutexExit
    101109#define MUTEX_HELD(a_pMtx)      VBoxDtMutexIsOwner(a_pMtx)
     110#define MUTEX_NOT_HELD(a_pMtx)  (!VBoxDtMutexIsOwner(a_pMtx))
    102111#define mod_lock                g_DummyMtx
    103112#define cpu_lock                g_DummyMtx
     
    157166typedef RTUID                   uid_t;
    158167typedef RTPROCESS               pid_t;
    159 typedef RTDEV                   dev_t;
    160168#endif
    161169
     170#define B_FALSE                 (0)
     171#define B_TRUE                  (1)
    162172#define NANOSEC                 RT_NS_1SEC
    163173#define MILLISEC                RT_MS_1SEC
     
    165175#define NCPU                    RTCPUSET_MAX_CPUS
    166176#define P2ROUNDUP(uWhat, uAlign)    ( ((uWhat) + (uAlign) - 1) & ~(uAlign - 1) )
     177#define IS_P2ALIGNED(uWhat, uAlign) ( !((uWhat) & ((uAlign) - 1)) )
    167178#define roundup(uWhat, uUnit)       ( ( (uWhat) + ((uUnit) - 1)) / (uUnit) * (uUnit) )
     179#define MIN(a1, a2)             RT_MIN(a1, a2)
    168180
    169181#define CPU_ON_INTR(a_pCpu)     (false)
     
    194206 * comparsion warnings. */
    195207#define VBDTTYPE(a_VBox, a_Org) a_VBox
     208/** Mark missing void in a parameter list. */
     209#define VBDTVOID                void
     210/** Mark missing static in a function definition. */
     211#define VBDTSTATIC              static
     212#define VBDTUNASS(a_Value)      = a_Value
    196213
    197214/*
     
    207224void  VBoxDtKMemFree(void *pvMem, size_t cbMem);
    208225
     226
     227typedef struct VBoxDtMemCache   kmem_cache_t;
     228#define kmem_cache_create       VBoxDtKMemCacheCreate
     229#define kmem_cache_destroy      VBoxDtKMemCacheDestroy
     230#define kmem_cache_alloc        VBoxDtKMemCacheAlloc
     231#define kmem_cache_free         VBoxDtKMemCacheFree
     232struct VBoxDtMemCache *VBoxDtKMemCacheCreate(const char *pszName, size_t cbBuf, size_t cbAlign,
     233                                             PFNRT pfnCtor, PFNRT pfnDtor, PFNRT pfnReclaim,
     234                                             void *pvUser, void *pvVM, uint32_t fFlags);
     235void  VBoxDtKMemCacheDestroy(struct VBoxDtMemCache *pCache);
     236void *VBoxDtKMemCacheAlloc(struct VBoxDtMemCache *pCache, uint32_t fFlags);
     237void  VBoxDtKMemCacheFree(struct VBoxDtMemCache *pCache, void *pvMem);
     238
     239
    209240typedef struct VBoxDtVMem
    210241{
     
    214245#define VM_SLEEP                RT_BIT(0)
    215246#define VM_BESTFIT              RT_BIT(1)
     247#define VMC_IDENTIFIER          RT_BIT(16)
     248#define vmem_create             VBoxDtVMemCreate
     249#define vmem_destroy            VBoxDtVMemDestroy
    216250#define vmem_alloc              VBoxDtVMemAlloc
    217251#define vmem_free               VBoxDtVMemFree
     252struct VBoxDtVMem *VBoxDtVMemCreate(const char *pszName, void *pvBase, size_t cb, size_t cbUnit,
     253                                    PFNRT pfnAlloc, PFNRT pfnFree, struct VBoxDtVMem *pSrc,
     254                                    size_t cbQCacheMax, uint32_t fFlags);
     255void  VBoxDtVMemDestroy(struct VBoxDtVMem *pVMemArena);
    218256void *VBoxDtVMemAlloc(struct VBoxDtVMem *pVMemArena, size_t cbMem, uint32_t fFlags);
    219257void  VBoxDtVMemFree(struct VBoxDtVMem *pVMemArena, void *pvMem, size_t cbMem);
     
    229267#define ENOSPC                  (28)
    230268#define ENOENT                  (2)
     269#define EFAULT                  (14)
     270#define E2BIG                   (7)
     271#define EACCES                  (13)
     272#define EALREADY                (114)
     273#define ENXIO                   (6)
     274#define EAGAIN                  (11)
     275#define ENOTTY                  (25)
     276#define ESRCH                   (3)
    231277
    232278/*
     
    235281#define bcopy(a_pSrc, a_pDst, a_cb) memmove(a_pDst, a_pSrc, a_cb)
    236282#define bzero(a_pDst, a_cb)         RT_BZERO(a_pDst, a_cb)
     283#define bcmp(a_p1, a_p2, a_cb)      memcmp(a_p1, a_p2, a_cb)
     284#define snprintf                    RTStrPrintf
     285
     286/*
     287 * Copy In/Out
     288 */
     289#define copyin                      VBoxDtCopyIn
     290#define copyout                     VBoxDtCopyOut
     291int  VBoxDtCopyIn(void const *pvUser, void *pvDst, size_t cb);
     292int  VBoxDtCopyOut(void const *pvSrc, void *pvUser, size_t cb);
     293
     294/*
     295 * Device numbers.
     296 */
     297typedef uint64_t                    dev_t;
     298typedef uint32_t                    major_t;
     299typedef uint32_t                    minor_t;
     300#define makedevice(a_Maj, a_Min)    RT_MAKE_U64(a_Min, a_Maj)
     301#define getemajor(a_Dev)            RT_HIDWORD(a_Dev)
     302#define geteminor(a_Dev)            RT_LODWORD(a_Dev)
     303#define getminor(a_Dev)             RT_LODWORD(a_Dev)
     304
     305/*
     306 * DDI
     307 */
     308#define DDI_SUCCESS                 (0)
     309#define DDI_FAILURE                 (-1)
     310#define ddi_soft_state_init         VBoxDtDdiSoftStateInit
     311#define ddi_soft_state_fini         VBoxDtDdiSoftStateTerm
     312#define ddi_soft_state_zalloc       VBoxDtDdiSoftStateAllocZ
     313#define ddi_get_soft_state          VBoxDtDdiSoftStateGet
     314#define ddi_soft_state_free         VBoxDtDdiSoftStateFree
     315int   VBoxDtDdiSoftStateInit(void **ppvSoftStates, size_t cbSoftState, uint32_t cMaxItems);
     316int   VBoxDtDdiSoftStateTerm(void **ppvSoftStates);
     317int   VBoxDtDdiSoftStateAllocZ(void *pvSoftStates, RTDEV uMinor);
     318int   VBoxDtDdiSoftStateFree(void *pvSoftStates, RTDEV uMinor);
     319void *VBoxDtDdiSoftStateGet(void *pvSoftStates, RTDEV uMinor);
     320
     321typedef struct VBoxDtDevInfo        dev_info_t;
     322typedef enum { DDI_ATT_CMD_DUMMY }  ddi_attach_cmd_t;
     323typedef enum { DDI_DETACH, DDI_SUSPEND }  ddi_detach_cmd_t;
     324#define ddi_driver_major            VBoxDtDdiDriverMajor
     325#define ddi_report_dev              VBoxDtDdiReportDev
     326major_t VBoxDtDdiDriverMajor(struct VBoxDtDevInfo *pDevInfo);
     327void    VBoxDtDdiReportDev(struct VBoxDtDevInfo *pDevInfo);
     328
     329/*
     330 * CTF - probably needs to be ported wholesale or smth.
     331 */
     332#define CTF_MODEL_NATIVE            1
    237333
    238334RT_C_DECLS_END
Note: See TracChangeset for help on using the changeset viewer.

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