1 2 #include "nx_api.h" 3 4 #ifdef __PRODUCT_NETXDUO__ 5 6 #include "netx_mdns_test.h" 7 /* Frame (79 bytes) */ 8 static const unsigned char pkt1[79] = { 9 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x00, 0x11, /* ..^..... */ 10 0x22, 0x33, 0x44, 0x56, 0x08, 0x00, 0x45, 0x00, /* "3DV..E. */ 11 0x00, 0x41, 0x00, 0x07, 0x40, 0x00, 0xff, 0x11, /* .A..@... */ 12 0xd9, 0xbe, 0xc0, 0xa8, 0x00, 0x42, 0xe0, 0x00, /* .....B.. */ 13 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0x2d, /* .......- */ 14 0xc5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* ........ */ 15 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x5f, /* ......._ */ 16 0x70, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x04, /* printer. */ 17 0x5f, 0x74, 0x63, 0x70, 0x05, 0x6c, 0x6f, 0x63, /* _tcp.loc */ 18 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01 /* al..... */ 19 }; 20 21 /* Frame (497 bytes) */ 22 static const unsigned char pkt2[497] = { 23 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x00, 0x1e, /* ..^..... */ 24 0x8f, 0xb1, 0x7a, 0xd4, 0x08, 0x00, 0x45, 0x00, /* ..z...E. */ 25 0x01, 0xe3, 0x77, 0x9c, 0x00, 0x00, 0xff, 0x11, /* ..w..... */ 26 0xa0, 0xc5, 0xc0, 0xa8, 0x00, 0x04, 0xe0, 0x00, /* ........ */ 27 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x01, 0xcf, /* ........ */ 28 0x46, 0x4d, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, /* FM...... */ 29 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x08, 0x5f, /* ......._ */ 30 0x70, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x04, /* printer. */ 31 0x5f, 0x74, 0x63, 0x70, 0x05, 0x6c, 0x6f, 0x63, /* _tcp.loc */ 32 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, 0x00, /* al...... */ 33 0x00, 0x11, 0x94, 0x00, 0x0f, 0x0c, 0x43, 0x61, /* ......Ca */ 34 0x6e, 0x6f, 0x6e, 0x4d, 0x46, 0x34, 0x35, 0x30, /* nonMF450 */ 35 0x30, 0x77, 0xc0, 0x0c, 0x06, 0x72, 0x6f, 0x75, /* 0w...rou */ 36 0x74, 0x65, 0x72, 0xc0, 0x1a, 0x00, 0x01, 0x80, /* ter..... */ 37 0x01, 0x00, 0x00, 0x00, 0x78, 0x00, 0x04, 0xc0, /* ....x... */ 38 0xa8, 0x00, 0x04, 0xc0, 0x2b, 0x00, 0x21, 0x80, /* ....+.!. */ 39 0x01, 0x00, 0x00, 0x00, 0x78, 0x00, 0x08, 0x00, /* ....x... */ 40 0x00, 0x00, 0x00, 0x02, 0x03, 0xc0, 0x3a, 0xc0, /* ......:. */ 41 0x2b, 0x00, 0x10, 0x80, 0x01, 0x00, 0x00, 0x11, /* +....... */ 42 0x94, 0x01, 0x56, 0x09, 0x74, 0x78, 0x74, 0x76, /* ..V.txtv */ 43 0x65, 0x72, 0x73, 0x3d, 0x31, 0x07, 0x72, 0x70, /* ers=1.rp */ 44 0x3d, 0x61, 0x75, 0x74, 0x6f, 0x05, 0x6e, 0x6f, /* =auto.no */ 45 0x74, 0x65, 0x3d, 0x08, 0x71, 0x74, 0x6f, 0x74, /* te=.qtot */ 46 0x61, 0x6c, 0x3d, 0x31, 0x0b, 0x70, 0x72, 0x69, /* al=1.pri */ 47 0x6f, 0x72, 0x69, 0x74, 0x79, 0x3d, 0x32, 0x30, /* ority=20 */ 48 0x11, 0x74, 0x79, 0x3d, 0x43, 0x61, 0x6e, 0x6f, /* .ty=Cano */ 49 0x6e, 0x20, 0x4d, 0x46, 0x34, 0x35, 0x37, 0x30, /* n MF4570 */ 50 0x64, 0x77, 0x17, 0x70, 0x72, 0x6f, 0x64, 0x75, /* dw.produ */ 51 0x63, 0x74, 0x3d, 0x28, 0x43, 0x61, 0x6e, 0x6f, /* ct=(Cano */ 52 0x6e, 0x20, 0x4d, 0x46, 0x34, 0x35, 0x30, 0x30, /* n MF4500 */ 53 0x77, 0x29, 0x1c, 0x70, 0x64, 0x6c, 0x3d, 0x61, /* w).pdl=a */ 54 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, /* pplicati */ 55 0x6f, 0x6e, 0x2f, 0x6f, 0x63, 0x74, 0x65, 0x74, /* on/octet */ 56 0x2d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2a, /* -stream* */ 57 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x75, 0x72, 0x6c, /* adminurl */ 58 0x3d, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, /* =http:// */ 59 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x6c, /* router.l */ 60 0x6f, 0x63, 0x61, 0x6c, 0x2e, 0x2f, 0x74, 0x5f, /* ocal./t_ */ 61 0x77, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x2e, 0x63, /* welcom.c */ 62 0x67, 0x69, 0x0d, 0x75, 0x73, 0x62, 0x5f, 0x4d, /* gi.usb_M */ 63 0x46, 0x47, 0x3d, 0x43, 0x61, 0x6e, 0x6f, 0x6e, /* FG=Canon */ 64 0x27, 0x75, 0x73, 0x62, 0x5f, 0x4d, 0x44, 0x4c, /* 'usb_MDL */ 65 0x3d, 0x43, 0x61, 0x6e, 0x6f, 0x6e, 0x20, 0x4d, /* =Canon M */ 66 0x46, 0x34, 0x35, 0x30, 0x30, 0x77, 0x20, 0x53, /* F4500w S */ 67 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x28, 0x55, /* eries (U */ 68 0x46, 0x52, 0x49, 0x49, 0x20, 0x4c, 0x54, 0x29, /* FRII LT) */ 69 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x61, /* .transpa */ 70 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x46, 0x08, 0x42, /* rent=F.B */ 71 0x69, 0x6e, 0x61, 0x72, 0x79, 0x3d, 0x46, 0x06, /* inary=F. */ 72 0x54, 0x42, 0x43, 0x50, 0x3d, 0x46, 0x07, 0x43, /* TBCP=F.C */ 73 0x6f, 0x6c, 0x6f, 0x72, 0x3d, 0x46, 0x08, 0x43, /* olor=F.C */ 74 0x6f, 0x70, 0x69, 0x65, 0x73, 0x3d, 0x54, 0x08, /* opies=T. */ 75 0x44, 0x75, 0x70, 0x6c, 0x65, 0x78, 0x3d, 0x54, /* Duplex=T */ 76 0x0d, 0x50, 0x61, 0x70, 0x65, 0x72, 0x43, 0x75, /* .PaperCu */ 77 0x73, 0x74, 0x6f, 0x6d, 0x3d, 0x54, 0x06, 0x42, /* stom=T.B */ 78 0x69, 0x6e, 0x64, 0x3d, 0x46, 0x09, 0x43, 0x6f, /* ind=F.Co */ 79 0x6c, 0x6c, 0x61, 0x74, 0x65, 0x3d, 0x54, 0x06, /* llate=T. */ 80 0x53, 0x6f, 0x72, 0x74, 0x3d, 0x54, 0x08, 0x53, /* Sort=T.S */ 81 0x74, 0x61, 0x70, 0x6c, 0x65, 0x3d, 0x46, 0x07, /* taple=F. */ 82 0x50, 0x75, 0x6e, 0x63, 0x68, 0x3d, 0x46, 0x11, /* Punch=F. */ 83 0x50, 0x61, 0x70, 0x65, 0x72, 0x4d, 0x61, 0x78, /* PaperMax */ 84 0x3d, 0x6c, 0x65, 0x67, 0x61, 0x6c, 0x2d, 0x41, /* =legal-A */ 85 0x34 /* 4 */ 86 }; 87 88 /* Frame (144 bytes) */ 89 static const unsigned char pkt3[144] = { 90 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x00, 0x11, /* ..^..... */ 91 0x22, 0x33, 0x44, 0x56, 0x08, 0x00, 0x45, 0x00, /* "3DV..E. */ 92 0x00, 0x82, 0x00, 0x08, 0x40, 0x00, 0xff, 0x11, /* ....@... */ 93 0xd9, 0x7c, 0xc0, 0xa8, 0x00, 0x42, 0xe0, 0x00, /* .|...B.. */ 94 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0x6e, /* .......n */ 95 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* .<...... */ 96 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x5f, /* ......._ */ 97 0x70, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x04, /* printer. */ 98 0x5f, 0x74, 0x63, 0x70, 0x05, 0x6c, 0x6f, 0x63, /* _tcp.loc */ 99 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, 0x08, /* al...... */ 100 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, /* _printer */ 101 0x04, 0x5f, 0x74, 0x63, 0x70, 0x05, 0x6c, 0x6f, /* ._tcp.lo */ 102 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, /* cal..... */ 103 0x00, 0x00, 0x11, 0x93, 0x00, 0x22, 0x0c, 0x43, /* .....".C */ 104 0x61, 0x6e, 0x6f, 0x6e, 0x4d, 0x46, 0x34, 0x35, /* anonMF45 */ 105 0x30, 0x30, 0x77, 0x08, 0x5f, 0x70, 0x72, 0x69, /* 00w._pri */ 106 0x6e, 0x74, 0x65, 0x72, 0x04, 0x5f, 0x74, 0x63, /* nter._tc */ 107 0x70, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x00 /* p.local. */ 108 }; 109 110 /* Frame (144 bytes) */ 111 static const unsigned char pkt4[144] = { 112 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x00, 0x11, /* ..^..... */ 113 0x22, 0x33, 0x44, 0x56, 0x08, 0x00, 0x45, 0x00, /* "3DV..E. */ 114 0x00, 0x82, 0x00, 0x09, 0x40, 0x00, 0xff, 0x11, /* ....@... */ 115 0xd9, 0x7b, 0xc0, 0xa8, 0x00, 0x42, 0xe0, 0x00, /* .{...B.. */ 116 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0x6e, /* .......n */ 117 0x18, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* .>...... */ 118 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x5f, /* ......._ */ 119 0x70, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x04, /* printer. */ 120 0x5f, 0x74, 0x63, 0x70, 0x05, 0x6c, 0x6f, 0x63, /* _tcp.loc */ 121 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, 0x08, /* al...... */ 122 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, /* _printer */ 123 0x04, 0x5f, 0x74, 0x63, 0x70, 0x05, 0x6c, 0x6f, /* ._tcp.lo */ 124 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, /* cal..... */ 125 0x00, 0x00, 0x11, 0x91, 0x00, 0x22, 0x0c, 0x43, /* .....".C */ 126 0x61, 0x6e, 0x6f, 0x6e, 0x4d, 0x46, 0x34, 0x35, /* anonMF45 */ 127 0x30, 0x30, 0x77, 0x08, 0x5f, 0x70, 0x72, 0x69, /* 00w._pri */ 128 0x6e, 0x74, 0x65, 0x72, 0x04, 0x5f, 0x74, 0x63, /* nter._tc */ 129 0x70, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x00 /* p.local. */ 130 }; 131 132 static MDNS_QUERY_INFO mdns_query = {NX_NULL, "_printer._tcp", NX_NULL}; 133 134 MDNS_TEST_SEQ mdns_query_printer_tcp[] = { 135 {TITLE, "Query _printer._tcp", 19, 0}, 136 137 {MDNS_QUERY, (char*)&mdns_query, 0, 0}, 138 {MDNS_CHECK_DATA_V4, (char*)&pkt1[0], sizeof(pkt1), 5}, 139 {INJECT, (char*)&pkt2[0], sizeof(pkt2), 0}, 140 {MDNS_CHECK_DATA_V4, (char*)&pkt3[0], sizeof(pkt3), 5}, 141 }; 142 143 int mdns_query_printer_tcp_size = sizeof(mdns_query_printer_tcp) / sizeof(MDNS_TEST_SEQ); 144 145 #endif /* __PRODUCT_NETXDUO__ */ 146 147