@@ -13,18 +13,45 @@ extern "C" {
const char * MESA_jump_layer_get_last_error ( void ) ;
/*
The raw_layer_type and expect_layer_type refer to sapp_base.h->enum addr_type_t
CHN : <20> <> <EFBFBD> ݰ<EFBFBD> ͷ<EFBFBD> <CDB7> ƫ<EFBFBD> ƺ<EFBFBD> <C6BA> <EFBFBD> .
<09> <> <EFBFBD> <EFBFBD> :
raw_data: <20> <> ǰ<EFBFBD> <C7B0> <EFBFBD> <EFBFBD> ͷ<EFBFBD> <CDB7> ָ<EFBFBD> <D6B8> ;
raw_layer_type: <20> <> ǰ<EFBFBD> <C7B0> <EFBFBD> ĵ<EFBFBD> ַ<EFBFBD> <D6B7> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> : enum addr_type_t ;
expect_layer_type: <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ת<EFBFBD> <D7AA> <EFBFBD> ĵ<EFBFBD> ַ<EFBFBD> <D6B7> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> : enum addr_type_t ;
<09> <> <EFBFBD> <EFBFBD> ֵ:
NULL: <20> ˵<DEB4> ַ;
NON-NULL: <20> <> Ӧ<EFBFBD> <D3A6> <EFBFBD> <EFBFBD> ͷ<EFBFBD> <CDB7> <EFBFBD> <EFBFBD> ַ.
<09> <> <EFBFBD> <EFBFBD> :
<09> <> <EFBFBD> 赱ǰ<E8B5B1> <C7B0> ΪEthernet, <20> <> ʼ <EFBFBD> <CABC> ͷ<EFBFBD> <CDB7> ַΪthis_layer_hdr, <20> <> <EFBFBD> <EFBFBD> ת<EFBFBD> <D7AA> IPv6<76> <36> ͷ<EFBFBD> <CDB7> :
struct ip6_hdr *ip6_header;
ip6_header = MESA_net_jump_to_layer(this_layer_hdr, ADDR_TYPE_MAC, ADDR_TYPE_IPV6);
*/
const void * MESA_jump_layer ( const void * raw_data , int raw_layer_type , int expect_layer_type ) ;
/*
MESA_jump_layer_greedy<64> <79> MESA_jump_layer<65> <72> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> :
<20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ƕ<EFBFBD> <C7B6> Э<EFBFBD> <D0AD> <EFBFBD> <EFBFBD> ˵,
MESA_jump_layer<65> <72> ת<EFBFBD> <D7AA> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> expect_layer_type;
MESA_jump_layer_greedy<64> <79> ת<EFBFBD> <D7AA> <EFBFBD> <EFBFBD> <EFBFBD> ڲ<EFBFBD> <DAB2> <EFBFBD> expect_layer_type;
*/
const void * MESA_jump_layer_greedy ( const void * raw_data , int raw_layer_type , int expect_layer_type ) ;
const char * MESA_jump_layer_ipv4_ntop ( const struct ip * ip4_hdr , char * out_buf , int buf_len ) ;
/* <20> <> ǰ<EFBFBD> <C7B0> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ǰ<EFBFBD> Ľӿ<C4BD> <D3BF> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> <EFBFBD> <EFBFBD> ͬ<EFBFBD> <CDAC> */
const void * MESA_net_jump_to_layer ( const void * raw_data , int raw_layer_type , int expect_layer_type ) ;
const void * MESA_net_jump_to_layer_greedy ( const void * raw_data , int raw_layer_type , int expect_layer_type ) ;
const char * MESA_jump_layer_ipv4_ntop ( const struct ip * ip4_hdr , char * out_buf , int buf_len ) ;
const char * MESA_jump_layer_ipv6_ntop ( const struct ip6_hdr * ip6_hdr , char * out_buf , int buf_len ) ;
# ifdef __cplusplus
}
# endif
# endif