{"name": "ospf_summary_lsa_new", "code": "struct timeval * __fastcall ospf_summary_lsa_new ( __suseconds_t @@a1@@ , __int64 @@a2@@ , uint32_t @@a3@@ , int @@a4@@ ) { char v4 ; struct timeval * @@v9@@ ; int @@v10@@ ; _WORD * @@src@@ ; __int64 @@v12@@ ; if ( ( term_debug_ospf_lsa & Number ) != Number ) zlog_info ( String ) ; @@v12@@ = stream_new ( Number L ) ; @@src@@ = * ( _WORD * * ) ( @@v12@@ + Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) v4 = Number ; else v4 = Number ; lsa_header_set ( @@v12@@ , v4 , Number , @@a4@@ , * * ( _DWORD * * ) @@a1@@ ) ; ospf_summary_lsa_body_set ( @@v12@@ , @@a2@@ , @@a3@@ ) ; @@v10@@ = stream_get_endp ( @@v12@@ ) ; @@src@@ [ Number ] = htons ( @@v10@@ ) ; @@v9@@ = ospf_lsa_new ( ) ; @@v9@@ [ Number ] . tv_usec = @@a1@@ ; LOBYTE ( @@v9@@ -> tv_sec ) |= Number ; @@v9@@ -> tv_usec = ( __suseconds_t ) ospf_lsa_data_new ( @@v10@@ ) ; memcpy ( ( void * ) @@v9@@ -> tv_usec , @@src@@ , @@v10@@ ) ; stream_free ( @@v12@@ ) ; return @@v9@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "uint32_t", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__suseconds_t", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "src", "t": {"T": 3, "t": "_WORD"}, "location": "s16"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v9", "t": {"T": 3, "t": "struct timeval"}, "location": "s32"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": "ospf_lsa_new", "code": "struct timeval * ospf_lsa_new ( ) { __suseconds_t @@v0@@ ; struct timeval * @@s@@ ; @@s@@ = ( struct timeval * ) zcalloc ( Number L , Number L ) ; memset ( @@s@@ , Number , Number ) ; LOBYTE ( @@s@@ -> tv_sec ) = Number ; LODWORD ( @@s@@ [ Number ] . tv_sec ) = Number ; HIDWORD ( @@s@@ [ Number ] . tv_sec ) = Number ; gettimeofday ( @@s@@ + Number , Number L ) ; @@v0@@ = @@s@@ [ Number ] . tv_usec ; @@s@@ [ Number ] . tv_sec = @@s@@ [ Number ] . tv_sec ; @@s@@ [ Number ] . tv_usec = @@v0@@ ; LODWORD ( @@s@@ [ Number ] . tv_sec ) = Number ; return @@s@@ ; }", "source": [{"n": "v0", "t": {"T": 1, "n": "__suseconds_t", "s": 8}, "location": "r16"}, {"n": "s", "t": {"T": 3, "t": "struct timeval"}, "location": "s8"}]} {"name": "ospf_lsa_data_new", "code": "void * __fastcall ospf_lsa_data_new ( size_t @@a1@@ ) { void * @@s@@ ; @@s@@ = ( void * ) zmalloc ( Number L , @@a1@@ ) ; memset ( @@s@@ , Number , @@a1@@ ) ; return @@s@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "r56"}, {"n": "s", "t": {"T": 3, "t": "void"}, "location": "s8"}]} {"name": "lsa_header_set", "code": "__int64 __fastcall lsa_header_set ( __int64 @@a1@@ , char @@a2@@ , char @@a3@@ , int @@a4@@ , int @@a5@@ ) { __int64 @@v9@@ ; @@v9@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _WORD * ) @@v9@@ = htons ( Number ) ; * ( _BYTE * ) ( @@v9@@ + Number ) = @@a2@@ ; * ( _BYTE * ) ( @@v9@@ + Number ) = @@a3@@ ; * ( _DWORD * ) ( @@v9@@ + Number ) = @@a4@@ ; * ( _DWORD * ) ( @@v9@@ + Number ) = @@a5@@ ; * ( _DWORD * ) ( @@v9@@ + Number ) = htonl ( Number ) ; return ospf_output_forward ( @@a1@@ , Number L ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "char", "s": 1}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r72"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "ospf_summary_lsa_body_set", "code": "__int64 __fastcall ospf_summary_lsa_body_set ( __int64 @@a1@@ , __int64 @@a2@@ , uint32_t @@a3@@ ) { unsigned int @@v5@@ ; masklen2ip ( * ( unsigned __int8 * ) ( @@a2@@ + Number ) , & @@v5@@ ) ; stream_put_ipv4 ( @@a1@@ , @@v5@@ ) ; stream_putc ( @@a1@@ , Number L ) ; return stream_put_ospf_metric ( @@a1@@ , @@a3@@ ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "uint32_t", "s": 4}, "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": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]} {"name": "ospf_summary_lsa_originate", "code": "_QWORD * __fastcall ospf_summary_lsa_originate ( __int64 @@a1@@ , uint32_t @@a2@@ , _QWORD * @@a3@@ ) { struct timeval * v3 ; char * v4 ; int @@v7@@ ; _QWORD * @@v8@@ ; @@v7@@ = ospf_lsa_unique_id ( * @@a3@@ , @@a3@@ [ Number ] , Number L , @@a1@@ ) ; v3 = ospf_summary_lsa_new ( ( __suseconds_t ) @@a3@@ , @@a1@@ , @@a2@@ , @@v7@@ ) ; @@v8@@ = ( _QWORD * ) ospf_lsa_install ( * @@a3@@ , Number L , v3 ) ; ++ * ( _DWORD * ) ( * @@a3@@ + Number L ) ; ospf_flood_through_area ( @@a3@@ , Number L , @@v8@@ ) ; if ( ( term_debug_ospf_lsa & Number ) != Number ) { v4 = inet_ntoa ( * ( struct in_addr * ) ( @@v8@@ [ Number ] + Number L ) ) ; zlog_info ( String , * ( unsigned __int8 * ) ( @@v8@@ [ Number ] + Number L ) , v4 , @@v8@@ ) ; ospf_lsa_header_dump ( @@v8@@ [ Number ] ) ; } return @@v8@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "_QWORD"}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "uint32_t", "s": 4}, "location": "r64"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v8", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "ospf_summary_lsa_refresh", "code": "struct timeval * __fastcall ospf_summary_lsa_refresh ( __int64 @@a1@@ , __int64 @@a2@@ ) { uint32_t v2 ; uint32_t v3 ; char * v4 ; char @@v6@@ [ Number ] ; struct timeval * @@v7@@ ; __int64 @@v8@@ ; if ( ! * ( _QWORD * ) ( @@a2@@ + Number ) ) _assert_fail ( String , String , Number , String ) ; @@v8@@ = * ( _QWORD * ) ( @@a2@@ + Number ) ; @@v6@@ [ Number ] = ip_masklen ( * ( unsigned int * ) ( @@v8@@ + Number ) ) ; v2 = get_metric ( ( unsigned __int8 * ) ( @@v8@@ + Number ) ) ; @@v7@@ = ospf_summary_lsa_new ( * ( _QWORD * ) ( @@a2@@ + Number ) , ( __int64 ) @@v6@@ , v2 , * ( _DWORD * ) ( @@v8@@ + Number ) ) ; v3 = lsa_seqnum_increment ( @@a2@@ ) ; * ( _DWORD * ) ( @@v7@@ -> tv_usec + Number ) = v3 ; ospf_lsa_checksum ( @@v7@@ -> tv_usec ) ; ospf_lsa_install ( @@a1@@ , Number L , @@v7@@ ) ; ospf_flood_through_area ( @@v7@@ [ Number ] . tv_usec , Number L , @@v7@@ ) ; if ( ( term_debug_ospf_lsa & Number ) != Number ) { v4 = inet_ntoa ( * ( struct in_addr * ) ( @@v7@@ -> tv_usec + Number ) ) ; zlog_info ( String , * ( unsigned __int8 * ) ( @@v7@@ -> tv_usec + Number ) , v4 ) ; ospf_lsa_header_dump ( @@v7@@ -> tv_usec ) ; } return @@v7@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v7", "t": {"T": 3, "t": "struct timeval"}, "location": "s16"}, {"n": "v6", "t": {"T": 2, "n": 32, "s": 1, "t": "char"}, "location": "s48"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}