OMAPI  1.8
Open Movement Public API
verify.c File Reference
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <stdbool.h>
#include <sys/timeb.h>
#include "omapi.h"

Go to the source code of this file.

Data Structures

struct  download_t
 

Macros

#define LED_PROCESSING   OM_LED_YELLOW
 
#define LED_OK   OM_LED_MAGENTA
 
#define LED_WARNING   OM_LED_MAGENTA
 
#define LED_FAILED   OM_LED_BLUE
 
#define LED_ERROR_COMMS   OM_LED_CYAN
 
#define VERIFY_OPTION_ALL   0x01
 
#define VERIFY_OPTION_NO_CHECK_STOP   0x02
 
#define VERIFY_OPTION_OUTPUT_NEW   0x04
 
#define STUCK_COUNT   (50 * 120)
 
#define AVERAGE_FACTOR   0.00001
 
#define AVERAGE_RANGE_MAX   0.400
 
#define AVERAGE_RANGE_OFF   0.300
 
#define IGNORE_RECENT_RESTARTS   (6*60*60)
 
#define ID_NAND
 
#define CODE_ERROR_MASK   0xfffff000
 
#define CODE_WARNING_MASK   0x00000fff
 
#define CODE_WARNING_FILE   0x000001
 
#define CODE_ERROR_FILE   0x001000
 
#define CODE_WARNING_EVENT   0x000002
 
#define CODE_ERROR_EVENT   0x002000
 
#define CODE_WARNING_STUCK   0x000004
 
#define CODE_ERROR_STUCK   0x004000
 
#define CODE_WARNING_RANGE   0x000008
 
#define CODE_ERROR_RANGE   0x008000
 
#define CODE_WARNING_RATE   0x000010
 
#define CODE_ERROR_RATE   0x010000
 
#define CODE_WARNING_BREAKS   0x000020
 
#define CODE_ERROR_BREAKS   0x020000
 
#define CODE_WARNING_RESTARTS   0x000040
 
#define CODE_ERROR_RESTARTS   0x040000
 
#define CODE_WARNING_LIGHT   0x000080
 
#define CODE_ERROR_LIGHT   0x080000
 
#define CODE_WARNING_BATT   0x000100
 
#define CODE_ERROR_BATT   0x100000
 
#define CODE_WARNING_STARTSTOP   0x000200
 
#define CODE_ERROR_STARTSTOP   0x200000
 
#define CODE_WARNING_NANDHEALTH   0x000400
 
#define CODE_ERROR_NANDHEALTH   0x400000
 
#define CODE_WARNING_NANDID   0x000800
 
#define CODE_ERROR_NANDID   0x800000
 
#define HEADER   "VERIFY," "id," "summary," "file," "event," "stuck," "range," "rate," "breaks," "restarts," "breakTime," "maxAv," "minInterval," "maxInterval," "duration," "minLight," "batteryMaxPercent," "batteryMinPercent," "intervalFail," "percentLoss," "description\n"
 

Functions

time_t TimeSerial (OM_DATETIME timestamp)
 
unsigned long long Ticks (OM_DATETIME timestamp, unsigned short fractional)
 
unsigned long long now (void)
 
const char * formattedtime (unsigned long long milliseconds)
 
int verify_process (int id, const char *infile, download_t *download, int globalOptions)
 
int verify (void)
 
int verify_main (int argc, char *argv[])
 

Variables

FILE * outfile
 

Detailed Description

Open Movement API Example: Verify the contents of a binary data file.

Author
-
Date
2011-2012

A command-line tool to verify a specified binary data file contains sensible data.

Remarks
Makes use of Binary data file reader

Definition in file verify.c.

Macro Definition Documentation

◆ AVERAGE_FACTOR

#define AVERAGE_FACTOR   0.00001

Definition at line 84 of file verify.c.

◆ AVERAGE_RANGE_MAX

#define AVERAGE_RANGE_MAX   0.400

Definition at line 85 of file verify.c.

◆ AVERAGE_RANGE_OFF

#define AVERAGE_RANGE_OFF   0.300

Definition at line 86 of file verify.c.

◆ CODE_ERROR_BATT

#define CODE_ERROR_BATT   0x100000

◆ CODE_ERROR_BREAKS

#define CODE_ERROR_BREAKS   0x020000

◆ CODE_ERROR_EVENT

#define CODE_ERROR_EVENT   0x002000

◆ CODE_ERROR_FILE

#define CODE_ERROR_FILE   0x001000

◆ CODE_ERROR_LIGHT

#define CODE_ERROR_LIGHT   0x080000

◆ CODE_ERROR_MASK

#define CODE_ERROR_MASK   0xfffff000

◆ CODE_ERROR_NANDHEALTH

#define CODE_ERROR_NANDHEALTH   0x400000

◆ CODE_ERROR_NANDID

#define CODE_ERROR_NANDID   0x800000

◆ CODE_ERROR_RANGE

#define CODE_ERROR_RANGE   0x008000

◆ CODE_ERROR_RATE

#define CODE_ERROR_RATE   0x010000

◆ CODE_ERROR_RESTARTS

#define CODE_ERROR_RESTARTS   0x040000

◆ CODE_ERROR_STARTSTOP

#define CODE_ERROR_STARTSTOP   0x200000

◆ CODE_ERROR_STUCK

#define CODE_ERROR_STUCK   0x004000

◆ CODE_WARNING_BATT

#define CODE_WARNING_BATT   0x000100

◆ CODE_WARNING_BREAKS

#define CODE_WARNING_BREAKS   0x000020

◆ CODE_WARNING_EVENT

#define CODE_WARNING_EVENT   0x000002

◆ CODE_WARNING_FILE

#define CODE_WARNING_FILE   0x000001

◆ CODE_WARNING_LIGHT

#define CODE_WARNING_LIGHT   0x000080

◆ CODE_WARNING_MASK

#define CODE_WARNING_MASK   0x00000fff

◆ CODE_WARNING_NANDHEALTH

#define CODE_WARNING_NANDHEALTH   0x000400

◆ CODE_WARNING_NANDID

#define CODE_WARNING_NANDID   0x000800

◆ CODE_WARNING_RANGE

#define CODE_WARNING_RANGE   0x000008

◆ CODE_WARNING_RATE

#define CODE_WARNING_RATE   0x000010

◆ CODE_WARNING_RESTARTS

#define CODE_WARNING_RESTARTS   0x000040

◆ CODE_WARNING_STARTSTOP

#define CODE_WARNING_STARTSTOP   0x000200

◆ CODE_WARNING_STUCK

#define CODE_WARNING_STUCK   0x000004

◆ HEADER

#define HEADER   "VERIFY," "id," "summary," "file," "event," "stuck," "range," "rate," "breaks," "restarts," "breakTime," "maxAv," "minInterval," "maxInterval," "duration," "minLight," "batteryMaxPercent," "batteryMinPercent," "intervalFail," "percentLoss," "description\n"

◆ ID_NAND

#define ID_NAND

Definition at line 92 of file verify.c.

◆ IGNORE_RECENT_RESTARTS

#define IGNORE_RECENT_RESTARTS   (6*60*60)

Definition at line 88 of file verify.c.

◆ LED_ERROR_COMMS

#define LED_ERROR_COMMS   OM_LED_CYAN

Definition at line 75 of file verify.c.

◆ LED_FAILED

#define LED_FAILED   OM_LED_BLUE

Definition at line 74 of file verify.c.

◆ LED_OK

#define LED_OK   OM_LED_MAGENTA

Definition at line 72 of file verify.c.

◆ LED_PROCESSING

#define LED_PROCESSING   OM_LED_YELLOW

Definition at line 71 of file verify.c.

◆ LED_WARNING

#define LED_WARNING   OM_LED_MAGENTA

Definition at line 73 of file verify.c.

◆ STUCK_COUNT

#define STUCK_COUNT   (50 * 120)

Definition at line 83 of file verify.c.

◆ VERIFY_OPTION_ALL

#define VERIFY_OPTION_ALL   0x01

Definition at line 78 of file verify.c.

◆ VERIFY_OPTION_NO_CHECK_STOP

#define VERIFY_OPTION_NO_CHECK_STOP   0x02

Definition at line 79 of file verify.c.

◆ VERIFY_OPTION_OUTPUT_NEW

#define VERIFY_OPTION_OUTPUT_NEW   0x04

Definition at line 80 of file verify.c.

Function Documentation

◆ formattedtime()

const char* formattedtime ( unsigned long long  milliseconds)

Definition at line 188 of file verify.c.

◆ now()

unsigned long long now ( void  )

Definition at line 180 of file verify.c.

◆ Ticks()

unsigned long long Ticks ( OM_DATETIME  timestamp,
unsigned short  fractional 
)

Definition at line 173 of file verify.c.

◆ TimeSerial()

time_t TimeSerial ( OM_DATETIME  timestamp)

Definition at line 157 of file verify.c.

◆ verify()

int verify ( void  )

Definition at line 1060 of file verify.c.

◆ verify_main()

int verify_main ( int  argc,
char *  argv[] 
)

Definition at line 1091 of file verify.c.

◆ verify_process()

int verify_process ( int  id,
const char *  infile,
download_t download,
int  globalOptions 
)

Definition at line 210 of file verify.c.

Variable Documentation

◆ outfile

FILE* outfile

Definition at line 154 of file verify.c.