- Implement EnumServicesStatusW.
[reactos.git] / reactos / services / dhcp / socket.c
1 #include "rosdhcp.h"
2
3 SOCKET ServerSocket;
4
5 void SocketInit() {
6 ServerSocket = socket( AF_INET, SOCK_DGRAM, 0 );
7 }
8
9 ssize_t send_packet( struct interface_info *ip,
10 struct dhcp_packet *p,
11 size_t size,
12 struct in_addr addr,
13 struct sockaddr_in *broadcast,
14 struct hardware *hardware ) {
15 int result =
16 sendto( ip->wfdesc, (char *)p, size, 0,
17 (struct sockaddr *)broadcast, sizeof(*broadcast) );
18
19 if (result < 0) {
20 note ("send_packet: %x", result);
21 if (result == WSAENETUNREACH)
22 note ("send_packet: please consult README file%s",
23 " regarding broadcast address.");
24 }
25
26 return result;
27 }
28
29 ssize_t receive_packet(struct interface_info *ip,
30 unsigned char *packet_data,
31 size_t packet_len,
32 struct sockaddr_in *dest,
33 struct hardware *hardware ) {
34 int recv_addr_size = sizeof(*dest);
35 int result =
36 recvfrom (ip -> rfdesc, (char *)packet_data, packet_len, 0,
37 (struct sockaddr *)dest, &recv_addr_size );
38 return result;
39 }