00001 00059 /******************************************************************************/ 00060 /* This file is part of the uVision/ARM development tools. */ 00061 /* Copyright (c) 2004-2008 KEIL - An ARM Company. All rights reserved. */ 00062 /* This software may only be used under the terms of a valid, current, */ 00063 /* end user licence from KEIL for a compatible version of KEIL software */ 00064 /* development tools. Nothing else gives you the right to use this software. */ 00065 /******************************************************************************/ 00066 00067 #ifndef _UVSOCK_H_ 00068 #define _UVSOCK_H_ 00069 00079 #define UV3_SOCKIF_VERS 207 00080 00085 #define SOCK_NDATA 32768 00086 00091 #define xFALSE ((xBOOL)0) 00092 00097 #define xTRUE (!xFALSE) 00098 00099 00100 #ifdef WIN32 00101 00105 typedef unsigned char xBOOL; 00106 00111 typedef unsigned char xUC8; 00112 00117 typedef unsigned short int xWORD16; 00118 00123 typedef signed short int xINT16; 00124 00129 typedef unsigned __int64 xU64; 00130 00135 typedef signed __int64 xI64; 00136 00137 #else 00138 // Other platform type definitions 00139 #endif /* #ifdef WIN32 */ 00140 00141 /****************************************************************************/ 00142 // Socket-Commmands 00143 /****************************************************************************/ 00144 00152 typedef enum { 00153 00154 //---Command codes: 00155 //--- General functions: 00156 UV_NULL_CMD = 0x0000, 00157 UV_GEN_GET_VERSION = 0x0001, 00158 00159 00160 UV_GEN_UI_UNLOCK = 0x0002, 00161 00162 00163 UV_GEN_UI_LOCK = 0x0003, 00164 00165 00166 UV_GEN_HIDE = 0x0004, 00167 00168 00169 UV_GEN_SHOW = 0x0005, 00170 00171 00172 UV_GEN_RESTORE = 0x0006, 00173 00174 00175 UV_GEN_MINIMIZE = 0x0007, 00176 00177 00178 UV_GEN_MAXIMIZE = 0x0008, 00179 00180 00181 UV_GEN_EXIT = 0x0009, 00182 00183 00184 UV_GEN_GET_EXTVERSION = 0x000A, 00185 00186 00187 UV_GEN_CHECK_LICENSE = 0x000B, 00188 00189 00190 UV_GEN_CPLX_COMPLETE = 0x000C, 00191 00192 00193 00194 //--- Project functions: 00195 UV_PRJ_LOAD = 0x1000, 00196 00197 00198 00199 UV_PRJ_CLOSE = 0x1001, 00200 00201 00202 UV_PRJ_ADD_GROUP = 0x1002, 00203 00204 00205 UV_PRJ_DEL_GROUP = 0x1003, 00206 00207 00208 UV_PRJ_ADD_FILE = 0x1004, 00209 00210 00211 UV_PRJ_DEL_FILE = 0x1005, 00212 00213 00214 UV_PRJ_BUILD = 0x1006, 00215 00216 00217 UV_PRJ_REBUILD = 0x1007, 00218 00219 00220 UV_PRJ_CLEAN = 0x1008, 00221 00222 00223 UV_PRJ_BUILD_CANCEL = 0x1009, 00224 00225 00226 UV_PRJ_FLASH_DOWNLOAD = 0x100A, 00227 00228 00229 00230 UV_PRJ_GET_DEBUG_TARGET = 0x100B, 00231 00232 00233 UV_PRJ_SET_DEBUG_TARGET = 0x100C, 00234 00235 00236 UV_PRJ_GET_OPTITEM = 0x100D, 00237 00238 00239 UV_PRJ_SET_OPTITEM = 0x100E, 00240 00241 00242 UV_PRJ_ENUM_GROUPS = 0x100F, 00243 00244 00245 UV_PRJ_ENUM_FILES = 0x1010, 00246 00247 00248 UV_PRJ_CMD_PROGRESS = 0x1011, 00249 00250 00251 UV_PRJ_ACTIVE_FILES = 0x1012, 00252 00253 00254 UV_PRJ_FLASH_ERASE = 0x1013, 00255 00256 00257 00258 00259 //--- Debug functions: 00260 UV_DBG_ENTER = 0x2000, 00261 00262 00263 00264 UV_DBG_EXIT = 0x2001, 00265 00266 00267 00268 UV_DBG_START_EXECUTION = 0x2002, 00269 00270 00271 00272 UV_DBG_STOP_EXECUTION = 0x2003, 00273 00274 00275 00276 UV_DBG_STATUS = 0x2004, 00277 00278 00279 UV_DBG_RESET = 0x2005, 00280 00281 00282 00283 UV_DBG_STEP_HLL = 0x2006, 00284 00285 00286 UV_DBG_STEP_INTO = 0x2007, 00287 00288 00289 UV_DBG_STEP_INSTRUCTION = 0x2008, 00290 00291 00292 UV_DBG_STEP_OUT = 0x2009, 00293 00294 00295 UV_DBG_CALC_EXPRESSION = 0x200A, 00296 00297 00298 UV_DBG_MEM_READ = 0x200B, 00299 00300 00301 UV_DBG_MEM_WRITE = 0x200C, 00302 00303 00304 UV_DBG_TIME_INFO = 0x200D, 00305 00306 00307 UV_DBG_SET_CALLBACK = 0x200E, 00308 00309 00310 UV_DBG_VTR_GET = 0x200F, 00311 00312 00313 UV_DBG_VTR_SET = 0x2010, 00314 00315 00316 UV_DBG_SERIAL_GET = 0x2011, 00317 00318 00319 UV_DBG_SERIAL_PUT = 0x2012, 00320 00321 00322 UV_DBG_VERIFY_CODE = 0x2013, 00323 00324 00325 00326 UV_DBG_CREATE_BP = 0x2014, 00327 00328 00329 UV_DBG_ENUMERATE_BP = 0x2015, 00330 00331 00332 UV_DBG_CHANGE_BP = 0x2016, 00333 00334 00335 00336 UV_DBG_ENUM_SYMTP = 0x2017, 00337 00338 00339 UV_DBG_ADR_TOFILELINE = 0x2018, 00340 00341 00342 00343 UV_DBG_ENUM_STACK = 0x2019, 00344 00345 00346 UV_DBG_ENUM_VTR = 0x201A, 00347 00348 00349 UV_DBG_UNUSED = 0x201B, 00350 UV_DBG_ADR_SHOWCODE = 0x201C, 00351 00352 00353 UV_DBG_WAKE = 0x201D, 00354 00355 00356 00357 UV_DBG_SLEEP = 0x201E, 00358 00359 00360 00361 UV_MSGBOX_MSG = 0x201F, 00362 00363 00364 //---Answers/Error from uVision to Client: 00365 UV_CMD_RESPONSE = 0x3000, 00366 00367 00368 //---Asynchronous messages: 00369 UV_ASYNC_MSG = 0x4000, 00370 00371 00372 //--- Special Asynchronous messages: 00373 //--- Project functions: 00374 UV_PRJ_BUILD_COMPLETE = 0x5000, 00375 00376 UV_PRJ_BUILD_OUTPUT = 0x5001, 00377 00378 00379 //--- Debug functions: 00380 UV_DBG_CALLBACK = 0x5002, 00381 00382 00383 //--- Response to UV_DBG_ENUMERATE_BP: 00384 UV_DBG_BP_ENUM_START = 0x5004, 00385 00386 UV_DBG_BP_ENUMERATED = 0x5005, 00387 00388 UV_DBG_BP_ENUM_END = 0x5006, 00389 00390 00391 //--- Response to UV_PRJ_ENUM_GROUPS: 00392 UV_PRJ_ENUM_GROUPS_START= 0x5007, 00393 00394 UV_PRJ_ENUM_GROUPS_ENU = 0x5008, 00395 00396 UV_PRJ_ENUM_GROUPS_END = 0x5009, 00397 00398 00399 //--- Response to UV_PRJ_ENUM_FILES: 00400 UV_PRJ_ENUM_FILES_START = 0x500A, 00401 00402 UV_PRJ_ENUM_FILES_ENU = 0x500B, 00403 00404 UV_PRJ_ENUM_FILES_END = 0x500C, 00405 00406 00407 //--- Progress bar functions 00408 UV_PRJ_PBAR_INIT = 0x500D, 00409 00410 UV_PRJ_PBAR_STOP = 0x500E, 00411 00412 UV_PRJ_PBAR_SET = 0x500F, 00413 00414 UV_PRJ_PBAR_TEXT = 0x5010, 00415 00416 00417 //--- Response to UV_DBG_ENUM_SYMTP: 00418 UV_DBG_ENUM_SYMTP_START = 0x5011, 00419 00420 UV_DBG_ENUM_SYMTP_ENU = 0x5012, 00421 00422 UV_DBG_ENUM_SYMTP_END = 0x5013, 00423 00424 00425 //--- Response to UV_DBG_ENUM_STACK: 00426 UV_DBG_ENUM_STACK_START = 0x5014, 00427 00428 UV_DBG_ENUM_STACK_ENU = 0x5015, 00429 00430 UV_DBG_ENUM_STACK_END = 0x5016, 00431 00432 00433 //--- Response to UV_DBG_ENUM_VTR: 00434 UV_DBG_ENUM_VTR_START = 0x5017, 00435 00436 UV_DBG_ENUM_VTR_ENU = 0x5018, 00437 00438 UV_DBG_ENUM_VTR_END = 0x5019, 00439 00440 00441 //--- Real-Time Agent: 00442 UV_RTA_MESSAGE = 0x6000, 00443 00444 UV_RTA_INCOMPATIBLE = 0x6001, 00445 00446 00447 //--- Test definititions (for testing only): 00448 UV_TST_1 = 0xFF00, 00449 UV_TST_2 = 0xFF01, 00450 UV_TST_3 = 0xFF02, 00451 UV_TST_4 = 0xFF03, 00452 UV_TST_5 = 0xFF04, 00453 UV_TST_6 = 0xFF05, 00454 UV_TST_7 = 0xFF06, 00455 UV_TST_8 = 0xFF07, 00456 UV_TST_9 = 0xFF08, 00457 UV_TST_10 = 0xFF09 00458 } UV_OPERATION; 00459 00467 typedef enum _tag_UV_STATUS { 00468 UV_STATUS_SUCCESS = 0, 00469 UV_STATUS_FAILED = 1, 00470 UV_STATUS_NO_PROJECT = 2, 00471 UV_STATUS_WRITE_PROTECTED = 3, 00472 UV_STATUS_NO_TARGET = 4, 00473 UV_STATUS_NO_TOOLSET = 5, 00474 UV_STATUS_NOT_DEBUGGING = 6, 00475 UV_STATUS_ALREADY_PRESENT = 7, 00476 UV_STATUS_INVALID_NAME = 8, 00477 UV_STATUS_NOT_FOUND = 9, 00478 UV_STATUS_DEBUGGING = 10, 00479 UV_STATUS_TARGET_EXECUTING = 11, 00480 UV_STATUS_TARGET_STOPPED = 12, 00481 UV_STATUS_PARSE_ERROR = 13, 00482 UV_STATUS_OUT_OF_RANGE = 14, 00483 00484 UV_STATUS_BP_CANCELLED = 15, 00485 UV_STATUS_BP_BADADDRESS = 16, 00486 UV_STATUS_BP_NOTSUPPORTED = 17, 00487 UV_STATUS_BP_FAILED = 18, 00488 UV_STATUS_BP_REDEFINED = 19, 00489 UV_STATUS_BP_DISABLED = 20, 00490 UV_STATUS_BP_ENABLED = 21, 00491 UV_STATUS_BP_CREATED = 22, 00492 UV_STATUS_BP_DELETED = 23, 00493 UV_STATUS_BP_NOTFOUND = 24, 00494 00495 UV_STATUS_BUILD_OK_WARNINGS = 25, 00496 UV_STATUS_BUILD_FAILED = 26, 00497 UV_STATUS_BUILD_CANCELLED = 27, 00498 00499 UV_STATUS_NOT_SUPPORTED = 28, 00500 UV_STATUS_TIMEOUT = 29, 00501 UV_STATUS_UNEXPECTED_MSG = 30, 00502 00503 UV_STATUS_VERIFY_FAILED = 31, 00504 00505 UV_STATUS_NO_ADRMAP = 32, 00506 UV_STATUS_INFO = 33, 00507 00508 UV_STATUS_NO_MEM_ACCESS = 34, 00509 UV_STATUS_FLASH_DOWNLOAD = 35, 00510 UV_STATUS_BUILDING = 36, 00511 UV_STATUS_HARDWARE = 37, 00512 UV_STATUS_SIMULATOR = 38, 00513 00514 UV_STATUS_BUFFER_TOO_SMALL = 39, 00515 00516 UV_STATUS_END 00517 } UV_STATUS; 00518 00519 00524 typedef enum vtt_type { 00525 VTT_void = 0, 00526 VTT_bit = 1, 00527 VTT_char = 2, 00528 VTT_uchar = 3, 00529 VTT_int = 4, 00530 VTT_uint = 5, 00531 VTT_short = 6, 00532 VTT_ushort = 7, 00533 VTT_long = 8, 00534 VTT_ulong = 9, 00535 VTT_float = 10, 00536 VTT_double = 11, 00537 VTT_ptr = 12, 00538 VTT_union = 13, 00539 VTT_struct = 14, 00540 VTT_func = 15, 00541 VTT_string = 16, 00542 VTT_enum = 17, 00543 VTT_field = 18, 00544 VTT_int64 = 19, 00545 VTT_uint64 = 20, 00546 VTT_end 00547 } VTT_TYPE; 00548 00549 00550 #pragma pack(1) 00551 00562 typedef struct cycts { 00563 xU64 cycles; 00564 double tStamp; 00565 } CYCTS; 00566 00582 typedef struct sstr { 00583 int nLen; 00584 char szStr[256]; 00585 } SSTR; 00586 00594 typedef struct tval { 00595 VTT_TYPE vType; 00596 union { 00597 unsigned long ul; 00598 signed char sc; 00599 unsigned char uc; 00600 signed short i16; 00601 unsigned short u16; 00602 signed long l; 00603 int i; 00604 xI64 i64; 00605 xU64 u64; 00606 float f; 00607 double d; 00608 } v; 00609 } TVAL; 00610 00628 typedef struct vset_t { 00629 TVAL val; 00630 SSTR str; 00631 } VSET; 00632 00648 typedef struct amem { 00649 xU64 nAddr; 00650 UINT nBytes; 00651 xU64 ErrAddr; 00652 UINT nErr; 00653 xUC8 aBytes[1]; 00654 } AMEM; 00655 00671 typedef struct serio { 00672 xWORD16 nChannel; 00673 xWORD16 itemMode; 00674 DWORD nMany; 00675 union { 00676 xUC8 aBytes[1]; 00677 xWORD16 aWords[1]; 00678 } s; 00679 } SERIO; 00680 00700 typedef struct prjdat { 00701 UINT nLen; 00702 UINT nCode; 00703 char szNames[1]; 00704 } PRJDATA; 00705 00710 typedef enum uvbuildcodes { 00711 UVBUILD_OK = 1, 00712 UVBUILD_OK_WARNINGS = 2, 00713 UVBUILD_ERRORS = 3, 00714 UVBUILD_CANCELLED = 4, 00715 UVBUILD_CLEANED = 5, 00716 UVBUILD_CODES_END 00717 } UVBUILDCODES; 00718 00723 typedef enum bktype { 00724 BRKTYPE_EXEC = 1, 00725 BRKTYPE_READ = 2, 00726 BRKTYPE_WRITE = 3, 00727 BRKTYPE_READWRITE = 4, 00728 BRKTYPE_COMPLEX = 5, 00729 BRKTYPE_END 00730 } BKTYPE; 00731 00742 typedef struct bkparm { 00743 BKTYPE type; 00744 UINT count; 00745 UINT accSize; 00746 UINT nExpLen; 00747 UINT nCmdLen; 00748 char szBuffer[1024]; 00749 } BKPARM; 00750 00762 typedef struct bkrsp { 00763 BKTYPE type; 00764 UINT count; 00765 UINT enabled; 00766 UINT nTickMark; 00767 xU64 nAddress; 00768 UINT nExpLen; 00769 char szBuffer[512]; 00770 } BKRSP; 00771 00776 typedef enum chg_type { 00777 CHG_KILLBP = 1, 00778 CHG_ENABLEBP = 2, 00779 CHG_DISABLEBP = 3, 00780 CHG_END 00781 } CHG_TYPE; 00782 00793 typedef struct bkchg { 00794 CHG_TYPE type; 00795 UINT nTickMark; 00796 UINT nRes[8]; 00797 } BKCHG; 00798 00803 typedef enum optsel { 00804 OPT_LMISC = 1, 00805 OPT_CMISC = 2, 00806 OPT_AMISC = 3, 00807 OPT_CINCL = 4, 00808 OPT_AINCL = 5, 00809 OPT_CDEF = 6, 00810 OPT_ADEF = 7, 00811 OPT_CUNDEF = 8, 00812 OPT_AUNDEF = 9, 00813 OPT_COPTIMIZE = 10, 00814 OPT_CODEGEN = 11, 00815 OPT_MEMRANGES = 12, 00816 OPT_ASNMEMRANGES = 13, 00817 OPT_END 00818 } OPTSEL; 00819 00851 typedef struct trnopt { 00852 OPTSEL job; 00853 UINT iTarg; 00854 UINT iGroup; 00855 UINT iFile; 00856 UINT iItem; 00857 char szBuffer[3]; 00858 } TRNOPT; 00859 00864 typedef enum uv_mr { 00865 UV_MR_NONE = 0, 00866 UV_MR_ROM = 1, 00867 UV_MR_RAM = 2, 00868 UV_MR_END 00869 } UV_MR; 00870 00878 typedef struct uv_mrange { 00879 DWORD mType : 8; 00880 DWORD dfltRam : 1; 00881 DWORD dfltRom : 1; 00882 DWORD isZiRam : 1; 00883 DWORD :21; 00884 DWORD nRes[3]; 00885 00886 xU64 nStart; 00887 xU64 nSize; 00888 } UV_MRANGE; 00889 00900 typedef struct uv_minfo { 00901 UINT nRanges; 00902 UINT nRes[8]; 00903 UV_MRANGE mr; 00904 } UV_MEMINFO; 00905 00916 typedef struct uvlicinfo { 00917 DWORD rvmdk : 1; 00918 DWORD : 31; 00919 DWORD nRes[10]; 00920 } UVLICINFO; 00921 00926 typedef enum uv_target { 00927 UV_TARGET_HW = 0, 00928 UV_TARGET_SIM = 1, 00929 UV_TARGET_END 00930 } UV_TARGET; 00931 00945 typedef struct dbgtgtopt { 00946 DWORD target : 1; 00947 DWORD : 31; 00948 DWORD nRes[10]; 00949 } DBGTGTOPT; 00950 00955 typedef enum pgcmd { 00956 UV_PROGRESS_INIT = 1, 00957 UV_PROGRESS_SETPOS = 2, 00958 UV_PROGRESS_CLOSE = 3, 00959 UV_PROGRESS_INITTXT = 4, 00960 UV_PROGRESS_SETTEXT = 5, 00961 UV_PROGRESS_END 00962 } PGCMD; 00963 00974 typedef struct pgress { 00975 PGCMD job; 00976 UINT perc; 00977 UINT nRes[8]; 00978 char szLabel[1]; 00979 } PGRESS; 00980 00991 typedef struct extvers { 00992 UINT iV_Uv3; 00993 UINT iV_Sock; 00994 UINT nRes[30]; 00995 char szBuffer[3]; 00996 } EXTVERS; 00997 01002 typedef enum enTpJob { 01003 UV_TPENUM_MEMBERS = 1, 01004 UV_TPENUM_END 01005 } ENTPJOB; 01006 01020 typedef struct enumtpm { 01021 ENTPJOB Job; 01022 UINT nOffs; 01023 UINT nSize; 01024 UINT nRes[8]; 01025 char szID[512]; 01026 } ENUMTPM; 01027 01038 typedef struct adrmtfl { 01039 UINT bFull : 1; 01040 UINT : 31; 01041 xU64 nAdr; 01042 UINT nRes[7]; 01043 } ADRMTFL; 01044 01055 typedef struct aflmap { 01056 UINT nLine; 01057 xU64 nAdr; 01058 UINT iFile; 01059 UINT iFunc; 01060 int nRes[5]; 01061 char szFile[1]; 01062 } AFLMAP; 01063 01068 typedef enum stopreason { 01069 STOPREASON_UNDEFINED = 0x0000, 01070 STOPREASON_EXEC = 0x0001, 01071 STOPREASON_READ = 0x0002, 01072 STOPREASON_HIT_WRITE = 0x0004, 01073 STOPREASON_HIT_COND = 0x0008, 01074 STOPREASON_HIT_ESC = 0x0010, 01075 STOPREASON_HIT_VIOLA = 0x0020, 01076 STOPREASON_TIME_OVER = 0x0040, 01077 STOPREASON_UNDEFINS = 0x0080, 01078 STOPREASON_PABT = 0x0100, 01079 STOPREASON_DABT = 0x0200, 01080 STOPREASON_NONALIGN = 0x0400, 01081 STOPREASON_END 01082 } STOPREASON; 01083 01095 typedef struct bpreason { 01096 UINT nRes1; 01097 UINT nRes2; 01098 UINT StrLen; 01099 STOPREASON eReason; 01100 xU64 nPC; 01101 xU64 nAdr; 01102 int nBpNum; 01103 UINT nTickMark; 01104 UINT nRes[4]; 01105 } BPREASON; 01106 01117 typedef struct istkenum { 01118 UINT bFull : 1; 01119 UINT :31; 01120 UINT nRes[7]; 01121 } iSTKENUM; 01122 01133 typedef struct stackenum { 01134 UINT nItem; 01135 xU64 nAdr; 01136 xU64 nRetAdr; 01137 UINT nRes[7]; 01138 } STACKENUM; 01139 01150 typedef struct ivtrenum { 01151 UINT bValue : 1; 01152 UINT :31; 01153 UINT nRes[7]; 01154 } iVTRENUM; 01155 01166 typedef struct avtr { 01167 UINT bValue : 1; 01168 UINT vtrType : 8; 01169 UINT vtrFrq : 1; 01170 UINT vtrClock : 1; 01171 UINT vtrNo :16; 01172 UINT : 5; 01173 01174 UINT nRes[7]; 01175 TVAL value; 01176 char szName[1]; 01177 } AVTR; 01178 01189 typedef struct iInterval { 01190 UINT bAutoStart : 1; 01191 UINT bCycles : 1; 01192 UINT bSetInterval : 1; 01193 UINT :29; 01194 float fSeconds; 01195 xI64 iCycles; 01196 UINT nRes[7]; 01197 } iINTERVAL; 01198 01210 typedef struct iShowSync { 01211 xU64 nAdr; 01212 UINT bAsm : 1; 01213 UINT bHll : 1; 01214 UINT bAsmRes : 1; 01215 UINT bHllRes : 1; 01216 UINT :28; 01217 UINT nRes[7]; 01218 } iSHOWSYNC; 01219 01220 #pragma pack(1) // () 01221 01231 typedef struct _tag_UVSOCK_ERROR_RESPONSE { 01232 UINT nRes1; 01233 UINT nRes2; 01234 UINT StrLen; 01235 BYTE str [SOCK_NDATA-20]; 01236 } UVSOCK_ERROR_RESPONSE; 01237 01238 01254 typedef struct _tag_UVSOCK_CMD_RESPONSE { 01255 UV_OPERATION cmd; 01256 UV_STATUS status; 01257 union { 01258 UVSOCK_ERROR_RESPONSE err; 01259 UINT nVal; 01260 CYCTS time; 01261 AMEM amem; 01262 SERIO serdat; 01263 VSET vset; 01264 BKRSP brk; 01265 TRNOPT trnopt; 01266 SSTR str; 01267 EXTVERS evers; 01268 ENUMTPM tpm; 01269 AFLMAP aflm; 01270 BPREASON StopR; 01271 STACKENUM stack; 01272 AVTR vtr; 01273 UVLICINFO licinfo; 01274 DBGTGTOPT dbgtgtopt; 01275 }; 01276 } UVSOCK_CMD_RESPONSE; 01277 01278 01294 typedef union _tag_UVSOCK_CMD_DATA { 01295 BYTE raw [SOCK_NDATA]; 01296 01297 // Request message, and / or legacy format asynchronous data 01298 PRJDATA prjdata; 01299 AMEM amem; 01300 SERIO serdat; 01301 VSET vset; 01302 TRNOPT trnopt; 01303 SSTR sstr; 01304 BKPARM bkparm; 01305 BKCHG bkchg; 01306 DBGTGTOPT dbgtgtopt; 01307 ADRMTFL adrmtfl; 01308 iSHOWSYNC ishowsync; 01309 iVTRENUM ivtrenum; 01310 01311 // Command response, or new format asynchronous message data 01312 UVSOCK_CMD_RESPONSE cmdRsp; 01313 01314 } UVSOCK_CMD_DATA; 01315 01338 typedef struct _tag_UVSOCK_CMD { 01339 UINT m_nTotalLen; 01340 UV_OPERATION m_eCmd; 01341 UINT m_nBufLen; 01342 xU64 cycles; 01343 double tStamp; 01344 UINT m_Id; 01345 UVSOCK_CMD_DATA data; 01346 } UVSOCK_CMD; 01347 01348 #pragma pack() 01349 01350 01351 #endif /* #ifndef _UVSOCK_H_ */ 01352
Copyright (c) KEIL - An ARM Company.
All rights reserved.
Visit our web site at www.keil.com.
Generated with doxygen.