add generic TCP-MIB::tcpCurrEstab impl
This commit is contained in:
		
							parent
							
								
									cab5e83b04
								
							
						
					
					
						commit
						3e9cc6606e
					
				@ -276,6 +276,8 @@ int sigar_net_connection_list_grow(sigar_net_connection_list_t *connlist);
 | 
				
			|||||||
    SIGAR_ZERO(&ifconfig->hwaddr.addr.mac); \
 | 
					    SIGAR_ZERO(&ifconfig->hwaddr.addr.mac); \
 | 
				
			||||||
    ifconfig->hwaddr.family = SIGAR_AF_LINK
 | 
					    ifconfig->hwaddr.family = SIGAR_AF_LINK
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int sigar_tcp_stat_curr_estab(sigar_t *sigar, sigar_tcp_stat_t *tcpstat);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int sigar_who_list_create(sigar_who_list_t *wholist);
 | 
					int sigar_who_list_create(sigar_who_list_t *wholist);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int sigar_who_list_grow(sigar_who_list_t *wholist);
 | 
					int sigar_who_list_grow(sigar_who_list_t *wholist);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										27
									
								
								src/sigar.c
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								src/sigar.c
									
									
									
									
									
								
							@ -870,6 +870,33 @@ sigar_net_stat_port_get(sigar_t *sigar,
 | 
				
			|||||||
    return sigar_net_connection_walk(&walker);
 | 
					    return sigar_net_connection_walk(&walker);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int tcp_curr_estab_count(sigar_net_connection_walker_t *walker,
 | 
				
			||||||
 | 
					                                sigar_net_connection_t *conn)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    if ((conn->state == SIGAR_TCP_ESTABLISHED) ||
 | 
				
			||||||
 | 
					        (conn->state == SIGAR_TCP_CLOSE_WAIT))
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        ((sigar_tcp_stat_t *)walker->data)->curr_estab++;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return SIGAR_OK;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* TCP-MIB::tcpCurrEstab */
 | 
				
			||||||
 | 
					int sigar_tcp_stat_curr_estab(sigar_t *sigar, sigar_tcp_stat_t *tcpstat)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    sigar_net_connection_walker_t walker;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    walker.sigar = sigar;
 | 
				
			||||||
 | 
					    walker.data = tcpstat;
 | 
				
			||||||
 | 
					    walker.add_connection = tcp_curr_estab_count;
 | 
				
			||||||
 | 
					    walker.flags = SIGAR_NETCONN_CLIENT|SIGAR_NETCONN_TCP;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    tcpstat->curr_estab = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return sigar_net_connection_walk(&walker);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int sigar_who_list_create(sigar_who_list_t *wholist)
 | 
					int sigar_who_list_create(sigar_who_list_t *wholist)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    wholist->number = 0;
 | 
					    wholist->number = 0;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user