{"name": "clock_seconds", "code": "__time_t clock_seconds ( ) { struct timeval @@tv@@ ; gettimeofday ( & @@tv@@ , Number L ) ; return @@tv@@ . tv_sec ; }", "source": [{"n": "tv", "t": {"T": 6, "n": "struct timeval", "l": [{"T": 4, "n": "tv_sec", "t": "__time_t", "s": 8}, {"T": 4, "n": "tv_usec", "t": "__suseconds_t", "s": 8}]}, "location": "s16"}]}
{"name": "stimer_set", "code": "__time_t __fastcall stimer_set ( __time_t * @@a1@@ , __time_t @@a2@@ ) { __time_t @@result@@ ; @@a1@@ [ Number ] = @@a2@@ ; @@result@@ = clock_seconds ( ) ; * @@a1@@ = @@result@@ ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__time_t"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r8"}]} {"name": "stimer_restart", "code": "__time_t __fastcall stimer_restart ( __time_t * @@a1@@ ) { __time_t @@result@@ ; @@result@@ = clock_seconds ( ) ; * @@a1@@ = @@result@@ ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__time_t"}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "r8"}]} {"name": "stimer_expired", "code": "_BOOL8 __fastcall stimer_expired ( _QWORD * @@a1@@ ) { return ( unsigned __int64 ) ( clock_seconds ( ) - ( * @@a1@@ + @@a1@@ [ Number ] ) ) <= Number ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}]} {"name": "stimer_remaining", "code": "__time_t __fastcall stimer_remaining ( _QWORD * @@a1@@ ) { __int64 @@v1@@ ; @@v1@@ = * @@a1@@ + @@a1@@ [ Number ] ; return @@v1@@ - clock_seconds ( ) ; }", "source": [{"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r32"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}]} {"name": "stimer_elapsed", "code": "__time_t __fastcall stimer_elapsed ( _QWORD * @@a1@@ ) { return clock_seconds ( ) - * @@a1@@ ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}]} {"name": "update_metric", "code": "__int64 __fastcall update_metric ( __int64 @@a1@@ , __int16 @@a2@@ ) { __int64 @@result@@ ; __time_t @@v3@@ ; unsigned __int8 @@v4@@ ; char * @@v5@@ ; int @@v6@@ ; unsigned __int8 @@v7@@ ; @@v6@@ = Number ; @@v5@@ = ( char * ) neighbor_attr_get_data ( & attr_etx , @@a1@@ ) ; if ( @@v5@@ && * @@v5@@ ) { @@v7@@ = * @@v5@@ ; @@v4@@ = ( Number * @@v7@@ + Number * ( unsigned __int16 ) ( Number * @@a2@@ ) ) / Number ; } else { @@v7@@ = Number ; @@v4@@ = Number * @@a2@@ ; @@v6@@ = Number ; } @@result@@ = neighbor_attr_has_neighbor ( @@a1@@ ) ; if ( ( _DWORD ) @@result@@ ) { @@v3@@ = clock_seconds ( ) ; neighbor_attr_set_data ( & attr_etx , @@a1@@ , & @@v4@@ ) ; neighbor_attr_set_data ( & attr_timestamp , @@a1@@ , & @@v3@@ ) ; if ( @@v6@@ || ( @@result@@ = @@v4@@ , @@v7@@ != @@v4@@ ) ) { @@result@@ = ( __int64 ) subscriber_callback ; if ( subscriber_callback ) @@result@@ = subscriber_callback ( @@a1@@ , Number L , @@v4@@ ) ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v7", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s1"}, {"n": "v5", "t": {"T": 3, "t": "char"}, "location": "s16"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "s17"}, {"n": "v3", "t": {"T": 1, "n": "__time_t", "s": 8}, "location": "s32"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}