ReactOS  0.4.14-dev-342-gdc047f9
socket.c
Go to the documentation of this file.
1 #include <rosdhcp.h>
2 
4 
5 void SocketInit() {
7 }
8 
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 
17  if (size > INT_MAX)
18  return WSAEMSGSIZE;
19 
20  result =
21  sendto( ip->wfdesc, (char *)p, (int)size, 0,
22  (struct sockaddr *)broadcast, sizeof(*broadcast) );
23 
24  if (result < 0) {
25  note ("send_packet: %x", result);
26  if (result == WSAENETUNREACH)
27  note ("send_packet: please consult README file%s",
28  " regarding broadcast address.");
29  }
30 
31  return result;
32 }
33 
35  unsigned char *packet_data,
36  size_t packet_len,
37  struct sockaddr_in *dest,
38  struct hardware *hardware ) {
39  int recv_addr_size = sizeof(*dest);
40  int result;
41 
42  if (packet_len > INT_MAX)
43  return WSAEMSGSIZE;
44 
45  result =
46  recvfrom (ip -> rfdesc, (char *)packet_data, (int)packet_len, 0,
47  (struct sockaddr *)dest, &recv_addr_size );
48  return result;
49 }
INT WSAAPI recvfrom(IN SOCKET s, OUT CHAR FAR *buf, IN INT len, IN INT flags, OUT LPSOCKADDR from, IN OUT INT FAR *fromlen)
Definition: recv.c:87
SOCKET WSAAPI socket(IN INT af, IN INT type, IN INT protocol)
Definition: socklife.c:143
#define INT_MAX
Definition: limits.h:40
ssize_t send_packet(struct interface_info *ip, struct dhcp_packet *p, size_t size, struct in_addr addr, struct sockaddr_in *broadcast, struct hardware *hardware)
Definition: socket.c:9
int note(char *format,...)
Definition: util.c:12
GLsizeiptr size
Definition: glext.h:5919
Definition: dhcpd.h:61
Definition: tcpip.h:125
#define WSAEMSGSIZE
Definition: winerror.h:1953
GLenum const GLvoid * addr
Definition: glext.h:9621
#define WSAENETUNREACH
Definition: winerror.h:1964
int ssize_t
Definition: rosdhcp.h:48
ssize_t receive_packet(struct interface_info *ip, unsigned char *packet_data, size_t packet_len, struct sockaddr_in *dest, struct hardware *hardware)
Definition: socket.c:34
SOCKET ServerSocket
Definition: socket.c:3
void SocketInit()
Definition: socket.c:5
INT WSAAPI sendto(IN SOCKET s, IN CONST CHAR FAR *buf, IN INT len, IN INT flags, IN CONST struct sockaddr *to, IN INT tolen)
Definition: send.c:82
#define AF_INET
Definition: tcpip.h:117
static char * dest
Definition: rtl.c:135
UINT_PTR SOCKET
Definition: winsock.h:47
GLfloat GLfloat p
Definition: glext.h:8902
#define SOCK_DGRAM
Definition: winsock.h:336
GLuint64EXT * result
Definition: glext.h:11304