proxy-network/src/network.hpp
2023-10-04 01:10:24 -05:00

47 lines
1.2 KiB
C++

#ifndef NETWORK_HPP
#define NETWORK_HPP
#define WIN // WIN for Windows environment, UNIX for BSD or LINUX env.
#ifdef UNIX
#include <netinet/in.h>
#endif
#ifdef WIN
#include <winsock.h>
#include <ws2tcpip.h>
#endif
#include <unistd.h>
#define BUF_SIZE 4096 // Buffer size (big enough for a GET)
#define kProxyPort 9080
#define kWebserverIP "127.0.0.1"
#define kWebserverPort 7080
#define FORBIDDEN_403 "HTTP/1.0 403 Forbidden\nContent-Type:text/html\n\n"
#define MESS_403 "<html><body><h1>FORBIDDEN ACCESS</h1></body></html>"
// Hazardous globals
extern char hazardous_contents_CS_01[256];
extern char hazardous_contents_CS_02[256];
void PipeSockets(int sender_s, int receiver_s);
void ProxySockets(int sender_s, int receiver_s);
struct Client {
unsigned int socketFD; // Client socket descriptor
sockaddr_in address; // Client IP address
socklen_t addressLength; // Internet address length
Client(void);
bool ConnectFrom(int serverFD);
bool ConnectTo(int portNumber);
};
struct Server {
unsigned int socketFD; // Server socket descriptor
sockaddr_in address; // Server Internet address
Server(int portNumber);
void Close(void);
};
#endif