![]() |
![]() |
||||||
![]() |
|||||||
|
/*
*
* server.h - part of Danovitsch Webcam
*
* Copyright (C) 2001 by Daan Vreeken
*
* Published under the terms of the GNU Public License 2.0
* (or any later version)
*
*/
#define MaxClients 100
#define ClientTimeout 60,0
#define MaxLineSize 256
#define Server_ListenAddr "0.0.0.0"
#define Server_Port 8000
extern int Clients;
extern int AcceptSock;
extern long ImagesServed;
extern long ImagesSinceRestart;
extern const char *StateName[];
enum ConnState
{
GetRequest=0, GetHeader, GetData, Response, Zombie
};
enum ConnMode
{
LineMode=0, ByteMode
};
struct Connection
{
int FD;
int Close;
struct timeval ConnectTime;
enum ConnState State;
enum ConnMode Mode;
char *Line;
int Length;
char *Request;
char *RequestArg[3];
char *PostData;
int PostLength;
int ContentLength;
int Error;
};
extern struct Connection Client[MaxClients];
extern struct Connection *Server_CurrentConnection;
extern int SockSend(struct Connection *C, void *Buf, size_t Len);
extern size_t SockRecv(struct Connection *C, void *Buf, size_t Len);
extern void Print(struct Connection *C, char *Txt);
extern void PrintF(struct Connection *C, char *Txt, ...);
extern void Server_CloseConnection(int Nr);
extern void Server_HandleBytes(struct Connection *C, char *Data, int Size);
extern void Server_HandleLine(struct Connection *C);
extern void Server_HandleData(int Conn);
extern void Server_Init(void);
extern void Server_Shutdown(void);
syntax highlighted by Code2HTML, v. 0.9.1 Email me with questions/comments : Daan <Danovitsch @ Vitsch . net> |