139 |
SOCKADDR_IRDA peer; |
SOCKADDR_IRDA peer; |
140 |
SOCKET fd = INVALID_SOCKET; |
SOCKET fd = INVALID_SOCKET; |
141 |
DWORD daddr = INVALID_DADDR; |
DWORD daddr = INVALID_DADDR; |
142 |
|
int x; |
143 |
|
|
144 |
if (WSAStartup(MAKEWORD(2,0), &wsaData) == 0) { |
if (WSAStartup(MAKEWORD(2,0), &wsaData) == 0) { |
145 |
fd = socket(AF_IRDA, SOCK_STREAM, 0); /* Create socket */ |
fd = socket(AF_IRDA, SOCK_STREAM, 0); /* Create socket */ |
147 |
if (daddr != INVALID_DADDR) { |
if (daddr != INVALID_DADDR) { |
148 |
peer.irdaAddressFamily = AF_IRDA; |
peer.irdaAddressFamily = AF_IRDA; |
149 |
*(DWORD*)peer.irdaDeviceID = daddr; |
*(DWORD*)peer.irdaDeviceID = daddr; |
150 |
strcpy(peer.irdaServiceName, "Nokia:PhoNet"); |
|
151 |
|
if (!strcasecmp(state->config.port_device, "IrDA:IrCOMM")) { |
152 |
|
strcpy(peer.irdaServiceName, "IrDA:IrCOMM"); |
153 |
|
x = 1; |
154 |
|
if ( setsockopt(fd, SOL_IRLMP, IRLMP_9WIRE_MODE, &x, sizeof(x)) == SOCKET_ERROR ) { |
155 |
|
closesocket(fd); |
156 |
|
return -1; |
157 |
|
} |
158 |
|
} else |
159 |
|
strcpy(peer.irdaServiceName, "Nokia:PhoNet"); |
160 |
|
|
161 |
if (connect(fd, (struct sockaddr *)&peer, sizeof(peer))) { /* Connect to service "Nokia:PhoNet" */ |
if (connect(fd, (struct sockaddr *)&peer, sizeof(peer))) { /* Connect to service "Nokia:PhoNet" */ |
162 |
perror("connect"); |
perror("connect"); |