См. документацию.00001
00010 #ifndef __PROTO_H__
00011 #define __PROTO_H__
00012
00013
00014
00015
00016 #include "type.h"
00017 #include "config.h"
00018
00019
00020
00021
00022 #define ETH_TABLO_CONTROL_PORT (5001)
00023 #define ETH_TABLO_DEBUG_PORT (5010)
00024
00025 #define ETH_TABLO_VERSION ((SW_TYPE << 8) | SW_MODEL)
00026 #define ETH_TABLO_DATE (SW_DATE_DW / (24 * 60 * 60))
00027
00028 #define ETH_TABLO_TYPE (SW_TYPE) //!< Тип табло (6)
00029 #define ETH_TABLO_TYPE_BR (0xFF) //!< Широковещательный тип табло (0xFF)
00030
00031 #define ETH_PROG_DATA_SIZE (1024) //!< Размер порции данных программирования (1024)
00032
00033
00034 #define NVSTR_PROTO_NUM (1) //!< Число элементов NVSTR в пакете (1)
00035 #define RSTR_PROTO_NUM (8) //!< Число элементов RSTR в пакете (8)
00036 #define CSTR_PROTO_NUM (8) //!< Число элементов CSTR в пакете (8)
00037
00038 #define NVNUM_PROTO_NUM (128) //!< Число элементов NVNUM в пакете (128)
00039 #define RNUM_PROTO_NUM (128) //!< Число элементов RNUM в пакете (128)
00040 #define CNUM_PROTO_NUM (128) //!< Число элементов CNUM в пакете (128)
00041
00042 #define TIMER_PROTO_NUM (64) //!< Число элементов TIMER в пакете (64)
00043
00044 #define STR_SIZE (1024)
00045
00046
00047
00048 #define ETH_CMD_NONE (0) //!< Нет команды [не используется]
00049
00050 #define ETH_CMD_SEARCH (1) //!< Команда поиска (1)
00051 #define ETH_ANS_INFO (2) //!< Ответ на команду запроса информации о табло (2)
00052 #define ETH_GET_INFO (3) //!< Запрос информации о табло (3)
00053
00054 #define ETH_GET_NET (4) //!< Запрос сетевых настроек (4)
00055 #define ETH_ANS_NET (5) //!< Ответ на запрос сетевых настроек (5)
00056 #define ETH_SET_NET (6) //!< Установка сетевых настроек (6)
00057
00058 #define ETH_GET_NV (7) //!< Запрос энергонезависимых данных (7)
00059 #define ETH_ANS_NV (8) //!< Ответ на запрос энергонезависимых данных (8)
00060 #define ETH_SET_NV (9) //!< Установка энергонезависимых данных (9)
00061
00062 #define ETH_GET_CONFIG (10) //!< Запрос конфигурации табло (10)
00063 #define ETH_ANS_CONFIG (11) //!< Ответ на запрос конфигурации табло (11)
00064 #define ETH_SET_CONFIG (12) //!< Установка конфигурации табло (12)
00065
00066 #ifdef PRESENT_RTC
00067 #define ETH_GET_DATETIME (13) //!< Запрос текущего времени (13)
00068 #define ETH_ANS_DATETIME (14) //!< Ответ на запрос текущего времени (14)
00069 #define ETH_SET_DATETIME (15) //!< Установка текущего времени (15)
00070 #endif // PRESENT_RTC
00071
00072 #define ETH_SET_DATA (16) //!< Установка данных [не используется]
00073 #define ETH_ANS_DATA (17) //!< Ответ установки данных [не используется]
00074
00075 #define ETH_UDP_DEBUG (18) //!< Установка режима отладки (18)
00076
00077 #define ETH_GET_NVSTR (20) //!< Запрос переменных NVSTR (20)
00078 #define ETH_ANS_NVSTR (21) //!< Ответ на запрос переменных NVSTR (21)
00079 #define ETH_SET_NVSTR (22) //!< Установка переменных NVSTR (22)
00080
00081 #define ETH_GET_RSTR (23) //!< Запрос переменных RSTR (23)
00082 #define ETH_ANS_RSTR (24) //!< Ответ на запрос переменных RSTR (24)
00083 #define ETH_SET_RSTR (25) //!< Установка переменных RSTR (25)
00084
00085 #define ETH_GET_CSTR (26) //!< Запрос переменных CSTR (26)
00086 #define ETH_ANS_CSTR (27) //!< Ответ на запрос переменных CSTR (27)
00087
00088 #define ETH_GET_NVNUM (28) //!< Запрос переменных NVNUM (28)
00089 #define ETH_ANS_NVNUM (29) //!< Ответ на запрос переменных NVNUM (29)
00090 #define ETH_SET_NVNUM (30) //!< Установка переменных NVNUM (30)
00091
00092 #define ETH_GET_RNUM (31) //!< Запрос переменных RNUM (31)
00093 #define ETH_ANS_RNUM (32) //!< Ответ на запрос переменных RNUM (32)
00094 #define ETH_SET_RNUM (33) //!< Установка переменных RNUM (33)
00095
00096 #define ETH_GET_CNUM (34) //!< Запрос переменных CNUM (34)
00097 #define ETH_ANS_CNUM (35) //!< Ответ на запрос переменных CNUM (35)
00098
00099 #define ETH_GET_TIMER (36) //!< Запрос переменных TIMER (36)
00100 #define ETH_ANS_TIMER (37) //!< Ответ на запрос переменных TIMER (37)
00101 #define ETH_SET_TIMER (38) //!< Установка переменных TIMER (38)
00102
00103 #define ETH_GET_EECONST (39) //!< Запрос значений eeconst (39)
00104 #define ETH_ANS_EECONST (40) //!< Ответ на запрос значений eeconst (40)
00105 #define ETH_SET_EECONST (41) //!< Установка значений eeconst (41)
00106
00107 #define ETH_GET_FSMC (42) //!< Запрос значений fsmc (42)
00108 #define ETH_ANS_FSMC (43) //!< Ответ на запрос значений fsmc (43)
00109 #define ETH_SET_FSMC (44) //!< Установка значений fsmc (44)
00110
00111 #define ETH_GET_IMAGE (45) //!< Запрос значений image (45)
00112 #define ETH_ANS_IMAGE (46) //!< Ответ на запрос значений image (46)
00113 #define ETH_SET_IMAGE (47) //!< Установка значений image (47)
00114
00115 #define ETH_GET_MODE (50) //!< Запрос текущего режима (50)
00116 #define ETH_ANS_MODE (51) //!< Ответ на запрос текущего режима (51)
00117 #define ETH_SET_MODE (52) //!< Установка текущего режима (52)
00118
00119 #define ETH_PROG_CMD (100) //!< Команда обновления (100)
00120 #define ETH_PROG_ANS (101) //!< Ответ на команду обновления (101)
00121 #define ETH_PROG_DATA (102) //!< Данные для обновления (102)
00122
00123
00127
00128 enum ePROG_CMD
00129 {
00130 PROG_CMD_NONE = 0,
00131 PROG_CMD_ENTER,
00132 PROG_CMD_ABORT,
00133 PROG_CMD_STATE,
00134 };
00135
00136
00140
00141 enum ePROG_STATE
00142 {
00143 PROG_STATE_IDLE = 0,
00144 PROG_STATE_ENTER,
00145 PROG_STATE_READY,
00146 PROG_STATE_WRITE,
00147 PROG_STATE_DONE,
00148 PROG_STATE_RESULT,
00149 };
00150
00151
00155
00156 enum ePROG_TARGET
00157 {
00158 PROG_TARGET_IMAGE = 0,
00159 PROG_TARGET_FONT,
00160 PROG_TARGET_CONFIG,
00161 };
00162
00163
00167
00168 enum ePROG_RESULT
00169 {
00170 PROG_RESULT_OK = 0,
00171 PROG_RESULT_FAIL_CRC32,
00172 };
00173
00174
00178
00179 enum ePROG_ANS
00180 {
00181 PROG_ANS_FAIL = 0,
00182 PROG_ANS_OK,
00183 };
00184
00185
00191
00192 enum eP_TIMER_FIELD
00193 {
00194 P_TIMER_FIELD_STATE = 0,
00195 P_TIMER_FIELD_CURRENT,
00196 P_TIMER_FIELD_FROM,
00197 P_TIMER_FIELD_TO,
00198 P_TIMER_FIELD_FLAGS,
00199 };
00200
00201
00205
00206 typedef struct sP_TIMER
00207 {
00208 DWORD current;
00209 DWORD from;
00210 DWORD to;
00211 WORD flags;
00212 BYTE state;
00213 BYTE fields;
00214 } sP_TIMER;
00215
00216
00219
00220 typedef struct sCOMMAND
00221 {
00222 sMAC_ADR mac;
00223 BYTE cmd;
00224 BYTE type;
00225 DWORD p_id;
00226
00227 BYTE data;
00228 } sCOMMAND;
00229
00230
00234
00235 typedef struct sPACKET_CMD_SEARCH
00236 {
00237 sMAC_ADR mac;
00238 BYTE cmd;
00239 BYTE type;
00240 DWORD p_id;
00241 } sPACKET_CMD_SEARCH;
00242
00243
00246
00247 typedef struct sPACKET_ANS_INFO
00248 {
00249 sMAC_ADR mac;
00250 BYTE cmd;
00251 BYTE type;
00252 DWORD p_id;
00253
00254 char name[NAME_SIZE];
00255 sIP_ADR ip;
00256 sIP_ADR mask;
00257 sIP_ADR gw;
00258 WORD version;
00259 WORD date;
00260 } sPACKET_ANS_INFO;
00261
00262
00266
00267 typedef struct sPACKET_GET_INFO
00268 {
00269 sMAC_ADR mac;
00270 BYTE cmd;
00271 BYTE type;
00272 DWORD p_id;
00273 } sPACKET_GET_INFO;
00274
00275
00279
00280 typedef struct sPACKET_GET_NET
00281 {
00282 sMAC_ADR mac;
00283 BYTE cmd;
00284 BYTE type;
00285 DWORD p_id;
00286 } sPACKET_GET_NET;
00287
00288
00291
00292 typedef struct sPACKET_ANS_NET
00293 {
00294 sMAC_ADR mac;
00295 BYTE cmd;
00296 BYTE type;
00297 DWORD p_id;
00298
00299 char name[NAME_SIZE];
00300 sIP_ADR ip;
00301 sIP_ADR mask;
00302 sIP_ADR gw;
00303 } sPACKET_ANS_NET;
00304
00305
00309
00310 typedef struct sPACKET_SET_NET
00311 {
00312 sMAC_ADR mac;
00313 BYTE cmd;
00314 BYTE type;
00315 DWORD p_id;
00316
00317 char name[NAME_SIZE];
00318 sIP_ADR ip;
00319 sIP_ADR mask;
00320 sIP_ADR gw;
00321 } sPACKET_SET_NET;
00322
00323
00327
00328 typedef struct sPACKET_GET_NV
00329 {
00330 sMAC_ADR mac;
00331 BYTE cmd;
00332 BYTE type;
00333 DWORD p_id;
00334 } sPACKET_GET_NV;
00335
00336
00339
00340 typedef struct sPACKET_ANS_NV
00341 {
00342 sMAC_ADR mac;
00343 BYTE cmd;
00344 BYTE type;
00345 DWORD p_id;
00346
00347 int bright;
00348 } sPACKET_ANS_NV;
00349
00350
00354
00355 typedef struct sPACKET_SET_NV
00356 {
00357 sMAC_ADR mac;
00358 BYTE cmd;
00359 BYTE type;
00360 DWORD p_id;
00361
00362 int bright;
00363 } sPACKET_SET_NV;
00364
00365
00369
00370 typedef struct sPACKET_GET_CONFIG
00371 {
00372 sMAC_ADR mac;
00373 BYTE cmd;
00374 BYTE type;
00375 DWORD p_id;
00376 } sPACKET_GET_CONFIG;
00377
00378
00382
00383 typedef struct sPACKET_ANS_CONFIG
00384 {
00385 sMAC_ADR mac;
00386 BYTE cmd;
00387 BYTE type;
00388 DWORD p_id;
00389
00390 int safe;
00391 short t_min;
00392 short t_max;
00393 int to_watchdog;
00394 DWORD autobright;
00395
00396 } sPACKET_ANS_CONFIG;
00397
00398
00403
00404 typedef struct sPACKET_SET_CONFIG
00405 {
00406 sMAC_ADR mac;
00407 BYTE cmd;
00408 BYTE type;
00409 DWORD p_id;
00410
00411 int safe;
00412 short t_min;
00413 short t_max;
00414 int to_watchdog;
00415 DWORD autobright;
00416
00417 } sPACKET_SET_CONFIG;
00418
00419
00423
00424 typedef struct sPACKET_GET_DATETIME
00425 {
00426 sMAC_ADR mac;
00427 BYTE cmd;
00428 BYTE type;
00429 DWORD p_id;
00430 } sPACKET_GET_DATETIME;
00431
00432
00435
00436 typedef struct sPACKET_ANS_DATETIME
00437 {
00438 sMAC_ADR mac;
00439 BYTE cmd;
00440 BYTE type;
00441 DWORD p_id;
00442
00443 DWORD datetime;
00444 } sPACKET_ANS_DATETIME;
00445
00446
00450
00451 typedef struct sPACKET_SET_DATETIME
00452 {
00453 sMAC_ADR mac;
00454 BYTE cmd;
00455 BYTE type;
00456 DWORD p_id;
00457
00458 DWORD datetime;
00459 } sPACKET_SET_DATETIME;
00460
00461
00464
00465 typedef struct sPACKET_SET_DATA
00466 {
00467 sMAC_ADR mac;
00468 BYTE cmd;
00469 BYTE type;
00470 DWORD p_id;
00471
00472 DWORD number;
00473 DWORD param;
00474 BYTE str[STR_SIZE];
00475 } sPACKET_SET_DATA;
00476
00477
00480
00481 typedef struct sPACKET_ANS_DATA
00482 {
00483 sMAC_ADR mac;
00484 BYTE cmd;
00485 BYTE type;
00486 DWORD p_id;
00487
00488 DWORD status;
00489 } sPACKET_ANS_DATA;
00490
00491
00494
00495 typedef struct sPACKET_UDP_DEBUG
00496 {
00497 sMAC_ADR mac;
00498 BYTE cmd;
00499 BYTE type;
00500 DWORD p_id;
00501
00502 DWORD flags;
00503 } sPACKET_UDP_DEBUG;
00504
00505
00509
00510 typedef struct sPACKET_GET_NVSTR
00511 {
00512 sMAC_ADR mac;
00513 BYTE cmd;
00514 BYTE type;
00515 DWORD p_id;
00516
00518 BYTE index[NVSTR_PROTO_NUM];
00519 } sPACKET_GET_NVSTR;
00520
00521
00524
00525 typedef struct sPACKET_ANS_NVSTR
00526 {
00527 sMAC_ADR mac;
00528 BYTE cmd;
00529 BYTE type;
00530 DWORD p_id;
00531
00533 BYTE index[NVSTR_PROTO_NUM];
00535 BYTE profile[NVSTR_PROTO_NUM];
00537 BYTE nvstr[NVSTR_PROTO_NUM][NVSTR_LEN];
00538 } sPACKET_ANS_NVSTR;
00539
00540
00544
00545 typedef struct sPACKET_SET_NVSTR
00546 {
00547 sMAC_ADR mac;
00548 BYTE cmd;
00549 BYTE type;
00550 DWORD p_id;
00551
00553 BYTE index[NVSTR_PROTO_NUM];
00555 BYTE profile[NVSTR_PROTO_NUM];
00557 BYTE nvstr[NVSTR_PROTO_NUM][NVSTR_LEN];
00558 } sPACKET_SET_NVSTR;
00559
00560
00564
00565 typedef struct sPACKET_GET_RSTR
00566 {
00567 sMAC_ADR mac;
00568 BYTE cmd;
00569 BYTE type;
00570 DWORD p_id;
00571
00573 BYTE index[RSTR_PROTO_NUM];
00574 } sPACKET_GET_RSTR;
00575
00576
00579
00580 typedef struct sPACKET_ANS_RSTR
00581 {
00582 sMAC_ADR mac;
00583 BYTE cmd;
00584 BYTE type;
00585 DWORD p_id;
00586
00588 BYTE index[RSTR_PROTO_NUM];
00590 BYTE profile[RSTR_PROTO_NUM];
00592 BYTE rstr[RSTR_PROTO_NUM][RSTR_LEN];
00593 } sPACKET_ANS_RSTR;
00594
00595
00599
00600 typedef struct sPACKET_SET_RSTR
00601 {
00602 sMAC_ADR mac;
00603 BYTE cmd;
00604 BYTE type;
00605 DWORD p_id;
00606
00608 BYTE index[RSTR_PROTO_NUM];
00610 BYTE profile[RSTR_PROTO_NUM];
00612 BYTE rstr[RSTR_PROTO_NUM][RSTR_LEN];
00613 } sPACKET_SET_RSTR;
00614
00615
00619
00620 typedef struct sPACKET_GET_CSTR
00621 {
00622 sMAC_ADR mac;
00623 BYTE cmd;
00624 BYTE type;
00625 DWORD p_id;
00626
00628 BYTE index[CSTR_PROTO_NUM];
00629 } sPACKET_GET_CSTR;
00630
00631
00634
00635 typedef struct sPACKET_ANS_CSTR
00636 {
00637 sMAC_ADR mac;
00638 BYTE cmd;
00639 BYTE type;
00640 DWORD p_id;
00641
00643 BYTE index[CSTR_PROTO_NUM];
00645 BYTE profile[CSTR_PROTO_NUM];
00647 BYTE cstr[CSTR_PROTO_NUM][CSTR_LEN];
00648 } sPACKET_ANS_CSTR;
00649
00650
00654
00655 typedef struct sPACKET_GET_NVNUM
00656 {
00657 sMAC_ADR mac;
00658 BYTE cmd;
00659 BYTE type;
00660 DWORD p_id;
00661
00663 WORD index[NVNUM_PROTO_NUM];
00664 } sPACKET_GET_NVNUM;
00665
00666
00669
00670 typedef struct sPACKET_ANS_NVNUM
00671 {
00672 sMAC_ADR mac;
00673 BYTE cmd;
00674 BYTE type;
00675 DWORD p_id;
00676
00678 WORD index[NVNUM_PROTO_NUM];
00680 DWORD nvnum[NVNUM_PROTO_NUM];
00681 } sPACKET_ANS_NVNUM;
00682
00683
00687
00688 typedef struct sPACKET_SET_NVNUM
00689 {
00690 sMAC_ADR mac;
00691 BYTE cmd;
00692 BYTE type;
00693 DWORD p_id;
00694
00696 WORD index[NVNUM_PROTO_NUM];
00698 DWORD nvnum[NVNUM_PROTO_NUM];
00699 } sPACKET_SET_NVNUM;
00700
00701
00705
00706 typedef struct sPACKET_GET_RNUM
00707 {
00708 sMAC_ADR mac;
00709 BYTE cmd;
00710 BYTE type;
00711 DWORD p_id;
00712
00714 WORD index[RNUM_PROTO_NUM];
00715 } sPACKET_GET_RNUM;
00716
00717
00720
00721 typedef struct sPACKET_ANS_RNUM
00722 {
00723 sMAC_ADR mac;
00724 BYTE cmd;
00725 BYTE type;
00726 DWORD p_id;
00727
00729 WORD index[RNUM_PROTO_NUM];
00731 DWORD rnum[RNUM_PROTO_NUM];
00732 } sPACKET_ANS_RNUM;
00733
00734
00738
00739 typedef struct sPACKET_SET_RNUM
00740 {
00741 sMAC_ADR mac;
00742 BYTE cmd;
00743 BYTE type;
00744 DWORD p_id;
00745
00747 WORD index[RNUM_PROTO_NUM];
00749 DWORD rnum[RNUM_PROTO_NUM];
00750 } sPACKET_SET_RNUM;
00751
00752
00756
00757 typedef struct sPACKET_GET_CNUM
00758 {
00759 sMAC_ADR mac;
00760 BYTE cmd;
00761 BYTE type;
00762 DWORD p_id;
00763
00765 WORD index[CNUM_PROTO_NUM];
00766 } sPACKET_GET_CNUM;
00767
00768
00771
00772 typedef struct sPACKET_ANS_CNUM
00773 {
00774 sMAC_ADR mac;
00775 BYTE cmd;
00776 BYTE type;
00777 DWORD p_id;
00778
00780 WORD index[CNUM_PROTO_NUM];
00782 DWORD cnum[CNUM_PROTO_NUM];
00783 } sPACKET_ANS_CNUM;
00784
00785
00789
00790 typedef struct sPACKET_GET_TIMER
00791 {
00792 sMAC_ADR mac;
00793 BYTE cmd;
00794 BYTE type;
00795 DWORD p_id;
00796
00798 BYTE index[TIMER_PROTO_NUM];
00799 } sPACKET_GET_TIMER;
00800
00801
00804
00805 typedef struct sPACKET_ANS_TIMER
00806 {
00807 sMAC_ADR mac;
00808 BYTE cmd;
00809 BYTE type;
00810 DWORD p_id;
00811
00813 WORD index[TIMER_PROTO_NUM];
00815 sP_TIMER timer[TIMER_PROTO_NUM];
00816 } sPACKET_ANS_TIMER;
00817
00818
00822
00823 typedef struct sPACKET_SET_TIMER
00824 {
00825 sMAC_ADR mac;
00826 BYTE cmd;
00827 BYTE type;
00828 DWORD p_id;
00829
00831 WORD index[TIMER_PROTO_NUM];
00833 sP_TIMER timer[TIMER_PROTO_NUM];
00834 } sPACKET_SET_TIMER;
00835
00836
00840
00841 typedef struct sPACKET_GET_MODE
00842 {
00843 sMAC_ADR mac;
00844 BYTE cmd;
00845 BYTE type;
00846 DWORD p_id;
00847 } sPACKET_GET_MODE;
00848
00849
00852
00853 typedef struct sPACKET_ANS_MODE
00854 {
00855 sMAC_ADR mac;
00856 BYTE cmd;
00857 BYTE type;
00858 DWORD p_id;
00859
00860 DWORD new_mode;
00861 DWORD cur_mode;
00862 } sPACKET_ANS_MODE;
00863
00864
00868
00869 typedef struct sPACKET_SET_MODE
00870 {
00871 sMAC_ADR mac;
00872 BYTE cmd;
00873 BYTE type;
00874 DWORD p_id;
00875
00876 DWORD mode;
00877 } sPACKET_SET_MODE;
00878
00879
00883
00884 typedef struct sPACKET_GET_EECONST
00885 {
00886 sMAC_ADR mac;
00887 BYTE cmd;
00888 BYTE type;
00889 DWORD p_id;
00890 } sPACKET_GET_EECONST;
00891
00892
00895
00896 typedef struct sPACKET_ANS_EECONST
00897 {
00898 sMAC_ADR mac;
00899 BYTE cmd;
00900 BYTE type;
00901 DWORD p_id;
00902
00903 WORD eeconst[EECONST_NUM];
00904 } sPACKET_ANS_EECONST;
00905
00906
00910
00911 typedef struct sPACKET_SET_EECONST
00912 {
00913 sMAC_ADR mac;
00914 BYTE cmd;
00915 BYTE type;
00916 DWORD p_id;
00917
00918 WORD eeconst[EECONST_NUM];
00919 } sPACKET_SET_EECONST;
00920
00921
00925
00926 typedef struct sPACKET_GET_FSMC
00927 {
00928 sMAC_ADR mac;
00929 BYTE cmd;
00930 BYTE type;
00931 DWORD p_id;
00932 } sPACKET_GET_FSMC;
00933
00934
00937
00938 typedef struct sPACKET_ANS_FSMC
00939 {
00940 sMAC_ADR mac;
00941 BYTE cmd;
00942 BYTE type;
00943 DWORD p_id;
00944
00945 sFSMC_TIMINGS fsmc_timings[FSMC_TIMING_NUM];
00946 } sPACKET_ANS_FSMC;
00947
00948
00952
00953 typedef struct sPACKET_SET_FSMC
00954 {
00955 sMAC_ADR mac;
00956 BYTE cmd;
00957 BYTE type;
00958 DWORD p_id;
00959
00960 sFSMC_TIMINGS fsmc_timings[FSMC_TIMING_NUM];
00961 } sPACKET_SET_FSMC;
00962
00963
00967
00968 typedef struct sPACKET_GET_IMAGE
00969 {
00970 sMAC_ADR mac;
00971 BYTE cmd;
00972 BYTE type;
00973 DWORD p_id;
00974
00976 BYTE index[RSTR_PROTO_NUM];
00977 } sPACKET_GET_IMAGE;
00978
00979
00982
00983 typedef struct sPACKET_ANS_IMAGE
00984 {
00985 sMAC_ADR mac;
00986 BYTE cmd;
00987 BYTE type;
00988 DWORD p_id;
00989
00991 BYTE index[RSTR_PROTO_NUM];
00993 BYTE image[RSTR_PROTO_NUM][RSTR_LEN];
00994 } sPACKET_ANS_IMAGE;
00995
00996
01000
01001 typedef struct sPACKET_SET_IMAGE
01002 {
01003 sMAC_ADR mac;
01004 BYTE cmd;
01005 BYTE type;
01006 DWORD p_id;
01007
01009 BYTE index[RSTR_PROTO_NUM];
01011 BYTE image[RSTR_PROTO_NUM][RSTR_LEN];
01012 } sPACKET_SET_IMAGE;
01013
01014
01017
01018 typedef struct sPACKET_PROG_CMD
01019 {
01020 sMAC_ADR mac;
01021 BYTE cmd;
01022 BYTE type;
01023
01024 WORD command;
01025 WORD target;
01026 } sPACKET_PROG_CMD;
01027
01028
01031
01032 typedef struct sPACKET_PROG_ANS
01033 {
01034 sMAC_ADR mac;
01035 BYTE cmd;
01036 BYTE type;
01037
01038 WORD ans;
01039 WORD target;
01040 DWORD param;
01041 } sPACKET_PROG_ANS;
01042
01043
01046
01047 typedef struct sPACKET_PROG_DATA
01048 {
01049 sMAC_ADR mac;
01050 BYTE cmd;
01051 BYTE type;
01052
01053 DWORD addr;
01054 DWORD target;
01055
01057 BYTE data[ETH_PROG_DATA_SIZE];
01058 } sPACKET_PROG_DATA;
01059
01060
01061
01062
01063
01064
01065
01066
01067
01068 #endif // __PROTO_H__
01069
01070
01071