VirtualBox

Changeset 28557 in vbox for trunk/include


Ignore:
Timestamp:
Apr 21, 2010 11:18:32 AM (15 years ago)
Author:
vboxsync
Message:

Guest Control: Update (first stuff for piping output).

Location:
trunk/include/VBox
Files:
2 edited

Legend:

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

    r28434 r28557  
    9898    /** Size of optional data buffer (not used atm). */
    9999    uint32_t cbData;
    100 
    101100} HOSTEXECCALLBACKDATA, *PHOSTEXECCALLBACKDATA;
    102101
     102typedef struct _VBoxGuestCtrlExecOutCallbackData
     103{
     104    /** Callback data header. */
     105    HOSTCCALLBACKHEADER hdr;
     106    /** The process ID (PID). */
     107    uint32_t u32PID;
     108    /* The handle ID (stdout/stderr). */
     109    uint32_t u32HandleId;
     110    /** Optional flags (not used atm). */
     111    uint32_t u32Flags;
     112    /** Optional data buffer. */
     113    void *pvData;
     114    /** Size of optional data buffer. */
     115    uint32_t cbData;
     116} HOSTEXECOUTCALLBACKDATA, *PHOSTEXECOUTCALLBACKDATA;
     117
    103118enum
    104119{
    105     /** Magic number for sanity checking the HOSTEXECCALLBACKDATA structure */
    106     HOSTEXECCALLBACKDATAMAGIC = 0x26011982
     120    /** Magic number for sanity checking the HOSTEXECCALLBACKDATA structure. */
     121    HOSTEXECCALLBACKDATAMAGIC = 0x26011982,
     122    /** Magic number for sanity checking the HOSTEXECOUTCALLBACKDATA structure. */
     123    HOSTEXECOUTCALLBACKDATAMAGIC = 0x11061949
    107124};
    108125
     
    120137     * Sends input data for stdin to a running process executed by HOST_EXEC_CMD.
    121138     */
    122     HOST_EXEC_SEND_STDIN = 2,
     139    HOST_EXEC_SET_INPUT = 2,
    123140    /**
    124141     * Gets the current status of a running process, e.g.
    125142     * new data on stdout/stderr, process terminated etc.
    126143     */
    127     HOST_EXEC_GET_STATUS = 3
     144    HOST_EXEC_GET_OUTPUT = 3
    128145};
    129146
     
    141158     * TODO
    142159     */
    143     GUEST_EXEC_SEND_STDOUT = 3,
     160    GUEST_EXEC_SEND_OUTPUT = 2,
    144161    /**
    145162     * TODO
    146163     */
    147     GUEST_EXEC_SEND_STDERR = 4,
    148     /**
    149      * TODO
    150      */
    151     GUEST_EXEC_SEND_STATUS = 5
     164    GUEST_EXEC_SEND_STATUS = 3
    152165};
    153166
     
    162175     * or starting a program.
    163176     */
    164     GETHOSTMSG_EXEC_CMD = 1,
     177    GETHOSTMSG_EXEC_START_PROCESS = 1,
    165178    /**
    166179     * Sends input data for stdin to a running process executed by HOST_EXEC_CMD.
    167180     */
    168     GETHOSTMSG_EXEC_STDIN = 2
     181    GETHOSTMSG_EXEC_SEND_INPUT = 2,
     182    /**
     183     * Host requests the so far collected stdout/stderr output
     184     * from a running process executed by HOST_EXEC_CMD.
     185     */
     186    GETHOSTMSG_EXEC_GET_OUTPUT = 3
    169187};
    170188
     
    220238
    221239} VBoxGuestCtrlHGCMMsgExecCmd;
     240
     241typedef struct _VBoxGuestCtrlHGCMMsgExecOut
     242{
     243    VBoxGuestHGCMCallInfo hdr;
     244    /** Context ID. */
     245    HGCMFunctionParameter context;
     246    /** The process ID (PID). */
     247    HGCMFunctionParameter pid;
     248    /** The pipe handle ID. */
     249    HGCMFunctionParameter handle;
     250    /** Optional flags. */
     251    HGCMFunctionParameter flags;
     252    /** Data buffer. */
     253    HGCMFunctionParameter data;
     254
     255} VBoxGuestCtrlHGCMMsgExecOut;
    222256
    223257typedef struct _VBoxGuestCtrlHGCMMsgExecStatus
     
    241275typedef struct _VBoxGuestCtrlParamBuffer
    242276{
     277    uint32_t uMsg;
    243278    uint32_t uParmCount;
    244279    VBOXHGCMSVCPARM *pParms;
  • trunk/include/VBox/VBoxGuestLib.h

    r28441 r28557  
    526526                                                  char     *pszPassword,    uint32_t  cbPassword,
    527527                                                  uint32_t *puTimeLimit);
     528VBGLR3DECL(int) VbglR3GuestCtrlExecGetHostCmdOutput(uint32_t  u32ClientId,    uint32_t  uNumParms,
     529                                                    uint32_t *puContext,      uint32_t *puPID,
     530                                                    uint32_t *puHandle,       uint32_t *puFlags);
    528531VBGLR3DECL(int)     VbglR3GuestCtrlExecReportStatus(uint32_t  u32ClientId,
    529532                                                    uint32_t  u32Context,
     
    533536                                                    void     *pvData,
    534537                                                    uint32_t  cbData);
     538VBGLR3DECL(int)     VbglR3GuestCtrlExecSendOut(uint32_t     u32ClientId,
     539                                               uint32_t     u32Context,
     540                                               uint32_t     u32PID,
     541                                               uint32_t     u32Handle,
     542                                               uint32_t     u32Flags,
     543                                               void        *pvData,
     544                                               uint32_t     cbData);
    535545/** @}  */
    536546# endif /* VBOX_WITH_GUEST_CONTROL defined */
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