Приведение к другому небезопасному указателю на структуру C в Swift
Я хочу вызвать функции сокета Posixsocket
а такжеbind
из Свифта.socket
это довольно легко - это занимаетInt32
с, ноbind
вызывает проблему, потому что у меня естьsockaddr_in
указатель, но он хочетsockaddr
указатель. В C это будет приведение типа:
bind(sock, (struct sockaddr *)&sockAddress, sizeof(sockAddress))
Вот попытка в Swift:
let sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)
var sockAddress = sockaddr_in()
bind(sock, &sockAddress, UInt32(MemoryLayout<sockaddr_in>.size))
bind
строка не компилируется с:невозможно преобразовать значение типа 'sockaddr_in' в ожидаемый тип аргумента 'sockaddr'
Как я могу привести указатель?