Line data Source code
1 : /* Include fd_neigh4_map prototypes */ 2 : #include "fd_neigh4_map.h" 3 : 4 : #if FD_HAS_HOSTED 5 : 6 : #include <errno.h> 7 : #include <stdio.h> 8 : #include "../../util/net/fd_ip4.h" 9 : #include "../../util/net/fd_eth.h" 10 : 11 : int 12 : fd_neigh4_hmap_fprintf( fd_neigh4_hmap_t const * map, 13 0 : void * file_ ) { 14 0 : FILE * file = file_; 15 : 16 0 : ulong slot_cnt = fd_neigh4_hmap_ele_max( map ); 17 0 : fd_neigh4_entry_t const * ele = fd_neigh4_hmap_ele0_const( map ); 18 : 19 0 : for( ulong i=0UL; i<slot_cnt; i++ ) { 20 0 : fd_neigh4_entry_t tmp_val; 21 0 : fd_neigh4_entry_atomic_ld( &tmp_val, ele+i ); 22 : 23 0 : if( fd_neigh4_hmap_ele_is_free( &tmp_val ) ) continue; 24 : 25 0 : int print_res = fprintf( file, FD_IP4_ADDR_FMT " " FD_ETH_MAC_FMT "\n", 26 0 : FD_IP4_ADDR_FMT_ARGS( tmp_val.ip4_addr ), FD_ETH_MAC_FMT_ARGS( tmp_val.mac_addr ) ); 27 0 : if( FD_UNLIKELY( print_res<0 ) ) return errno; 28 0 : } 29 : 30 0 : return 0; 31 0 : } 32 : 33 : #endif /* FD_HAS_HOSTED */