📄 dsmcc_int_unt_descriptor.c
字号:
out (4,"Mac_addr_mask: %06lx%06lx [= ",mac_H, mac_L); displ_mac_addr (4, mac_H, mac_L); out_nl (4,"]"); b += 8; len -= 6; while (len > 0) { mac_H = getBits (b, 0, 0, 24); mac_L = getBits (b, 0, 24, 24); out (4,"Mac_addr: %06lx%06lx [= ",mac_H, mac_L); displ_mac_addr (4, mac_H, mac_L); out_nl (4,"]"); b += 6; len -= 6; }}/* 0x08 - target_serial_number ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_target_serial_number (u_char *b){ int len; // descriptor_tag = b[0]; len = b[1]; print_databytes (4,"Serial Data Bytes:", b+2,len);}/* 0x09 - IP_address ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_target_IP_address (u_char *b){ int len; u_long ip; // descriptor_tag = b[0]; len = b[1]; ip = getBits (b, 0, 16, 32); out (4,"IPv4_addr_mask: %08lx [= ",ip); displ_IPv4_addr (4, ip); out_nl (4,"]"); b += 6; len -= 4; while (len > 0) { ip = getBits (b, 0, 0, 32); out (4,"IPv4_addr: %08lx [= ",ip); displ_IPv4_addr (4, ip); out_nl (4,"]"); b += 4; len -= 4; }}/* 0x0A - IPv6_address ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_target_IPv6_address (u_char *b){ int len; struct IPv6ADDR x; // descriptor_tag = b[0]; len = b[1]; getIPv6Addr (b+2, &x); out (4,"IPv6_addr_mask: %08lx%08lx%08lx%08lx [= ", x.ip[0], x.ip[1], x.ip[2], x.ip[3] ); displ_IPv6_addr (4, &x); out_nl (4,"]"); b += 18; len -= 16; while (len > 0) { getIPv6Addr (b, &x); out (4,"IPv6_addr_mask: %08lx%08lx%08lx%08lx [= ", x.ip[0], x.ip[1], x.ip[2], x.ip[3] ); displ_IPv6_addr (4, &x); out_nl (4,"]"); b += 16; len -= 16; }}/* 0x0B - ssu_subgroup_association ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_ssu_subgroup_association (u_char *b){ // descriptor_tag = b[0]; // len = b[1]; outBit_Sx (4,"subgroup_tag: ", b, 16, 24); outBit_Sx_NL (4," ", b, 40, 16); // TS 102 006: // subgroup_tag (40 bit): the least significant 16 bits of this field shall // contain the same value as the subgroup_association_descriptor in // the GroupInfoBytes in the GroupInfoIndication structure of the // DSI message. This is a unique value under the defining authority // of the holder of the OUI conveyed in the field's most significant // 24 bits. // Note that no relationship between this OUI and any other OUI // in the system is implied.}/* 0x0C - IP/MAC_platform_name ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_IP_MAC_platform_name (u_char *b){ int len; u_char ISO639_language_code[4]; // descriptor_tag = b[0]; len = b[1]; getISO639_3 (ISO639_language_code, b+2); out_nl (4," ISO639_language_code: %3.3s", ISO639_language_code); print_text_468A (4, "Text: ", b+2+3, len-3);}/* 0x0D - IP/MAC_platform_provider_name ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_IP_MAC_platform_provider_name (u_char *b){ descriptorDSMCC_IP_MAC_platform_name (b); // same encoding...}/* 0x0E - target_MAC_address_range ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_target_MAC_address_range (u_char *b){ int len; long mac_H, mac_L; // descriptor_tag = b[0]; len = b[1]; b += 2; while (len > 0) { mac_H = getBits (b, 0, 0, 24); mac_L = getBits (b, 0, 24, 24); out (4,"Mac_addr_low: %06lx%06lx [= ",mac_H, mac_L); displ_mac_addr (4, mac_H, mac_L); out_nl (4,"]"); mac_H = getBits (b, 0, 48, 24); mac_L = getBits (b, 0, 72, 24); out (4,"Mac_addr_high: %06lx%06lx [= ",mac_H, mac_L); displ_mac_addr (4, mac_H, mac_L); out_nl (4,"]"); b += 12; len -= 12; }}/* 0x0F - IP_slash ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_target_IP_slash (u_char *b){ int len; // descriptor_tag = b[0]; len = b[1]; b += 2; while (len > 0) { u_long ip; int mask; ip = outBit_Sx_NL (4,"IPv4_addr: ", b, 0,32); mask = outBit_Sx_NL (4,"IPv4_slash_mask: ", b,32, 8); out (4," [= "); displ_IPv4_addr (4, ip); out_nl (4,"/%d]",mask); b += 5; len -= 5; }}/* 0x10 - IP_source_slash ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_target_IP_source_slash (u_char *b){ int len; // descriptor_tag = b[0]; len = b[1]; b += 2; while (len > 0) { u_long ip; int mask; ip = outBit_Sx_NL (4,"IPv4_source_addr: ", b, 0,32); mask = outBit_Sx_NL (4,"IPv4_source_slash_mask: ", b,32, 8); out (4," [= "); displ_IPv4_addr (4, ip); out_nl (4,"/%d]",mask); ip = outBit_Sx_NL (4,"IPv4_dest_addr: ", b,40,32); mask = outBit_Sx_NL (4,"IPv4_dest_slash_mask: ", b,72, 8); out (4," [= "); displ_IPv4_addr (4, ip); out_nl (4,"/%d]",mask); b += 10; len -= 10; }}/* 0x11 - IPv6_slash ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_target_IPv6_slash (u_char *b){ int len; // descriptor_tag = b[0]; len = b[1]; b += 2; while (len > 0) { struct IPv6ADDR x; int mask; getIPv6Addr (b, &x); out_nl (4,"IPv6_addr_mask: %08lx%08lx%08lx%08lx", x.ip[0], x.ip[1], x.ip[2], x.ip[3] ); mask = outBit_Sx_NL (4,"IPv6_slash_mask: ", b,128, 8); out (4," [= "); displ_IPv6_addr (4, &x); out_nl (4,"/%d]",mask); b += 17; len -= 17; }}/* 0x12 - IPv6_source_slash ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_target_IPv6_source_slash (u_char *b){ int len; // descriptor_tag = b[0]; len = b[1]; b += 2; while (len > 0) { struct IPv6ADDR x; int mask; getIPv6Addr (b, &x); out_nl (4,"IPv6_source_addr: %08lx%08lx%08lx%08lx", x.ip[0], x.ip[1], x.ip[2], x.ip[3] ); mask = outBit_Sx_NL (4,"IPv6_source_slash_mask: ", b,128, 8); out (4," [= "); displ_IPv6_addr (4, &x); out_nl (4,"/%d]",mask); b += 17; len -= 17; getIPv6Addr (b, &x); out_nl (4,"IPv6_dest_addr: %08lx%08lx%08lx%08lx", x.ip[0], x.ip[1], x.ip[2], x.ip[3] ); mask = outBit_Sx_NL (4,"IPv6_dest_slash_mask: ", b,128, 8); out (4," [= "); displ_IPv6_addr (4, &x); out_nl (4,"/%d]",mask); b += 17; len -= 17; }}/* 0x13 - IP_MAC_StreamLocation ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_IP_MAC_StreamLocation (u_char *b){ // descriptor_tag = b[0]; // len = b[1]; outBit_S2x_NL (4,"Network_id: ", b, 16, 16, (char *(*)(u_long)) dvbstrNetworkIdent_ID); outBit_S2x_NL (4,"Original_network_id: ", b, 32, 16, (char *(*)(u_long)) dvbstrOriginalNetwork_ID); outBit_Sx_NL (4,"transport_stream_ID: ", b, 48, 16); outBit_Sx (4,"service_ID: ", b, 64, 16); out_nl (4," --> refers to PMT program_number"); outBit_Sx_NL (4,"component_tag: ", b, 80, 8);}/* 0x14 - ISP_access_mode ETSI EN 301 192 (ISO 13818-6)*/void descriptorDSMCC_ISP_access_mode (u_char *b){ // descriptor_tag = b[0]; // len = b[1]; outBit_S2x_NL (4,"Access_mode: ", b, 16, 8, (char *(*)(u_long)) dsmccStr_AccessMode );}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -