ReactOS 0.4.16-dev-197-g92996da
helpers.c File Reference
#include "ws2_32.h"
Include dependency graph for helpers.c:

Go to the source code of this file.

Functions

int CreateSocket (SOCKET *psck)
 
int ConnectToReactOSWebsite (SOCKET sck)
 
int GetRequestAndWait (SOCKET sck)
 

Function Documentation

◆ ConnectToReactOSWebsite()

int ConnectToReactOSWebsite ( SOCKET  sck)

Definition at line 27 of file helpers.c.

28{
29 int iResult;
30 struct hostent* host;
31 struct sockaddr_in sa;
32
33 /* Connect to "www.reactos.org" */
34 host = gethostbyname("test.winehq.org");
35
36 sa.sin_family = AF_INET;
37 sa.sin_addr.s_addr = *(u_long*)host->h_addr_list[0];
38 sa.sin_port = htons(80);
39
40 SCKTEST(connect(sck, (struct sockaddr *)&sa, sizeof(sa)));
41
42 return 1;
43}
static struct sockaddr_in sa
Definition: adnsresfilter.c:69
unsigned long u_long
Definition: linux.h:269
#define AF_INET
Definition: tcpip.h:117
PHOSTENT WSAAPI gethostbyname(IN const char FAR *name)
Definition: getxbyxx.c:221
#define htons(x)
Definition: module.h:215
#define SCKTEST(_cmd_)
Definition: ws2_32.h:25
char * host
Definition: whois.c:55

Referenced by Test_ioctlsocket(), Test_recv(), and Test_WSARecv().

◆ CreateSocket()

int CreateSocket ( SOCKET psck)

Definition at line 11 of file helpers.c.

12{
13 /* Create the socket */
15 ok(*psck != INVALID_SOCKET, "*psck = %d\n", *psck);
16
17 if(*psck == INVALID_SOCKET)
18 {
19 printf("Winsock error code is %u\n", WSAGetLastError());
20 WSACleanup();
21 return 0;
22 }
23
24 return 1;
25}
#define ok(value,...)
Definition: atltest.h:57
#define IPPROTO_TCP
Definition: ip.h:196
#define SOCK_STREAM
Definition: tcpip.h:118
#define printf
Definition: freeldr.h:97
SOCKET WSAAPI socket(IN INT af, IN INT type, IN INT protocol)
Definition: socklife.c:143
int PASCAL FAR WSAGetLastError(void)
Definition: dllmain.c:112
int PASCAL FAR WSACleanup(void)
Definition: startup.c:60
#define INVALID_SOCKET
Definition: winsock.h:332

◆ GetRequestAndWait()

int GetRequestAndWait ( SOCKET  sck)

Definition at line 45 of file helpers.c.

46{
47 const char szGetRequest[] = "GET / HTTP/1.0\r\n\r\n";
48 int iResult;
49 struct fd_set readable;
50
51 /* Send the GET request */
52 SCKTEST(send(sck, szGetRequest, lstrlenA(szGetRequest), 0));
53 ok(iResult == strlen(szGetRequest), "iResult = %d\n", iResult);
54#if 0 /* breaks windows too */
55 /* Shutdown the SEND connection */
57#endif
58 /* Wait until we're ready to read */
59 FD_ZERO(&readable);
60 FD_SET(sck, &readable);
61
62 SCKTEST(select(0, &readable, NULL, NULL, NULL));
63
64 return 1;
65}
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
#define NULL
Definition: types.h:112
INT WSAAPI select(IN INT s, IN OUT LPFD_SET readfds, IN OUT LPFD_SET writefds, IN OUT LPFD_SET exceptfds, IN CONST struct timeval *timeout)
Definition: select.c:41
INT WSAAPI send(IN SOCKET s, IN CONST CHAR FAR *buf, IN INT len, IN INT flags)
Definition: send.c:23
int WINAPI lstrlenA(LPCSTR lpString)
Definition: lstring.c:145
INT WSAAPI shutdown(IN SOCKET s, IN INT how)
Definition: sockctrl.c:506
Definition: winsock.h:66
#define FD_ZERO(set)
Definition: winsock.h:96
#define SD_SEND
Definition: winsock.h:55
#define FD_SET(fd, set)
Definition: winsock.h:89

Referenced by Test_ioctlsocket(), and Test_recv().