VirtualBox

Changeset 28286 in vbox for trunk/include


Ignore:
Timestamp:
Apr 14, 2010 10:02:30 AM (15 years ago)
Author:
vboxsync
Message:

Guest Control: Update (introducing contexts for callbacks).

Location:
trunk/include/VBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/HostServices/GuestControlSvc.h

    r28243 r28286  
    7272};
    7373
     74typedef struct _VBoxGuestCtrlCallbackHeader
     75{
     76    /** Magic number to identify the structure. */
     77    uint32_t u32Magic;
     78    /** Context ID to identify callback data. */
     79    uint32_t u32ContextID;
     80    /** Atomic flag whether callback was called. */
     81    bool bCalled;
     82} HOSTCCALLBACKHEADER, *PHOSTCCALLBACKHEADER;
     83
    7484/**
    7585 * Data structure to pass to the service extension callback.  We use this to
     
    7888typedef struct _VBoxGuestCtrlExecCallbackData
    7989{
    80     /** Magic number to identify the structure. */
    81     uint32_t u32Magic;
     90    /** Callback data header. */
     91    HOSTCCALLBACKHEADER hdr;
    8292    /** The process ID (PID). */
    83     uint32_t pid;
     93    uint32_t u32PID;
    8494    /* The process status. */
    85     uint32_t status;   
     95    uint32_t u32Status;   
    8696    /** Optional flags (not used atm). */
    87     uint32_t flags;
     97    uint32_t u32Flags;
    8898    /** Optional data buffer (not used atm). */
    8999    void *pvData;
    90100    /** Size of optional data buffer (not used atm). */
    91101    uint32_t cbData;
    92     /** Atomic flags whether callback was called. */
    93     bool called;
    94102   
    95103} HOSTEXECCALLBACKDATA, *PHOSTEXECCALLBACKDATA;
     
    97105enum
    98106{
    99     /** Magic number for sanity checking the HOSTCALLBACKDATA structure */
    100     HOSTCALLBACKMAGIC = 0x26011982
     107    /** Magic number for sanity checking the HOSTEXECCALLBACKDATA structure */
     108    HOSTEXECCALLBACKDATAMAGIC = 0x26011982
    101109};
    102110
     
    184192{
    185193    VBoxGuestHGCMCallInfo hdr;
     194
     195    HGCMFunctionParameter context;
    186196
    187197    HGCMFunctionParameter cmd;
     
    216226{
    217227    VBoxGuestHGCMCallInfo hdr;
     228    /** Context ID. */
     229    HGCMFunctionParameter context;
    218230    /** The process ID (PID). */
    219231    HGCMFunctionParameter pid;
  • trunk/include/VBox/VBoxGuestLib.h

    r28218 r28286  
    514514VBGLR3DECL(int)     VbglR3GuestCtrlDisconnect(uint32_t u32ClientId);
    515515VBGLR3DECL(int)     VbglR3GuestCtrlGetHostMsg(uint32_t u32ClientId, uint32_t *puMsg, uint32_t *puNumParms);
    516 VBGLR3DECL(int)     VbglR3GuestCtrlExecGetHostCmd(uint32_t u32ClientId, uint32_t uNumParms,
    517                                                   char    *pszCmd,      uint32_t cbCmd,
     516VBGLR3DECL(int)     VbglR3GuestCtrlExecGetHostCmd(uint32_t  u32ClientId,    uint32_t  uNumParms,
     517                                                  uint32_t *puContext,
     518                                                  char     *pszCmd,         uint32_t  cbCmd,
    518519                                                  uint32_t *puFlags,
    519                                                   char *pszArgs,        uint32_t cbArgs,  uint32_t *puNumArgs,
    520                                                   char *pszEnv,         uint32_t *pcbEnv, uint32_t *puNumEnvVars,
    521                                                   char *pszStdIn,       uint32_t cbStdIn,
    522                                                   char *pszStdOut,      uint32_t cbStdOut,
    523                                                   char *pszStdErr,      uint32_t cbStdErr,
    524                                                   char *pszUser,        uint32_t cbUser,
    525                                                   char *pszPassword,    uint32_t cbPassword,
     520                                                  char     *pszArgs,        uint32_t  cbArgs,   uint32_t *puNumArgs,
     521                                                  char     *pszEnv,         uint32_t *pcbEnv,  uint32_t *puNumEnvVars,
     522                                                  char     *pszStdIn,       uint32_t cbStdIn,
     523                                                  char     *pszStdOut,      uint32_t cbStdOut,
     524                                                  char     *pszStdErr,      uint32_t cbStdErr,
     525                                                  char     *pszUser,        uint32_t cbUser,
     526                                                  char     *pszPassword,    uint32_t cbPassword,
    526527                                                  uint32_t *puTimeLimit);
    527 VBGLR3DECL(int)     VbglR3GuestCtrlExecReportStatus(uint32_t  u32ClientId,
     528VBGLR3DECL(int)     VbglR3GuestCtrlExecReportStatus(uint32_t  u32ClientId,
     529                                                    uint32_t  u32Context,
    528530                                                    uint32_t  u32PID,
    529531                                                    uint32_t  u32Status,
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