Show
Ignore:
Timestamp:
06/03/10 22:43:33 (2 years ago)
Author:
mwhitworth
Message:

Add to network stack.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Whitix/branches/netchannel/user/sdk/network/stats.c

    r2088 r2099  
    11#include <stdio.h> 
     2#include <types.h> 
     3#include <syscalls.h> 
    24 
    3 #include "tcp.h" 
     5#include "tcp/tcp.h" 
    46 
    57#define NS_MAGIC        0xDE23FA11 
     
    1113 
    1214const char* output = NULL; 
    13 extern struct TcpSocketInfo* tcpHead; 
     15extern struct TcpSocket* tcpHead; 
    1416 
    1517struct PortEntry 
     
    1719        ushort port, flags; 
    1820        ulong totalBytesSent, totalPacketsSent; 
     21        ulong totalBytesRecv, totalPacketsRecv; 
    1922        struct PortEntry* next; 
     23}__attribute__((packed)); 
     24 
     25struct Host 
     26{ 
     27        ulong address, flags; 
     28        ulong droppedPackets, droppedBytes; 
     29        ulong retxPacketsSent, retxBytesSent; 
     30        struct Host* next; 
    2031}__attribute__((packed)); 
    2132 
     
    2536struct PortEntry* PortFindEntry(int port) 
    2637{ 
    27         if (!portHead) 
     38        struct PortEntry* curr = portHead; 
     39 
     40        if (!curr) 
    2841                return NULL; 
    29          
    30         printf("TODO: Find\n"); 
     42 
     43        do 
     44        { 
     45                if (curr->port == port) 
     46                        return curr; 
     47        } while ((curr = curr->next)); 
    3148 
    3249        return NULL; 
     
    3552void PortAppendEntry(struct PortEntry* entry) 
    3653{ 
     54        struct PortEntry* curr = portHead; 
     55 
    3756        numPorts++; 
    3857 
     
    4362        } 
    4463 
    45         printf("AppendEntry: TODO\n"); 
     64        while (curr->next != NULL) 
     65        { 
     66                curr = curr->next; 
     67        } 
     68 
     69        curr->next = entry; 
    4670} 
    4771 
     
    81105void NetStatsWrite() 
    82106{ 
    83         struct TcpSocketInfo* sock = tcpHead; 
     107        struct TcpSocket* sock = tcpHead; 
    84108 
    85109        if (!sock) 
     
    106130                entry->totalBytesSent += sock->stats.totalBytesSent; 
    107131                entry->totalPacketsSent += sock->stats.totalPacketsSent; 
     132 
     133                entry->totalBytesRecv += sock->stats.totalBytesRecv; 
     134                entry->totalPacketsRecv += sock->stats.totalPacketsRecv; 
    108135 
    109136                PortAppendEntry(entry);