本文整理汇总了Golang中C.pcap_open_offline函数的典型用法代码示例。如果您正苦于以下问题:Golang pcap_open_offline函数的具体用法?Golang pcap_open_offline怎么用?Golang pcap_open_offline使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了pcap_open_offline函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: OpenOffline
func OpenOffline(filename string) (*Pcap, error) {
var pcap Pcap
var errbuf *C.char = (*C.char)(C.calloc(1024, 1))
pcap.pcap = C.pcap_open_offline(C.CString(filename), errbuf)
if pcap.pcap == nil {
return nil, errors.New(C.GoString(errbuf))
}
return &pcap, nil
}
示例2: OpenOffline
// OpenOffline opens a file and returns its contents as a *Handle.
func OpenOffline(file string) (handle *Handle, err error) {
buf := (*C.char)(C.calloc(errorBufferSize, 1))
defer C.free(unsafe.Pointer(buf))
cf := C.CString(file)
defer C.free(unsafe.Pointer(cf))
cptr := C.pcap_open_offline(cf, buf)
if cptr == nil {
return nil, errors.New(C.GoString(buf))
}
return &Handle{cptr: cptr}, nil
}
示例3: Openoffline
func Openoffline(file string) (handle *Pcap, err string) {
var buf *C.char
buf = (*C.char)(C.calloc(ERRBUF_SIZE, 1))
h := new(Pcap)
h.cptr = C.pcap_open_offline(C.CString(file), buf)
if nil == h.cptr {
handle = nil
err = C.GoString(buf)
} else {
handle = h
}
C.free(unsafe.Pointer(buf))
return
}
示例4: Openoffline
func Openoffline(file string) (ret *Pcap, msg string) {
cfile := C.CString(file)
defer C.free(unsafe.Pointer(cfile))
var buf [ERRBUF_SIZE]byte
cbuf := (*C.char)(unsafe.Pointer(&buf[0]))
cptr := C.pcap_open_offline(cfile, cbuf)
clen := C.strlen(cbuf)
msg = string(buf[:clen])
if cptr != nil {
ret = &Pcap{cptr: cptr}
}
return
}
示例5: OpenOffline
// OpenOffline opens a file and returns its contents as a *Handle.
func OpenOffline(file string) (handle *Handle, err error) {
var buf *C.char
buf = (*C.char)(C.calloc(errorBufferSize, 1))
defer C.free(unsafe.Pointer(buf))
cf := C.CString(file)
defer C.free(unsafe.Pointer(cf))
cptr := C.pcap_open_offline(cf, buf)
if cptr == nil {
return nil, errors.New(C.GoString(buf))
}
h := newHandle(cptr)
h.activate.Do(func() {}) // skip activation
return h, nil
}
示例6: OpenFile
// OpenFile opens a savefile for reading.
func (p *Pcap) OpenFile() error {
var buf *C.char
buf = (*C.char)(C.calloc(C.PCAP_ERRBUF_SIZE, 1))
defer C.free(unsafe.Pointer(buf))
cf := C.CString(p.FileName)
defer C.free(unsafe.Pointer(cf))
p.cptr = C.pcap_open_offline(cf, buf)
if p.cptr == nil {
return errors.New(C.GoString(buf))
}
p.Snaplen = int32(C.pcap_snapshot(p.cptr))
return nil
}
示例7: OpenOffline
// Openoffline
func OpenOffline(file string) (handle *Pcap, err error) {
var buf *C.char
buf = (*C.char)(C.calloc(ERRBUF_SIZE, 1))
h := new(Pcap)
cf := C.CString(file)
defer C.free(unsafe.Pointer(cf))
h.cptr = C.pcap_open_offline(cf, buf)
if nil == h.cptr {
handle = nil
err = &pcapError{C.GoString(buf)}
} else {
handle = h
}
C.free(unsafe.Pointer(buf))
return
}