{"name": "ospf_lsa_discard", "code": "__int64 __fastcall ospf_lsa_discard ( _BYTE * @@a1@@ ) { __int64 @@result@@ ; @@result@@ = * @@a1@@ & Number ; if ( ( * @@a1@@ & Number ) == Number ) { * @@a1@@ |= Number ; @@result@@ = ospf_lsa_unlock ( ( __int64 ) @@a1@@ ) ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_BYTE"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}
{"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_originate", "code": "_QWORD * __fastcall ospf_router_lsa_originate ( _DWORD * @@a1@@ ) { _QWORD * result ; char * v2 ; struct timeval * v3 ; _QWORD * v4 ; v3 = ospf_router_lsa_new ( @@a1@@ ) ; if ( * ( _DWORD * ) ( v3 -> tv_usec + Number ) ) { v4 = ( _QWORD * ) ospf_lsa_install ( * ( _QWORD * ) @@a1@@ , Number L , v3 ) ; ++ * ( _DWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) ; ospf_flood_through_area ( @@a1@@ , 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 ] ) ; } result = v4 ; } else { if ( ( term_debug_ospf_event & Number ) != Number ) zlog_info ( String ) ; ospf_lsa_discard ( v3 ) ; result = Number L ; } return result ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}]} {"name": "ospf_discard_from_db", "code": "__int64 __fastcall ospf_discard_from_db ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ ) { __int64 @@result@@ ; __int64 @@v4@@ ; @@result@@ = ospf_lsdb_lookup ( @@a2@@ , @@a3@@ ) ; @@v4@@ = @@result@@ ; if ( @@result@@ ) { if ( * ( int * ) ( @@result@@ + Number ) >= Number ) ospf_refresher_unregister_lsa ( @@a1@@ , @@result@@ ) ; if ( * ( _BYTE * ) ( * ( _QWORD * ) ( @@v4@@ + Number ) + Number L ) == Number ) { ospf_ls_retransmit_delete_nbr_as ( @@a1@@ , @@v4@@ ) ; ospf_ase_unregister_external_lsa ( @@v4@@ , @@a1@@ ) ; } else { ospf_ls_retransmit_delete_nbr_area ( * ( _QWORD * ) ( @@v4@@ + Number ) , @@v4@@ ) ; } ospf_lsa_maxage_delete ( @@a1@@ , @@v4@@ ) ; @@result@@ = ospf_lsa_discard ( ( _BYTE * ) @@v4@@ ) ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}