- Timestamp:
- Aug 31, 2021 5:40:36 PM (3 years ago)
- Location:
- trunk/src/VBox/Devices/Audio
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Audio/AudioTestService.cpp
r91039 r91040 356 356 { 357 357 RT_NOREF(pPktHdr); 358 union 359 { 360 ATSPKTHDR Hdr; 361 int rc; 362 char ach[256]; 363 } uPkt; 364 RT_ZERO(uPkt); 365 366 size_t cchDetail = RTStrPrintfV(&uPkt.ach[sizeof(ATSPKTHDR)], 367 sizeof(uPkt) - sizeof(ATSPKTHDR), 368 pszDetailFmt, va); 369 370 uPkt.rc = rcReq; 371 372 return atsReplyInternal(pThis, pInst, &uPkt.Hdr, pszOpcode, sizeof(int) + cchDetail + 1); 358 359 ATSPKTREPFAIL Rep; 360 RT_ZERO(Rep); 361 362 size_t cchDetail = RTStrPrintfV(Rep.ach, sizeof(Rep.ach), pszDetailFmt, va); 363 364 Rep.rc = rcReq; 365 366 return atsReplyInternal(pThis, pInst, &Rep.Hdr, pszOpcode, sizeof(Rep.rc) + cchDetail + 1); 373 367 } 374 368 -
trunk/src/VBox/Devices/Audio/AudioTestServiceClient.cpp
r91024 r91040 158 158 if (RT_SUCCESS(rc)) 159 159 { 160 if (RTStrNCmp(Reply.szOp, "ACK ", ATSPKT_OPCODE_MAX_LEN) != 0) 161 { 162 LogRelFunc(("Received invalid ACK opcode ('%.8s')\n", Reply.szOp)); 160 /* Most likely cases first. */ 161 if ( RTStrNCmp(Reply.szOp, "ACK ", ATSPKT_OPCODE_MAX_LEN) == 0) 162 { 163 /* Nothing to do here. */ 164 } 165 else if (RTStrNCmp(Reply.szOp, "FAILED ", ATSPKT_OPCODE_MAX_LEN) == 0) 166 { 167 if (Reply.cbPayload) 168 { 169 if (Reply.cbPayload == sizeof(ATSPKTREPFAIL)) 170 { 171 PATSPKTREPFAIL pRep = (PATSPKTREPFAIL)Reply.pvPayload; 172 /** @todo Check NULL termination of pcszMsg? */ 173 174 LogRelFunc(("Received error: %s (%Rrc)\n", pRep->ach, pRep->rc)); 175 176 rc = pRep->rc; /* Reach error code back to caller. */ 177 } 178 else 179 { 180 LogRelFunc(("Received invalid failure payload (cb=%zu)\n", Reply.cbPayload)); 181 rc = VERR_NET_PROTOCOL_ERROR; 182 } 183 } 184 } 185 else 186 { 187 LogRelFunc(("Received invalid opcode ('%.8s')\n", Reply.szOp)); 163 188 rc = VERR_NET_PROTOCOL_ERROR; 164 189 } -
trunk/src/VBox/Devices/Audio/AudioTestServiceProtocol.h
r89614 r91040 189 189 190 190 /** 191 * The failure reply structure. 192 */ 193 typedef struct ATSPKTREPFAIL 194 { 195 /** Embedded packet header. */ 196 ATSPKTHDR Hdr; 197 /** Error code (IPRT-style). */ 198 int rc; 199 /** Error description. */ 200 char ach[256]; 201 } ATSPKTREPFAIL; 202 /** Pointer to a ATSPKTREPFAIL structure. */ 203 typedef ATSPKTREPFAIL *PATSPKTREPFAIL; 204 205 /** 191 206 * Checks if the two opcodes match. 192 207 *
Note:
See TracChangeset
for help on using the changeset viewer.