{"name": "ospf_lsa_action", "code": "__int64 __fastcall ospf_lsa_action ( __int64 @@a1@@ ) { unsigned __int8 * @@v2@@ ; __int64 @@v3@@ ; @@v3@@ = ospf_lookup ( ) ; @@v2@@ = * ( unsigned __int8 * * ) ( @@a1@@ + Number ) ; if ( ( term_debug_ospf_lsa & Number ) == Number L ) zlog_info ( String , * @@v2@@ ) ; switch ( * @@v2@@ ) { case Number : ospf_router_lsa_refresh ( * ( _QWORD * ) ( * ( ( _QWORD * ) @@v2@@ + Number ) + Number L ) ) ; break ; case Number : ospf_network_lsa_originate ( * ( ( _QWORD * * ) @@v2@@ + Number ) ) ; break ; case Number : ospf_flood_through_area ( * ( ( _QWORD * ) @@v2@@ + Number ) , Number L , * ( ( _QWORD * ) @@v2@@ + Number ) ) ; break ; case Number : ospf_flood_through_as ( @@v3@@ , Number L , * ( ( _QWORD * ) @@v2@@ + Number ) ) ; break ; case Number : ospf_lsa_flush_area ( * ( ( _QWORD * ) @@v2@@ + Number ) , * ( ( _QWORD * ) @@v2@@ + Number ) ) ; break ; case Number : ospf_lsa_flush_as ( @@v3@@ , * ( ( _QWORD * ) @@v2@@ + Number ) ) ; break ; default : break ; } ospf_lsa_unlock ( * ( ( _QWORD * ) @@v2@@ + Number ) ) ; zfree ( Number L , @@v2@@ ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v2", "t": {"T": 3, "t": "unsigned __int8"}, "location": "s16"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": "ospf_lsa_unlock", "code": "__int64 __fastcall ospf_lsa_unlock ( __int64 @@a1@@ ) { __int64 @@result@@ ; if ( @@a1@@ ) { if ( ( int ) -- * ( _DWORD * ) ( @@a1@@ + Number ) < Number ) _assert_fail ( String , String , Number , String ) ; @@result@@ = * ( unsigned int * ) ( @@a1@@ + Number ) ; if ( ! ( _DWORD ) @@result@@ ) { if ( ( * ( _BYTE * ) @@a1@@ & Number ) == Number ) _assert_fail ( String , String , Number , String ) ; @@result@@ = ospf_lsa_free ( @@a1@@ ) ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "ospf_router_lsa_refresh", "code": "__int64 __fastcall ospf_router_lsa_refresh ( __int64 @@a1@@ ) { char * @@v1@@ ; struct timeval * @@v3@@ ; _DWORD * @@v4@@ ; @@v4@@ = * ( _DWORD * * ) ( @@a1@@ + Number ) ; if ( ! * ( _QWORD * ) ( @@a1@@ + Number ) ) _assert_fail ( String , String , Number , String ) ; ospf_ls_retransmit_delete_nbr_area ( @@v4@@ , @@a1@@ ) ; @@v3@@ = ospf_router_lsa_new ( @@v4@@ ) ; * ( _DWORD * ) ( @@v3@@ -> tv_usec + Number ) = lsa_seqnum_increment ( @@a1@@ ) ; ospf_lsa_install ( * ( _QWORD * ) @@v4@@ , Number L , @@v3@@ ) ; ospf_flood_through_area ( @@v4@@ , Number L , @@v3@@ ) ; if ( ( term_debug_ospf_lsa & Number ) != Number ) { @@v1@@ = inet_ntoa ( * ( struct in_addr * ) ( @@v3@@ -> tv_usec + Number ) ) ; zlog_info ( String , * ( unsigned __int8 * ) ( @@v3@@ -> tv_usec + Number ) , @@v1@@ ) ; ospf_lsa_header_dump ( @@v3@@ -> tv_usec ) ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v1", "t": {"T": 3, "t": "char"}, "location": "r8"}, {"n": "v3", "t": {"T": 3, "t": "struct timeval"}, "location": "s16"}, {"n": "v4", "t": {"T": 3, "t": "_DWORD"}, "location": "s8"}]} {"name": "ospf_network_lsa_originate", "code": "_QWORD * __fastcall ospf_network_lsa_originate ( _QWORD * @@a1@@ ) { char * @@v2@@ ; struct timeval * v3 ; _QWORD * v4 ; v3 = ospf_network_lsa_new ( ( __int64 ) @@a1@@ ) ; if ( ! v3 ) return Number L ; v4 = ( _QWORD * ) ospf_lsa_install ( * @@a1@@ , @@a1@@ , v3 ) ; ++ * ( _DWORD * ) ( * @@a1@@ + Number L ) ; ospf_flood_through_area ( @@a1@@ [ Number ] , Number L , v4 ) ; if ( ( term_debug_ospf_lsa & Number ) != Number ) { @@v2@@ = inet_ntoa ( * ( struct in_addr * ) ( v4 [ Number ] + Number L ) ) ; zlog_info ( String , * ( unsigned __int8 * ) ( v4 [ Number ] + Number L ) , @@v2@@ , v4 ) ; ospf_lsa_header_dump ( v4 [ Number ] ) ; } return v4 ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "v2", "t": {"T": 3, "t": "char"}, "location": "r8"}]} {"name": "ospf_schedule_lsa_flood_area", "code": "__int64 __fastcall ospf_schedule_lsa_flood_area ( __int64 @@a1@@ , __int64 @@a2@@ ) { _QWORD * @@s@@ ; @@s@@ = ( _QWORD * ) zmalloc ( Number L , Number L ) ; memset ( @@s@@ , Number , Number ) ; * ( _BYTE * ) @@s@@ = Number ; @@s@@ [ Number ] = @@a1@@ ; @@s@@ [ Number ] = ospf_lsa_lock ( @@a2@@ ) ; return thread_add_event ( master , ospf_lsa_action , @@s@@ , Number L ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "s", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "ospf_schedule_lsa_flush_area", "code": "__int64 __fastcall ospf_schedule_lsa_flush_area ( __int64 @@a1@@ , __int64 @@a2@@ ) { _QWORD * @@s@@ ; @@s@@ = ( _QWORD * ) zmalloc ( Number L , Number L ) ; memset ( @@s@@ , Number , Number ) ; * ( _BYTE * ) @@s@@ = Number ; @@s@@ [ Number ] = @@a1@@ ; @@s@@ [ Number ] = ospf_lsa_lock ( @@a2@@ ) ; return thread_add_event ( master , ospf_lsa_action , @@s@@ , Number L ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "s", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]}