Annotation of embedaddon/iperf/examples/mis.c, revision 1.1

1.1     ! misho       1: #include "iperf_config.h"
        !             2: 
        !             3: #include <stdio.h>
        !             4: #include <stdlib.h>
        !             5: #include <unistd.h>
        !             6: #include <string.h>
        !             7: #include <sysexits.h>
        !             8: #ifdef HAVE_STDINT_H
        !             9: #include <stdint.h>
        !            10: #endif
        !            11: 
        !            12: #include <iperf_api.h>
        !            13: 
        !            14: int
        !            15: main( int argc, char** argv )
        !            16: {
        !            17:     char* argv0;
        !            18:     int port;
        !            19:     struct iperf_test *test;
        !            20:     int consecutive_errors;
        !            21: 
        !            22:     argv0 = strrchr( argv[0], '/' );
        !            23:     if ( argv0 != (char*) 0 )
        !            24:        ++argv0;
        !            25:     else
        !            26:        argv0 = argv[0];
        !            27: 
        !            28:     if ( argc != 2 ) {
        !            29:        fprintf( stderr, "usage: %s [port]\n", argv0 );
        !            30:        exit( EXIT_FAILURE );
        !            31:     }
        !            32:     port = atoi( argv[1] );
        !            33: 
        !            34:     test = iperf_new_test();
        !            35:     if ( test == NULL ) {
        !            36:        fprintf( stderr, "%s: failed to create test\n", argv0 );
        !            37:        exit( EXIT_FAILURE );
        !            38:     }
        !            39:     iperf_defaults( test );
        !            40:     iperf_set_verbose( test, 1 );
        !            41:     iperf_set_test_role( test, 's' );
        !            42:     iperf_set_test_server_port( test, port );
        !            43: 
        !            44:     consecutive_errors = 0;
        !            45:     for (;;) {
        !            46:        if ( iperf_run_server( test ) < 0 ) {
        !            47:            fprintf( stderr, "%s: error - %s\n\n", argv0, iperf_strerror( i_errno ) );
        !            48:            ++consecutive_errors;
        !            49:            if (consecutive_errors >= 5) {
        !            50:                fprintf(stderr, "%s: too many errors, exiting\n", argv0);
        !            51:                break;
        !            52:            }
        !            53:        } else
        !            54:            consecutive_errors = 0;
        !            55:        iperf_reset_test( test );
        !            56:     }
        !            57: 
        !            58:     iperf_free_test( test );
        !            59:     exit( EXIT_SUCCESS );
        !            60: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>