#include "silk.h" RCSIDENT("$SiLK: options-flags-parse-test.c 5718 2006-11-16 17:06:17Z mthomas $"); #include "utils.h" int main(int UNUSED(argc), char UNUSED(**argv)) { uint8_t flags = 0; uint8_t check; uint8_t mask; int result; printf( "Testing skStringParseTCPFlags()\n" ); result = skStringParseTCPFlags( &flags, "FA/FAS" ); if( result != 2 || flags != 17 ) { printf( "Error test 1\n" ); printf( " err code: %d\n", result ); printf( " flags: %d\n", flags ); } result = skStringParseTCPFlags( &flags, "FAFAS" ); if( result != 0 || flags != 19 ) { printf( "Error test 2\n" ); printf( " err code: %d\n", result ); printf( " flags: %d\n", flags ); } result = skStringParseTCPFlags( &flags, "FSRPAUEC" ); if( result != 0 || flags != 255 ) { printf( "Error test 3\n" ); printf( " err code: %d\n", result ); printf( " flags: %d\n", flags ); } result = skStringParseTCPFlags( &flags, ".A" ); if( result != 0 ) { printf( "Error test 4\n" ); printf( " err code: %d\n", result ); printf( " flags: %d\n", flags ); } result = skStringParseTCPFlags( &flags, "" ); if( result != 0 ) { printf( "Error test 5\n" ); printf( " err code: %d\n", result ); printf( " flags: %d\n", flags ); } printf( "Done testing\n\n" ); printf( "Testing skStringParseTCPFlagsHighMask()\n" ); result = skStringParseTCPFlagsHighMask( &check, &mask, "AS/ASRF" ); if( result != 0 || check != 18 || mask != 23 ) { printf( "Error test 1\n" ); printf( " err code: %d\n", result ); printf( " check: %d\n", check ); printf( " mask: %d\n", mask ); } result = skStringParseTCPFlagsHighMask( &check, &mask, "U / U" ); if( result != 0 || check != 32 || mask != 32 ) { printf( "Error test 2\n" ); printf( " err code: %d\n", result ); printf( " check: %d\n", check ); printf( " mask: %d\n", mask ); } result = skStringParseTCPFlagsHighMask( &check, &mask, "G / U" ); if( result != -1 || check != 0 || mask != 0 ) { printf( "Error test 3\n" ); printf( " err code: %d\n", result ); printf( " check: %d\n", check ); printf( " mask: %d\n", mask ); } result = skStringParseTCPFlagsHighMask( &check, &mask, " AS / AUC" ); if( result != -1 ) { printf( "Error test 3\n" ); printf( " err code: %d\n", result ); printf( " check: %d\n", check ); printf( " mask: %d\n", mask ); } result = skStringParseTCPFlagsHighMask( &check, &mask, "AS" ); if( result != -1 ) { printf( "Error test 4\n" ); printf( " err code: %d\n", result ); printf( " check: %d\n", check ); printf( " mask: %d\n", mask ); } result = skStringParseTCPFlagsHighMask( &check, &mask, " " ); if( result != 0 ) { printf( "Error test 5\n" ); printf( " err code: %d\n", result ); printf( " check: %d\n", check ); printf( " mask: %d\n", mask ); } printf( "Done testing\n\n" ); return 0; }