code: func Openlive(device string, snaplen int32, promisc bool, timeout_ms int32) (handle *Pcap, err error) {
  	var buf *C.char
  	buf = (*C.char)(C.calloc(ERRBUF_SIZE, 1))
  	h := new(Pcap)
  	var pro int32
  	if promisc {
  		pro = 1
  	}
  
  	dev := C.CString(device)
  	defer C.free(unsafe.Pointer(dev))
  
  	h.cptr = C.pcap_open_live(dev, C.int(snaplen), C.int(pro), C.int(timeout_ms), buf)
  	if nil == h.cptr {
  		handle = nil
  		err = errors.New(C.GoString(buf))
  	} else {
  		handle = h
  	}
  	C.free(unsafe.Pointer(buf))
  	return
  }
docs: // Openlive opens a device and returns a *Pcap handler