Changeset 60622 in vbox for trunk/include/VBox/HostServices/GuestControlSvc.h
- Timestamp:
- Apr 21, 2016 1:00:20 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 106770
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/HostServices/GuestControlSvc.h
r57753 r60622 1 /* $Id$ */ 1 2 /** @file 2 3 * Guest control service - Common header for host service and guest clients. … … 4 5 5 6 /* 6 * Copyright (C) 2011-201 5Oracle Corporation7 * Copyright (C) 2011-2016 Oracle Corporation 7 8 * 8 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 82 83 83 84 /** 84 * Process status when executed in the guest.85 */86 enum eProcessStatus87 {88 /** Process is in an undefined state. */89 PROC_STS_UNDEFINED = 0,90 /** Process has been started. */91 PROC_STS_STARTED = 1,92 /** Process terminated normally. */93 PROC_STS_TEN = 2,94 /** Process terminated via signal. */95 PROC_STS_TES = 3,96 /** Process terminated abnormally. */97 PROC_STS_TEA = 4,98 /** Process timed out and was killed. */99 PROC_STS_TOK = 5,100 /** Process timed out and was not killed successfully. */101 PROC_STS_TOA = 6,102 /** Service/OS is stopping, process was killed. */103 PROC_STS_DWN = 7,104 /** Something went wrong (error code in flags). */105 PROC_STS_ERROR = 8106 };107 108 /** @todo r=bird: Most defines in this file needs to be scoped a little109 * better! For instance INPUT_FLAG_NONE is very generic. */110 111 /**112 * Input flags, set by the host. This is needed for113 * handling flags on the guest side.114 * Note: Has to match Main's ProcessInputFlag_* flags!115 */116 #define INPUT_FLAG_NONE 0x0117 #define INPUT_FLAG_EOF RT_BIT(0)118 119 /**120 * Guest session creation flags.121 * Only handled internally at the moment.122 */123 #define SESSIONCREATIONFLAG_NONE 0x0124 125 /**126 * Guest directory removement flags.127 * Essentially using what IPRT's RTDIRRMREC_F_128 * defines have to offer.129 */130 #define DIRREMOVE_FLAG_RECURSIVE RT_BIT(0)131 /** Delete the content of the directory and the directory itself. */132 #define DIRREMOVE_FLAG_CONTENT_AND_DIR RT_BIT(1)133 /** Only delete the content of the directory, omit the directory it self. */134 #define DIRREMOVE_FLAG_CONTENT_ONLY RT_BIT(2)135 /** Mask of valid flags. */136 #define DIRREMOVE_FLAG_VALID_MASK UINT32_C(0x00000003)137 138 /** @name EXECUTEPROCESSFLAG_XXX Guest process creation flags.139 * @note Has to match Main's ProcessCreateFlag_* flags!140 */141 #define EXECUTEPROCESSFLAG_NONE UINT32_C(0x0)142 #define EXECUTEPROCESSFLAG_WAIT_START RT_BIT(0)143 #define EXECUTEPROCESSFLAG_IGNORE_ORPHANED RT_BIT(1)144 #define EXECUTEPROCESSFLAG_HIDDEN RT_BIT(2)145 #define EXECUTEPROCESSFLAG_NO_PROFILE RT_BIT(3) /** @todo Rename to EXECUTEPROCESSFLAG_PROFILE in next API change. */146 #define EXECUTEPROCESSFLAG_WAIT_STDOUT RT_BIT(4)147 #define EXECUTEPROCESSFLAG_WAIT_STDERR RT_BIT(5)148 #define EXECUTEPROCESSFLAG_EXPAND_ARGUMENTS RT_BIT(6)149 #define EXECUTEPROCESSFLAG_UNQUOTED_ARGS RT_BIT(7)150 /** @} */151 152 /**153 * Pipe handle IDs used internally for referencing to154 * a certain pipe buffer.155 */156 #define OUTPUT_HANDLE_ID_STDOUT_DEPRECATED 0 /* Needed for VBox hosts < 4.1.0. */157 #define OUTPUT_HANDLE_ID_STDOUT 1158 #define OUTPUT_HANDLE_ID_STDERR 2159 160 /**161 * Guest path rename flags.162 * Essentially using what IPRT's RTPATHRENAME_FLAGS_163 * defines have to offer.164 */165 /** Do not replace anything. */166 #define PATHRENAME_FLAG_NO_REPLACE UINT32_C(0)167 /** This will replace attempt any target which isn't a directory. */168 #define PATHRENAME_FLAG_REPLACE RT_BIT(0)169 /** Don't allow symbolic links as part of the path. */170 #define PATHRENAME_FLAG_NO_SYMLINKS RT_BIT(1)171 /** Mask of valid flags. */172 #define PATHRENAME_FLAG_VALID_MASK UINT32_C(0x00000002)173 174 /**175 * Defines for guest process array lengths.176 */177 #define GUESTPROCESS_MAX_CMD_LEN _1K178 #define GUESTPROCESS_MAX_ARGS_LEN _1K179 #define GUESTPROCESS_MAX_ENV_LEN _64K180 #define GUESTPROCESS_MAX_USER_LEN 128181 #define GUESTPROCESS_MAX_PASSWORD_LEN 128182 #define GUESTPROCESS_MAX_DOMAIN_LEN 256183 184 /** @name Internal tools built into VBoxService which are used in order to185 * accomplish tasks host<->guest.186 * @{187 */188 #define VBOXSERVICE_TOOL_CAT "vbox_cat"189 #define VBOXSERVICE_TOOL_LS "vbox_ls"190 #define VBOXSERVICE_TOOL_RM "vbox_rm"191 #define VBOXSERVICE_TOOL_MKDIR "vbox_mkdir"192 #define VBOXSERVICE_TOOL_MKTEMP "vbox_mktemp"193 #define VBOXSERVICE_TOOL_STAT "vbox_stat"194 /** @} */195 196 /**197 * Input status, reported by the client.198 */199 enum eInputStatus200 {201 /** Input is in an undefined state. */202 INPUT_STS_UNDEFINED = 0,203 /** Input was written (partially, see cbProcessed). */204 INPUT_STS_WRITTEN = 1,205 /** Input failed with an error (see flags for rc). */206 INPUT_STS_ERROR = 20,207 /** Process has abandoned / terminated input handling. */208 INPUT_STS_TERMINATED = 21,209 /** Too much input data. */210 INPUT_STS_OVERFLOW = 30211 };212 213 /**214 85 * Structure keeping the context of a host callback. 215 86 */
Note:
See TracChangeset
for help on using the changeset viewer.