58 lines
		
	
	
		
			671 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			671 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package gotoc
 | |
| 
 | |
| 
 | |
| import (
 | |
| 	
 | |
| 
 | |
| 	"unsafe"
 | |
| 	
 | |
| 
 | |
| 
 | |
| )
 | |
| /*
 | |
| #include "../../../../../Include/sigar.h"
 | |
| 
 | |
|        
 | |
|         
 | |
| */  
 | |
| import "C"
 | |
| 
 | |
|    
 | |
| 
 | |
| func NetRoute() (C.sigar_net_route_list_t ,
 | |
| []C.sigar_net_route_t){
 | |
| 
 | |
|       
 | |
|    	sigar:=GetSigarHandle()
 | |
| 	
 | |
| 	var netlist C.sigar_net_route_list_t 
 | |
| 	
 | |
| 	
 | |
| 	
 | |
| 	C.sigar_net_route_list_get(sigar, &netlist)
 | |
| 	var length int=int(netlist.number)
 | |
| 	
 | |
| 	var goNetRoute =make([]C.sigar_net_route_t, length) 
 | |
|     
 | |
|     
 | |
|     
 | |
| 	
 | |
| 	croute:=GetGoSlice(length, unsafe.Pointer(netlist.data))
 | |
| 	
 | |
| 	goNetRoute = *(*[]C.sigar_net_route_t)(unsafe.Pointer(&croute))	
 | |
| 	
 | |
| 	
 | |
| 	C.sigar_net_route_list_destroy(sigar, &netlist)
 | |
| 		
 | |
| 		
 | |
| 	return netlist, goNetRoute
 | |
| 	
 | |
| 	
 | |
| 	 
 | |
| 	
 | |
|     
 | |
|     
 | |
|  
 | |
| }
 | |
| 
 | 
