调用需要sockaddr的C函数

时间:2017-11-11 22:15:54

标签: go cgo

我有一个带有sockaddr指针的C函数。

我已经创建了一个syscall.RawSockaddrInet4对象,但我无法弄清楚如何将对象的地址强制转换为C.sockaddr指针。

我试过这个,(* syscall.RawSockaddr)(unsafe.Pointer(& sa)),但是我收到了一个错误:

不能使用(* syscall.RawSockaddr)(unsafe.Pointer(& sa))(类型* syscall.RawSockaddr)作为_Cfunc_lib_connect参数中的* C.struct_sockaddr类型

任何想法都会非常感激!

int lib_connect(int sock,     枚举lib_sock_type类型,     const struct sockaddr * srv,     int srv_sz);

1 个答案:

答案 0 :(得分:2)

谢谢mkopriva!

(* C.struct_sockaddr)(unsafe.Pointer(安培; SA))