Пример #1
0
int  display_tt32_stats( int fd )
{
    int errnum;
    TT32STATS stats;

    if (!tt32_loaddll()) return -1;

    memset(&stats, 0, sizeof(stats));
    stats.dwStructSize = sizeof(stats);

    if (!  g_tt32_pfn_get_stats_ex )
           g_tt32_pfn_get_stats    ( fd, &stats );
    else { g_tt32_pfn_get_stats_ex ( fd, &stats, &errnum );
        errno =                                   errnum;
    }

    if (stats.dwStructSize >= sizeof(stats))
    {
        // New version 3.3 stats

        WRMSG (HHC04101, "I"
            ,g_tt32_dllname

            ,(stats.dwKernelBuffSize   + 1023) / 1024
            ,(stats.dwReadBuffSize     + 1023) / 1024
            ,(stats.dwMaxBytesReceived + 1023) / 1024

            ,stats.n64WriteCalls
            ,stats.n64WriteIOs
            ,stats.n64ZeroMACPacketsWritten
            ,stats.n64PacketsWritten
            ,stats.n64BytesWritten

            ,stats.n64ReadCalls
            ,stats.n64ReadIOs
            ,stats.n64InternalPackets
            ,stats.n64OwnPacketsIgnored
            ,stats.n64IgnoredPackets
            ,stats.n64ZeroMACPacketsRead
            ,stats.n64PacketsRead
            ,stats.n64BytesRead
        );
    }
    else
    {
        // Old pre version 3.3 stats

        WRMSG (HHC04101, "I"
            ,g_tt32_dllname

            ,(stats.dwKernelBuffSize   + 1023) / 1024
            ,(stats.dwReadBuffSize     + 1023) / 1024
            ,(stats.dwMaxBytesReceived + 1023) / 1024

            ,stats.n64WriteCalls
            ,stats.n64WriteIOs
            ,-1                         // indicate n/a
            ,stats.n64PacketsWritten
            ,stats.n64BytesWritten

            ,stats.n64ReadCalls
            ,stats.n64ReadIOs
            ,stats.n64InternalPackets
            ,-1                         // indicate n/a
            ,stats.n64IgnoredPackets
            ,-1                         // indicate n/a
            ,stats.n64PacketsRead
            ,stats.n64BytesRead
        );
    }

    return 0;
}
Пример #2
0
int  display_tt32_stats( int fd )
{
    int errnum;
    TT32STATS stats;

    if (!tt32_loaddll()) return -1;

    memset(&stats,0,sizeof(stats));
    stats.dwStructSize = sizeof(stats);

    if (!  g_tt32_pfn_get_stats_ex )
           g_tt32_pfn_get_stats    ( fd, &stats );
    else { g_tt32_pfn_get_stats_ex ( fd, &stats, &errnum );
        errno =                                   errnum;
    }

    if (stats.dwStructSize >= sizeof(stats))
    {
        // New version 3.3 stats

        logmsg
        (
            "\n%s Statistics:\n\n"

            "Size of Kernel Hold Buffer:      %5luK\n"
            "Size of DLL I/O Buffer:          %5luK\n"
            "Maximum DLL I/O Bytes Received:  %5luK\n\n"

            "%12" I64_FMT "d  Total Write Calls\n"
            "%12" I64_FMT "d  Total Write I/Os\n"
            "%12" I64_FMT "d  Packets To All Zeroes MAC Written\n"
            "%12" I64_FMT "d  Total Packets Written\n"
            "%12" I64_FMT "d  Total Bytes Written\n\n"

            "%12" I64_FMT "d  Total Read Calls\n"
            "%12" I64_FMT "d  Total Read I/Os\n"
            "%12" I64_FMT "d  Internally Handled ARP Packets\n"
            "%12" I64_FMT "d  Packets From Ourself\n"
            "%12" I64_FMT "d  Total Ignored Packets\n"
            "%12" I64_FMT "d  Packets To All Zeroes MAC Read\n"
            "%12" I64_FMT "d  Total Packets Read\n"
            "%12" I64_FMT "d  Total Bytes Read\n\n"

            ,g_tt32_dllname

            ,(stats.dwKernelBuffSize   + 1023) / 1024
            ,(stats.dwReadBuffSize     + 1023) / 1024
            ,(stats.dwMaxBytesReceived + 1023) / 1024

            ,stats.n64WriteCalls
            ,stats.n64WriteIOs
            ,stats.n64ZeroMACPacketsWritten
            ,stats.n64PacketsWritten
            ,stats.n64BytesWritten

            ,stats.n64ReadCalls
            ,stats.n64ReadIOs
            ,stats.n64InternalPackets
            ,stats.n64OwnPacketsIgnored
            ,stats.n64IgnoredPackets
            ,stats.n64ZeroMACPacketsRead
            ,stats.n64PacketsRead
            ,stats.n64BytesRead
        );
    }
    else
    {
        // Old pre version 3.3 stats

        logmsg
        (
            "\n%s Statistics:\n\n"

            "Size of Kernel Hold Buffer:      %5luK\n"
            "Size of DLL I/O Buffer:          %5luK\n"
            "Maximum DLL I/O Bytes Received:  %5luK\n\n"

            "%12" I64_FMT "d Write Calls\n"
            "%12" I64_FMT "d Write I/Os\n"
            "%12" I64_FMT "d Read Calls\n"
            "%12" I64_FMT "d Read I/Os\n"
            "%12" I64_FMT "d Packets Read\n"
            "%12" I64_FMT "d Packets Written\n"
            "%12" I64_FMT "d Bytes Read\n"
            "%12" I64_FMT "d Bytes Written\n"
            "%12" I64_FMT "d Internal Packets\n"
            "%12" I64_FMT "d Ignored Packets\n\n"
            ,
            g_tt32_dllname
            ,(stats.dwKernelBuffSize   + 1023) / 1024
            ,(stats.dwReadBuffSize     + 1023) / 1024
            ,(stats.dwMaxBytesReceived + 1023) / 1024
            ,stats.n64WriteCalls
            ,stats.n64WriteIOs
            ,stats.n64ReadCalls
            ,stats.n64ReadIOs
            ,stats.n64PacketsRead
            ,stats.n64PacketsWritten
            ,stats.n64BytesRead
            ,stats.n64BytesWritten
            ,stats.n64InternalPackets
            ,stats.n64IgnoredPackets
        );
    }

    return 0;
}
Пример #3
0
int  display_tt32_stats( int fd )
{
    int errnum;
    TT32STATS stats;

    if (!tt32_loaddll()) return -1;

    memset(&stats, 0, sizeof(stats));
    stats.dwStructSize = sizeof(stats);

    if (!  g_tt32_pfn_get_stats_ex )
           g_tt32_pfn_get_stats    ( fd, &stats );
    else { g_tt32_pfn_get_stats_ex ( fd, &stats, &errnum );
        errno =                                   errnum;
    }

    if (stats.dwStructSize >= sizeof(stats))
    {
        // New version 3.3 stats

        // "%s Statistics:"
        WRMSG( HHC04101, "I", g_tt32_dllname );

        // "  %s%5luK"
        WRMSG( HHC04103, "I", "Size of Kernel Hold Buffer:      ", (stats.dwKernelBuffSize   + 1023) / 1024 );
        WRMSG( HHC04103, "I", "Size of DLL I/O Buffer:          ", (stats.dwReadBuffSize     + 1023) / 1024 );
        WRMSG( HHC04103, "I", "Maximum DLL I/O Bytes Received:  ", (stats.dwMaxBytesReceived + 1023) / 1024 );

        // "  %12"PRId64"  %s"
        WRMSG( HHC04104, "I", stats.n64WriteCalls,             "Total Write Calls" );
        WRMSG( HHC04104, "I", stats.n64WriteIOs,               "Total Write I/Os" );
        WRMSG( HHC04104, "I", stats.n64ZeroMACPacketsWritten,  "Packets To All Zeroes MAC Written" );
        WRMSG( HHC04104, "I", stats.n64PacketsWritten,         "Total Packets Written" );
        WRMSG( HHC04104, "I", stats.n64BytesWritten,           "Total Bytes Written" );
        WRMSG( HHC04104, "I", stats.n64ReadCalls,              "Total Read Calls" );
        WRMSG( HHC04104, "I", stats.n64ReadIOs,                "Total Read I/Os" );
        WRMSG( HHC04104, "I", stats.n64InternalPackets,        "Internally Handled ARP Packets" );
        WRMSG( HHC04104, "I", stats.n64OwnPacketsIgnored,      "Packets From Ourself" );
        WRMSG( HHC04104, "I", stats.n64IgnoredPackets,         "Total Ignored Packets" );
        WRMSG( HHC04104, "I", stats.n64ZeroMACPacketsRead,     "Packets To All Zeroes MAC Read" );
        WRMSG( HHC04104, "I", stats.n64PacketsRead,            "Total Packets Read" );
        WRMSG( HHC04104, "I", stats.n64BytesRead,              "Total Bytes Read" );
    }
    else
    {
        // Old pre version 3.3 stats

        // "%s Statistics:"
        WRMSG( HHC04101, "I", g_tt32_dllname );

        // "  %s%5luK"
        WRMSG( HHC04103, "I", "Size of Kernel Hold Buffer:      ", (stats.dwKernelBuffSize   + 1023) / 1024 );
        WRMSG( HHC04103, "I", "Size of DLL I/O Buffer:          ", (stats.dwReadBuffSize     + 1023) / 1024 );
        WRMSG( HHC04103, "I", "Maximum DLL I/O Bytes Received:  ", (stats.dwMaxBytesReceived + 1023) / 1024 );

        // "  %12"PRId64"  %s"
        WRMSG( HHC04104, "I", stats.n64WriteCalls,             "Total Write Calls" );
        WRMSG( HHC04104, "I", stats.n64WriteIOs,               "Total Write I/Os" );
//      WRMSG( HHC04104, "I", stats.n64ZeroMACPacketsWritten,  "Packets To All Zeroes MAC Written" );
        WRMSG( HHC04104, "I", stats.n64PacketsWritten,         "Total Packets Written" );
        WRMSG( HHC04104, "I", stats.n64BytesWritten,           "Total Bytes Written" );
        WRMSG( HHC04104, "I", stats.n64ReadCalls,              "Total Read Calls" );
        WRMSG( HHC04104, "I", stats.n64ReadIOs,                "Total Read I/Os" );
        WRMSG( HHC04104, "I", stats.n64InternalPackets,        "Internally Handled ARP Packets" );
//      WRMSG( HHC04104, "I", stats.n64OwnPacketsIgnored,      "Packets From Ourself" );
        WRMSG( HHC04104, "I", stats.n64IgnoredPackets,         "Total Ignored Packets" );
//      WRMSG( HHC04104, "I", stats.n64ZeroMACPacketsRead,     "Packets To All Zeroes MAC Read" );
        WRMSG( HHC04104, "I", stats.n64PacketsRead,            "Total Packets Read" );
        WRMSG( HHC04104, "I", stats.n64BytesRead,              "Total Bytes Read" );
    }

    return 0;
}