/***************************************************************************/ /* Copyright (c) 2024 Microsoft Corporation */ /* Copyright (c) 2026 Eclipse ThreadX contributors */ /* */ /* This program and the accompanying materials are made available under */ /* the terms of the MIT License which is available at */ /* https://opensource.org/licenses/MIT. */ /* */ /* SPDX-License-Identifier: MIT */ /***************************************************************************/ #include "nx_api.h" #ifdef __PRODUCT_NETXDUO__ #include "netx_mdns_test.h" /* Frame (88 bytes) */ static const unsigned char pkt1[88] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x18, 0x03, /* ..^..... */ 0x73, 0x29, 0x5f, 0x66, 0x08, 0x00, 0x45, 0x00, /* s)_f..E. */ 0x00, 0x4a, 0x58, 0x5c, 0x00, 0x00, 0xff, 0x11, /* .JX\.... */ 0xc1, 0x3e, 0xc0, 0xa8, 0x00, 0x64, 0xe0, 0x00, /* .>...d.. */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0x36, /* .......6 */ 0xa2, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* .O...... */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x5f, /* ......._ */ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, /* services */ 0x07, 0x5f, 0x64, 0x6e, 0x73, 0x2d, 0x73, 0x64, /* ._dns-sd */ 0x04, 0x5f, 0x75, 0x64, 0x70, 0x05, 0x6c, 0x6f, /* ._udp.lo */ 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01 /* cal..... */ }; /* Frame (88 bytes) */ static const unsigned char pkt2[88] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0xec, 0x17, /* ..^..... */ 0x2f, 0xbd, 0xa4, 0xb1, 0x08, 0x00, 0x45, 0x00, /* /.....E. */ 0x00, 0x4a, 0x02, 0xe1, 0x00, 0x00, 0xff, 0x11, /* .J...... */ 0xcd, 0xc4, 0x0a, 0x00, 0x00, 0x02, 0xe0, 0x00, /* ........ */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0x36, /* .......6 */ 0xb4, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* ........ */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x5f, /* ......._ */ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, /* services */ 0x07, 0x5f, 0x64, 0x6e, 0x73, 0x2d, 0x73, 0x64, /* ._dns-sd */ 0x04, 0x5f, 0x75, 0x64, 0x70, 0x05, 0x6c, 0x6f, /* ._udp.lo */ 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01 /* cal..... */ }; /* Frame (106 bytes) */ static const unsigned char pkt3[106] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x18, 0x03, /* ..^..... */ 0x73, 0x33, 0xc1, 0xbd, 0x08, 0x00, 0x45, 0x00, /* s3....E. */ 0x00, 0x5c, 0x1e, 0xf3, 0x00, 0x00, 0xff, 0x11, /* .\...... */ 0xfa, 0x92, 0xc0, 0xa8, 0x00, 0x67, 0xe0, 0x00, /* .....g.. */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0x48, /* .......H */ 0x0a, 0xee, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, /* ........ */ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x09, 0x5f, /* ......._ */ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, /* services */ 0x07, 0x5f, 0x64, 0x6e, 0x73, 0x2d, 0x73, 0x64, /* ._dns-sd */ 0x04, 0x5f, 0x75, 0x64, 0x70, 0x05, 0x6c, 0x6f, /* ._udp.lo */ 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, /* cal..... */ 0x00, 0x00, 0x11, 0x94, 0x00, 0x0c, 0x04, 0x5f, /* ......._ */ 0x73, 0x6d, 0x62, 0x04, 0x5f, 0x74, 0x63, 0x70, /* smb._tcp */ 0xc0, 0x23 /* .# */ }; /* Frame (114 bytes) */ static const unsigned char pkt4[114] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0xe8, 0x39, /* ..^....9 */ 0x35, 0x44, 0xfe, 0xd4, 0x08, 0x00, 0x45, 0x00, /* 5D....E. */ 0x00, 0x64, 0x00, 0x00, 0x40, 0x00, 0xff, 0x11, /* .d..@... */ 0xd9, 0xe2, 0xc0, 0xa8, 0x00, 0x02, 0xe0, 0x00, /* ........ */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0x50, /* .......P */ 0x42, 0x75, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, /* Bu...... */ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x09, 0x5f, /* ......._ */ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, /* services */ 0x07, 0x5f, 0x64, 0x6e, 0x73, 0x2d, 0x73, 0x64, /* ._dns-sd */ 0x04, 0x5f, 0x75, 0x64, 0x70, 0x05, 0x6c, 0x6f, /* ._udp.lo */ 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, /* cal..... */ 0x00, 0x00, 0x11, 0x94, 0x00, 0x14, 0x0c, 0x5f, /* ......._ */ 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, /* workstat */ 0x69, 0x6f, 0x6e, 0x04, 0x5f, 0x74, 0x63, 0x70, /* ion._tcp */ 0xc0, 0x23 /* .# */ }; /* Frame (160 bytes) */ static const unsigned char pkt5[160] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x00, 0x1e, /* ..^..... */ 0x8f, 0xb1, 0x7a, 0xd4, 0x08, 0x00, 0x45, 0x00, /* ..z...E. */ 0x00, 0x92, 0x17, 0x39, 0x00, 0x00, 0xff, 0x11, /* ...9.... */ 0x02, 0x7a, 0xc0, 0xa8, 0x00, 0x04, 0xe0, 0x00, /* .z...... */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0x7e, /* .......~ */ 0xbc, 0x15, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, /* ........ */ 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x09, 0x5f, /* ......._ */ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, /* services */ 0x07, 0x5f, 0x64, 0x6e, 0x73, 0x2d, 0x73, 0x64, /* ._dns-sd */ 0x04, 0x5f, 0x75, 0x64, 0x70, 0x05, 0x6c, 0x6f, /* ._udp.lo */ 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, /* cal..... */ 0x00, 0x00, 0x11, 0x94, 0x00, 0x17, 0x0f, 0x5f, /* ......._ */ 0x70, 0x64, 0x6c, 0x2d, 0x64, 0x61, 0x74, 0x61, /* pdl-data */ 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x04, 0x5f, /* stream._ */ 0x74, 0x63, 0x70, 0xc0, 0x23, 0xc0, 0x0c, 0x00, /* tcp.#... */ 0x0c, 0x00, 0x01, 0x00, 0x00, 0x11, 0x94, 0x00, /* ........ */ 0x0b, 0x08, 0x5f, 0x70, 0x72, 0x69, 0x6e, 0x74, /* .._print */ 0x65, 0x72, 0xc0, 0x44, 0xc0, 0x0c, 0x00, 0x0c, /* er.D.... */ 0x00, 0x01, 0x00, 0x00, 0x11, 0x94, 0x00, 0x08, /* ........ */ 0x05, 0x5f, 0x68, 0x74, 0x74, 0x70, 0xc0, 0x44 /* ._http.D */ }; /* Frame (219 bytes) */ static const unsigned char pkt6[219] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x00, 0x0c, /* ..^..... */ 0x29, 0x01, 0xd4, 0x8d, 0x08, 0x00, 0x45, 0x00, /* ).....E. */ 0x00, 0xcd, 0x00, 0x00, 0x40, 0x00, 0xff, 0x11, /* ....@... */ 0x90, 0x23, 0x0a, 0x00, 0x00, 0x01, 0xe0, 0x00, /* .#...... */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0xb9, /* ........ */ 0x69, 0x6d, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, /* im...... */ 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x09, 0x5f, /* ......._ */ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, /* services */ 0x07, 0x5f, 0x64, 0x6e, 0x73, 0x2d, 0x73, 0x64, /* ._dns-sd */ 0x04, 0x5f, 0x75, 0x64, 0x70, 0x05, 0x6c, 0x6f, /* ._udp.lo */ 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, /* cal..... */ 0x00, 0x00, 0x11, 0x94, 0x00, 0x14, 0x0c, 0x5f, /* ......._ */ 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, /* workstat */ 0x69, 0x6f, 0x6e, 0x04, 0x5f, 0x74, 0x63, 0x70, /* ion._tcp */ 0xc0, 0x23, 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, /* .#...... */ 0x00, 0x00, 0x11, 0x94, 0x00, 0x09, 0x06, 0x5f, /* ......._ */ 0x74, 0x65, 0x73, 0x74, 0x65, 0xc0, 0x41, 0xc0, /* teste.A. */ 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x11, /* ........ */ 0x94, 0x00, 0x09, 0x06, 0x5f, 0x74, 0x65, 0x73, /* ...._tes */ 0x74, 0x64, 0xc0, 0x41, 0xc0, 0x0c, 0x00, 0x0c, /* td.A.... */ 0x00, 0x01, 0x00, 0x00, 0x11, 0x94, 0x00, 0x09, /* ........ */ 0x06, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x63, 0xc0, /* ._testc. */ 0x41, 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, /* A....... */ 0x00, 0x11, 0x94, 0x00, 0x09, 0x06, 0x5f, 0x74, /* ......_t */ 0x65, 0x73, 0x74, 0x62, 0xc0, 0x41, 0xc0, 0x0c, /* estb.A.. */ 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x11, 0x94, /* ........ */ 0x00, 0x09, 0x06, 0x5f, 0x74, 0x65, 0x73, 0x74, /* ..._test */ 0x61, 0xc0, 0x41 /* a.A */ }; /* Frame (212 bytes) */ static const unsigned char pkt7[212] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x18, 0x03, /* ..^..... */ 0x73, 0x29, 0x5f, 0x66, 0x08, 0x00, 0x45, 0x00, /* s)_f..E. */ 0x00, 0xc6, 0x58, 0x8e, 0x00, 0x00, 0xff, 0x11, /* ..X..... */ 0xc0, 0x90, 0xc0, 0xa8, 0x00, 0x64, 0xe0, 0x00, /* .....d.. */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0xb2, /* ........ */ 0xa2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* ........ */ 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x09, 0x5f, /* ......._ */ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, /* services */ 0x07, 0x5f, 0x64, 0x6e, 0x73, 0x2d, 0x73, 0x64, /* ._dns-sd */ 0x04, 0x5f, 0x75, 0x64, 0x70, 0x05, 0x6c, 0x6f, /* ._udp.lo */ 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, /* cal..... */ 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, /* ........ */ 0x11, 0x93, 0x00, 0x0c, 0x04, 0x5f, 0x73, 0x6d, /* ....._sm */ 0x62, 0x04, 0x5f, 0x74, 0x63, 0x70, 0xc0, 0x23, /* b._tcp.# */ 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, /* ........ */ 0x11, 0x94, 0x00, 0x0f, 0x0c, 0x5f, 0x77, 0x6f, /* ....._wo */ 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, /* rkstatio */ 0x6e, 0xc0, 0x3f, 0xc0, 0x0c, 0x00, 0x0c, 0x00, /* n.?..... */ 0x01, 0x00, 0x00, 0x11, 0x94, 0x00, 0x12, 0x0f, /* ........ */ 0x5f, 0x70, 0x64, 0x6c, 0x2d, 0x64, 0x61, 0x74, /* _pdl-dat */ 0x61, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xc0, /* astream. */ 0x3f, 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, /* ?....... */ 0x00, 0x11, 0x94, 0x00, 0x0b, 0x08, 0x5f, 0x70, /* ......_p */ 0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, 0xc0, 0x3f, /* rinter.? */ 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, /* ........ */ 0x11, 0x94, 0x00, 0x08, 0x05, 0x5f, 0x68, 0x74, /* ....._ht */ 0x74, 0x70, 0xc0, 0x3f /* tp.? */ }; /* Frame (225 bytes) */ static const unsigned char pkt8[225] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0xec, 0x17, /* ..^..... */ 0x2f, 0xbd, 0xa4, 0xb1, 0x08, 0x00, 0x45, 0x00, /* /.....E. */ 0x00, 0xd3, 0x02, 0xe2, 0x00, 0x00, 0xff, 0x11, /* ........ */ 0xcd, 0x3a, 0x0a, 0x00, 0x00, 0x02, 0xe0, 0x00, /* .:...... */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0xbf, /* ........ */ 0x1b, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* .:...... */ 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x09, 0x5f, /* ......._ */ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, /* services */ 0x07, 0x5f, 0x64, 0x6e, 0x73, 0x2d, 0x73, 0x64, /* ._dns-sd */ 0x04, 0x5f, 0x75, 0x64, 0x70, 0x05, 0x6c, 0x6f, /* ._udp.lo */ 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, /* cal..... */ 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, /* ........ */ 0x11, 0x94, 0x00, 0x14, 0x0c, 0x5f, 0x77, 0x6f, /* ....._wo */ 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, /* rkstatio */ 0x6e, 0x04, 0x5f, 0x74, 0x63, 0x70, 0xc0, 0x23, /* n._tcp.# */ 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, /* ........ */ 0x11, 0x94, 0x00, 0x09, 0x06, 0x5f, 0x74, 0x65, /* ....._te */ 0x73, 0x74, 0x65, 0xc0, 0x47, 0xc0, 0x0c, 0x00, /* ste.G... */ 0x0c, 0x00, 0x01, 0x00, 0x00, 0x11, 0x94, 0x00, /* ........ */ 0x09, 0x06, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x64, /* .._testd */ 0xc0, 0x47, 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, /* .G...... */ 0x00, 0x00, 0x11, 0x94, 0x00, 0x09, 0x06, 0x5f, /* ......._ */ 0x74, 0x65, 0x73, 0x74, 0x63, 0xc0, 0x47, 0xc0, /* testc.G. */ 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x11, /* ........ */ 0x94, 0x00, 0x09, 0x06, 0x5f, 0x74, 0x65, 0x73, /* ...._tes */ 0x74, 0x62, 0xc0, 0x47, 0xc0, 0x0c, 0x00, 0x0c, /* tb.G.... */ 0x00, 0x01, 0x00, 0x00, 0x11, 0x94, 0x00, 0x09, /* ........ */ 0x06, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x61, 0xc0, /* ._testa. */ 0x47 /* G */ }; /* Frame (212 bytes) */ static const unsigned char pkt9[212] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x18, 0x03, /* ..^..... */ 0x73, 0x29, 0x5f, 0x66, 0x08, 0x00, 0x45, 0x00, /* s)_f..E. */ 0x00, 0xc6, 0x58, 0xcf, 0x00, 0x00, 0xff, 0x11, /* ..X..... */ 0xc0, 0x4f, 0xc0, 0xa8, 0x00, 0x64, 0xe0, 0x00, /* .O...d.. */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0xb2, /* ........ */ 0xa2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* ........ */ 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x09, 0x5f, /* ......._ */ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, /* services */ 0x07, 0x5f, 0x64, 0x6e, 0x73, 0x2d, 0x73, 0x64, /* ._dns-sd */ 0x04, 0x5f, 0x75, 0x64, 0x70, 0x05, 0x6c, 0x6f, /* ._udp.lo */ 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, /* cal..... */ 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, /* ........ */ 0x11, 0x90, 0x00, 0x0c, 0x04, 0x5f, 0x73, 0x6d, /* ....._sm */ 0x62, 0x04, 0x5f, 0x74, 0x63, 0x70, 0xc0, 0x23, /* b._tcp.# */ 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, /* ........ */ 0x11, 0x91, 0x00, 0x0f, 0x0c, 0x5f, 0x77, 0x6f, /* ....._wo */ 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, /* rkstatio */ 0x6e, 0xc0, 0x3f, 0xc0, 0x0c, 0x00, 0x0c, 0x00, /* n.?..... */ 0x01, 0x00, 0x00, 0x11, 0x91, 0x00, 0x12, 0x0f, /* ........ */ 0x5f, 0x70, 0x64, 0x6c, 0x2d, 0x64, 0x61, 0x74, /* _pdl-dat */ 0x61, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xc0, /* astream. */ 0x3f, 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, /* ?....... */ 0x00, 0x11, 0x91, 0x00, 0x0b, 0x08, 0x5f, 0x70, /* ......_p */ 0x72, 0x69, 0x6e, 0x74, 0x65, 0x72, 0xc0, 0x3f, /* rinter.? */ 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, /* ........ */ 0x11, 0x91, 0x00, 0x08, 0x05, 0x5f, 0x68, 0x74, /* ....._ht */ 0x74, 0x70, 0xc0, 0x3f /* tp.? */ }; /* Frame (225 bytes) */ static const unsigned char pkt10[225] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0xec, 0x17, /* ..^..... */ 0x2f, 0xbd, 0xa4, 0xb1, 0x08, 0x00, 0x45, 0x00, /* /.....E. */ 0x00, 0xd3, 0x02, 0xe3, 0x00, 0x00, 0xff, 0x11, /* ........ */ 0xcd, 0x39, 0x0a, 0x00, 0x00, 0x02, 0xe0, 0x00, /* .9...... */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0xbf, /* ........ */ 0x21, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* !F...... */ 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x09, 0x5f, /* ......._ */ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, /* services */ 0x07, 0x5f, 0x64, 0x6e, 0x73, 0x2d, 0x73, 0x64, /* ._dns-sd */ 0x04, 0x5f, 0x75, 0x64, 0x70, 0x05, 0x6c, 0x6f, /* ._udp.lo */ 0x63, 0x61, 0x6c, 0x00, 0x00, 0x0c, 0x00, 0x01, /* cal..... */ 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, /* ........ */ 0x11, 0x91, 0x00, 0x14, 0x0c, 0x5f, 0x77, 0x6f, /* ....._wo */ 0x72, 0x6b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, /* rkstatio */ 0x6e, 0x04, 0x5f, 0x74, 0x63, 0x70, 0xc0, 0x23, /* n._tcp.# */ 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, /* ........ */ 0x11, 0x91, 0x00, 0x09, 0x06, 0x5f, 0x74, 0x65, /* ....._te */ 0x73, 0x74, 0x65, 0xc0, 0x47, 0xc0, 0x0c, 0x00, /* ste.G... */ 0x0c, 0x00, 0x01, 0x00, 0x00, 0x11, 0x91, 0x00, /* ........ */ 0x09, 0x06, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x64, /* .._testd */ 0xc0, 0x47, 0xc0, 0x0c, 0x00, 0x0c, 0x00, 0x01, /* .G...... */ 0x00, 0x00, 0x11, 0x91, 0x00, 0x09, 0x06, 0x5f, /* ......._ */ 0x74, 0x65, 0x73, 0x74, 0x63, 0xc0, 0x47, 0xc0, /* testc.G. */ 0x0c, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x11, /* ........ */ 0x91, 0x00, 0x09, 0x06, 0x5f, 0x74, 0x65, 0x73, /* ...._tes */ 0x74, 0x62, 0xc0, 0x47, 0xc0, 0x0c, 0x00, 0x0c, /* tb.G.... */ 0x00, 0x01, 0x00, 0x00, 0x11, 0x91, 0x00, 0x09, /* ........ */ 0x06, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x61, 0xc0, /* ._testa. */ 0x47 /* G */ }; /* Frame (360 bytes) */ static const unsigned char pkt11[360] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x18, 0x03, /* ..^..... */ 0x73, 0x29, 0x5f, 0x66, 0x08, 0x00, 0x45, 0x00, /* s)_f..E. */ 0x01, 0x5a, 0x59, 0x32, 0x00, 0x00, 0xff, 0x11, /* .ZY2.... */ 0xbf, 0x58, 0xc0, 0xa8, 0x00, 0x64, 0xe0, 0x00, /* .X...d.. */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x01, 0x46, /* .......F */ 0xa3, 0x5f, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, /* ._...... */ 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x08, 0x43, /* .......C */ 0x61, 0x74, 0x72, 0x6f, 0x2d, 0x50, 0x43, 0x05, /* atro-PC. */ 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x00, 0x00, 0x01, /* local... */ 0x80, 0x01, 0x00, 0x00, 0x00, 0x78, 0x00, 0x04, /* .....x.. */ 0xc0, 0xa8, 0x00, 0x64, 0x03, 0x31, 0x30, 0x30, /* ...d.100 */ 0x01, 0x30, 0x03, 0x31, 0x36, 0x38, 0x03, 0x31, /* .0.168.1 */ 0x39, 0x32, 0x07, 0x69, 0x6e, 0x2d, 0x61, 0x64, /* 92.in-ad */ 0x64, 0x72, 0x04, 0x61, 0x72, 0x70, 0x61, 0x00, /* dr.arpa. */ 0x00, 0x0c, 0x80, 0x01, 0x00, 0x00, 0x00, 0x78, /* .......x */ 0x00, 0x02, 0xc0, 0x0c, 0xc0, 0x0c, 0x00, 0x1c, /* ........ */ 0x80, 0x01, 0x00, 0x00, 0x00, 0x78, 0x00, 0x10, /* .....x.. */ 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* @....... */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, /* ........ */ 0x01, 0x32, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, /* .2.0.0.0 */ 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, /* .0.0.0.0 */ 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, /* .0.0.0.0 */ 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, /* .0.0.0.0 */ 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, /* .0.0.0.0 */ 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, /* .0.0.0.0 */ 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, /* .0.0.0.0 */ 0x01, 0x31, 0x01, 0x30, 0x01, 0x30, 0x01, 0x34, /* .1.0.0.4 */ 0x03, 0x69, 0x70, 0x36, 0xc0, 0x40, 0x00, 0x0c, /* .ip6.@.. */ 0x80, 0x01, 0x00, 0x00, 0x00, 0x78, 0x00, 0x02, /* .....x.. */ 0xc0, 0x0c, 0xc0, 0x0c, 0x00, 0x1c, 0x80, 0x01, /* ........ */ 0x00, 0x00, 0x00, 0x78, 0x00, 0x10, 0xfe, 0x80, /* ...x.... */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9d, 0x70, /* .......p */ 0x49, 0x3f, 0x59, 0x89, 0x7e, 0xba, 0x01, 0x41, /* I?Y.~..A */ 0x01, 0x42, 0x01, 0x45, 0x01, 0x37, 0x01, 0x39, /* .B.E.7.9 */ 0x01, 0x38, 0x01, 0x39, 0x01, 0x35, 0x01, 0x46, /* .8.9.5.F */ 0x01, 0x33, 0x01, 0x39, 0x01, 0x34, 0x01, 0x30, /* .3.9.4.0 */ 0x01, 0x37, 0x01, 0x44, 0x01, 0x39, 0x01, 0x30, /* .7.D.9.0 */ 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, /* .0.0.0.0 */ 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, /* .0.0.0.0 */ 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, 0x01, 0x30, /* .0.0.0.0 */ 0x01, 0x38, 0x01, 0x45, 0x01, 0x46, 0xc0, 0xae, /* .8.E.F.. */ 0x00, 0x0c, 0x80, 0x01, 0x00, 0x00, 0x00, 0x78, /* .......x */ 0x00, 0x02, 0xc0, 0x0c, 0xc0, 0x0c, 0x00, 0x2f, /* ......./ */ 0x80, 0x01, 0x00, 0x00, 0x00, 0x78, 0x00, 0x08, /* .....x.. */ 0xc0, 0x0c, 0x00, 0x04, 0x40, 0x00, 0x00, 0x08 /* ....@... */ }; /* Frame (136 bytes) */ static const unsigned char pkt12[136] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0xec, 0x17, /* ..^..... */ 0x2f, 0xbd, 0xa4, 0xb1, 0x08, 0x00, 0x45, 0x00, /* /.....E. */ 0x00, 0x7a, 0x02, 0xe4, 0x00, 0x00, 0xff, 0x11, /* .z...... */ 0xcd, 0x91, 0x0a, 0x00, 0x00, 0x02, 0xe0, 0x00, /* ........ */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0x66, /* .......f */ 0x82, 0x29, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, /* .)...... */ 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x08, 0x43, /* .......C */ 0x61, 0x74, 0x72, 0x6f, 0x2d, 0x50, 0x43, 0x05, /* atro-PC. */ 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x00, 0x00, 0x01, /* local... */ 0x80, 0x01, 0x00, 0x00, 0x00, 0x78, 0x00, 0x04, /* .....x.. */ 0x0a, 0x00, 0x00, 0x02, 0x01, 0x32, 0x01, 0x30, /* .....2.0 */ 0x01, 0x30, 0x02, 0x31, 0x30, 0x07, 0x69, 0x6e, /* .0.10.in */ 0x2d, 0x61, 0x64, 0x64, 0x72, 0x04, 0x61, 0x72, /* -addr.ar */ 0x70, 0x61, 0x00, 0x00, 0x0c, 0x80, 0x01, 0x00, /* pa...... */ 0x00, 0x00, 0x78, 0x00, 0x02, 0xc0, 0x0c, 0xc0, /* ..x..... */ 0x0c, 0x00, 0x2f, 0x80, 0x01, 0x00, 0x00, 0x00, /* ../..... */ 0x78, 0x00, 0x05, 0xc0, 0x0c, 0x00, 0x01, 0x40 /* x......@ */ }; /* Frame (83 bytes) */ static const unsigned char pkt13[83] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0x18, 0x03, /* ..^..... */ 0x73, 0x29, 0x5f, 0x66, 0x08, 0x00, 0x45, 0x00, /* s)_f..E. */ 0x00, 0x45, 0x59, 0xc5, 0x00, 0x00, 0xff, 0x11, /* .EY..... */ 0xbf, 0xda, 0xc0, 0xa8, 0x00, 0x64, 0xe0, 0x00, /* .....d.. */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0x31, /* .......1 */ 0xa2, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* .J...... */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x5f, /* ......._ */ 0x73, 0x6c, 0x65, 0x65, 0x70, 0x2d, 0x70, 0x72, /* sleep-pr */ 0x6f, 0x78, 0x79, 0x04, 0x5f, 0x75, 0x64, 0x70, /* oxy._udp */ 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x00, 0x00, /* .local.. */ 0x0c, 0x00, 0x01 /* ... */ }; /* Frame (83 bytes) */ static const unsigned char pkt14[83] = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0xfb, 0xec, 0x17, /* ..^..... */ 0x2f, 0xbd, 0xa4, 0xb1, 0x08, 0x00, 0x45, 0x00, /* /.....E. */ 0x00, 0x45, 0x02, 0xe5, 0x00, 0x00, 0xff, 0x11, /* .E...... */ 0xcd, 0xc5, 0x0a, 0x00, 0x00, 0x02, 0xe0, 0x00, /* ........ */ 0x00, 0xfb, 0x14, 0xe9, 0x14, 0xe9, 0x00, 0x31, /* .......1 */ 0x95, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, /* .L...... */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x5f, /* ......._ */ 0x73, 0x6c, 0x65, 0x65, 0x70, 0x2d, 0x70, 0x72, /* sleep-pr */ 0x6f, 0x78, 0x79, 0x04, 0x5f, 0x75, 0x64, 0x70, /* oxy._udp */ 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x00, 0x00, /* .local.. */ 0x0c, 0x00, 0x01 /* ... */ }; static MDNS_QUERY_INFO mdns_query = {NX_NULL, NX_NULL, NX_NULL}; MDNS_TEST_SEQ mdns_dns_sd_query[] = { {TITLE, "DNS-SD query", 12, 0}, /* Wait 5 seconds. */ {WAIT, NX_NULL, 0, 5}, {DUMP, NX_NULL, 0, 0}, /* Add query. */ {MDNS_QUERY, (char*)&mdns_query, 0, 0}, /* Check query. */ {MDNS_CHECK_DATA_V4, (char*)&pkt1[0], sizeof(pkt1), 3}, /* Inject response. */ {INJECT, (char*)&pkt3[0], sizeof(pkt3), 0}, {INJECT, (char*)&pkt4[0], sizeof(pkt4), 0}, {INJECT, (char*)&pkt5[0], sizeof(pkt5), 0}, {INJECT, (char*)&pkt6[0], sizeof(pkt6), 0}, /* Check RR count. */ {MDNS_CHECK_RR_COUNT_REMOTE, NX_NULL, 10, 0}, }; int mdns_dns_sd_query_size = sizeof(mdns_dns_sd_query) / sizeof(MDNS_TEST_SEQ); #endif /* __PRODUCT_NETXDUO__ */