/********************************** * * recover_missing_bits check MAIN * * * **********************************/ #include #include #include #include #include #include "TimeCal_type.h" int main( argc, argv ) int32_t argc; char *argv[]; { uint8_t TI[30]; char INTI[30]; uint8_t TIME[30]; char INTIME[30]; char wk[30], *fname1, *fname2; char *cdmy; int ir, rtn; uint64_t llint; uint64_t msg_time; uint32_t pkt_time; unsigned int num_missing_bits; uint64_t uint64Rtn; /*--------------------------------------------------------------*/ /* 入力パラメータの解析 */ /*--------------------------------------------------------------*/ if( argc != 4 ) { printf( "Usage : testRECOVERMISSINGBITS (uint64_t)msg_time, (uint32_t)pkt_time, (unsigned int)num_missing_bits\n" ); exit(1); } strcpy( INTI, argv[1] ); llint = strtoll( INTI, &cdmy, 0 ); if( (*cdmy != '\0') || (llint>0xffffffffffffffffuLL) ) { printf( "input args( msg_time ) error [%s]\n", INTI ); exit(1); } msg_time = llint; strcpy( INTI, argv[2] ); llint = strtoll( INTI, &cdmy, 0 ); if( (*cdmy != '\0') || (llint>0xffffffffLL) ) { printf( "input args( pkt_time ) error [%s]\n", INTI ); exit(1); } pkt_time = (uint32_t)llint; strcpy( INTI, argv[3] ); llint = strtoll( INTI, &cdmy, 0 ); if( (*cdmy != '\0') || (llint>0xffffffffLL) ) { printf( "input args( num_missing_bits ) error [%s]\n", INTI ); exit(1); } num_missing_bits = (unsigned int)llint; /*--------------------------------------------------------------*/ printf( "##### recover_missing_bits #####\n"); printf( "recover_missing_bits IN : msg_time[%llu](0x%016llx) \n", msg_time, msg_time ) ; printf( "recover_missing_bits IN : pkt_time[%lu](0x%08x) \n", pkt_time, pkt_time ) ; printf( "recover_missing_bits IN : num_bits[%d] \n", num_missing_bits ) ; /****************************************************************/ uint64Rtn = recover_missing_bits( msg_time, pkt_time, num_missing_bits ); /****************************************************************/ printf( "recover_missing_bits OUT : result[%llu](0x%016llx)\n", uint64Rtn, uint64Rtn ) ; exit( 0 ) ; } int dtmedt( char *wk ) { char cwk[30]; memset( cwk, 0x00, sizeof(cwk) ); strncpy( cwk, &wk[0], 4 ); strcat( cwk, "." ); strncat( cwk, &wk[4], 2 ); strcat( cwk, "." ); strncat( cwk, &wk[6], 2 ); strcat( cwk, " " ); strncat( cwk, &wk[8], 2 ); strcat( cwk, ":" ); strncat( cwk, &wk[10], 2 ); strcat( cwk, ":" ); strncat( cwk, &wk[12], 2 ); strcat( cwk, "." ); strncat( cwk, &wk[14], 3 ); strcat( cwk, "." ); strncat( cwk, &wk[17], 3 ); memset( wk, 0x00, sizeof(wk) ); strcpy( wk, cwk ); return(0); }