{"name": "ospf_lsa_maxage_walker", "code": "__int64 __fastcall ospf_lsa_maxage_walker ( __int64 @@a1@@ ) { __int64 @@v2@@ ; _QWORD * v3 ; _QWORD * v4 ; _QWORD * v5 ; _QWORD * v6 ; _QWORD * v7 ; __int64 @@v8@@ ; _QWORD * @@i@@ ; __int64 j ; __int64 k ; __int64 l ; __int64 m ; __int64 n ; @@v8@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@v8@@ + Number ) = Number L ; for ( @@i@@ = * * ( _QWORD * * * ) ( @@v8@@ + Number ) ; @@i@@ ; @@i@@ = ( _QWORD * ) * @@i@@ ) { @@v2@@ = @@i@@ [ Number ] ; if ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@v2@@ + Number ) + Number L ) ) { for ( j = route_top ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@v2@@ + Number ) + Number L ) ) ; j ; j = route_next ( j ) ) { v3 = * ( _QWORD * * ) ( j + Number ) ; if ( v3 ) ospf_lsa_maxage_walker_remover ( @@v8@@ , v3 ) ; } } if ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@v2@@ + Number ) + Number L ) ) { for ( k = route_top ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@v2@@ + Number ) + Number L ) ) ; k ; k = route_next ( k ) ) { v4 = * ( _QWORD * * ) ( k + Number ) ; if ( v4 ) ospf_lsa_maxage_walker_remover ( @@v8@@ , v4 ) ; } } if ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@v2@@ + Number ) + Number L ) ) { for ( l = route_top ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@v2@@ + Number ) + Number L ) ) ; l ; l = route_next ( l ) ) { v5 = * ( _QWORD * * ) ( l + Number ) ; if ( v5 ) ospf_lsa_maxage_walker_remover ( @@v8@@ , v5 ) ; } } if ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@v2@@ + Number ) + Number L ) ) { for ( m = route_top ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@v2@@ + Number ) + Number L ) ) ; m ; m = route_next ( m ) ) { v6 = * ( _QWORD * * ) ( m + Number ) ; if ( v6 ) ospf_lsa_maxage_walker_remover ( @@v8@@ , v6 ) ; } } } if ( * ( _QWORD * ) ( @@v8@@ + Number ) && * ( _QWORD * ) ( * ( _QWORD * ) ( @@v8@@ + Number ) + Number L ) ) { for ( n = route_top ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@v8@@ + Number ) + Number L ) ) ; n ; n = route_next ( n ) ) { v7 = * ( _QWORD * * ) ( n + Number ) ; if ( v7 ) ospf_lsa_maxage_walker_remover ( @@v8@@ , v7 ) ; } } if ( ! * ( _QWORD * ) ( @@v8@@ + Number ) ) * ( _QWORD * ) ( @@v8@@ + Number ) = thread_add_timer ( master , ospf_lsa_maxage_walker , @@v8@@ , Number L ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s16"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}]}
{"name": "ospf_lsa_maxage", "code": "__int64 __fastcall ospf_lsa_maxage ( __int64 @@a1@@ , _QWORD * @@a2@@ ) { __int64 result ; char * v3 ; __int64 v4 ; char * v5 ; if ( ( unsigned int ) ospf_lsa_maxage_exist ( @@a1@@ , ( __int64 ) @@a2@@ ) ) { result = term_debug_ospf_lsa & Number ; if ( ( term_debug_ospf_lsa & Number ) != Number ) { v3 = inet_ntoa ( * ( struct in_addr * ) ( @@a2@@ [ Number ] + Number L ) ) ; result = zlog_info ( String , * ( unsigned __int8 * ) ( @@a2@@ [ Number ] + Number L ) , v3 , @@a2@@ ) ; } } else { v4 = ospf_lsa_lock ( ( __int64 ) @@a2@@ ) ; listnode_add ( * ( _QWORD * ) ( @@a1@@ + Number ) , v4 ) ; if ( ( term_debug_ospf_lsa & Number ) != Number ) { v5 = dump_lsa_key ( ( __int64 ) @@a2@@ ) ; zlog_info ( String , v5 ) ; } result = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( ! result ) { result = thread_add_timer ( master , ospf_maxage_lsa_remover , @@a1@@ , Number L ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = result ; } } return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_QWORD"}, "location": "r64"}]} {"name": "ospf_lsa_maxage_walker_remover", "code": "__int64 __fastcall ospf_lsa_maxage_walker_remover ( __int64 @@a1@@ , _QWORD * @@a2@@ ) { char * @@v2@@ ; if ( ( ( int ) get_age ( ( __int64 ) @@a2@@ ) > Number || ( unsigned int ) get_age ( ( __int64 ) @@a2@@ ) == Number ) && ! ( unsigned int ) ospf_lsa_is_self_originated ( @@a1@@ , @@a2@@ ) ) { if ( ( term_debug_ospf_lsa & Number ) != Number ) { @@v2@@ = dump_lsa_key ( ( __int64 ) @@a2@@ ) ; zlog_info ( String , @@v2@@ ) ; } if ( * ( _BYTE * ) ( @@a2@@ [ Number ] + Number L ) == Number ) ospf_ase_incremental_update ( @@a1@@ , @@a2@@ ) ; else ospf_spf_calculate_schedule ( @@a1@@ ) ; ospf_lsa_maxage ( @@a1@@ , @@a2@@ ) ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_QWORD"}, "location": "r64"}, {"n": "v2", "t": {"T": 3, "t": "char"}, "location": "r8"}]}