1 #ifndef _INCLUDE_GUARD_PROTOTYPES_H 2 #define _INCLUDE_GUARD_PROTOTYPES_H 3 4 5 #include <linux/config.h> 6 #include <linux/kernel.h> 7 #include <linux/net.h> 8 #include <linux/time.h> 9 #include <linux/types.h> 10 #include <linux/wait.h> 11 #include <net/sock.h> 12 #include <asm/uaccess.h> 13 14 #include "structure.h" 15 16 17 /* General defines and stuff */ 18 19 20 #define CONFIG_KHTTPD_NUMCPU 16 /* Maximum number of threads */ 21 22 #ifdef OOPSTRACE 23 #define EnterFunction(x) printk("Enter: %s, %s line %i\n",x,__FILE__,__LINE__) 24 #define LeaveFunction(x) printk("Leave: %s, %s line %i\n",x,__FILE__,__LINE__) 25 #else 26 #define EnterFunction(x) do {} while (0) 27 #define LeaveFunction(x) do {} while (0) 28 #endif 29 30 31 32 /* sockets.c */ 33 int StartListening(const int Port); 34 void StopListening(void); 35 36 extern struct socket *MainSocket; 37 38 39 /* sysctl.c */ 40 void StartSysctl(void); 41 void EndSysctl(void); 42 43 extern int sysctl_khttpd_stop; 44 45 46 /* main.c */ 47 48 49 extern struct khttpd_threadinfo threadinfo[CONFIG_KHTTPD_NUMCPU]; 50 extern char CurrentTime[]; 51 extern atomic_t ConnectCount; 52 53 /* misc.c */ 54 55 void CleanUpRequest(struct http_request *Req); 56 int SendBuffer(struct socket *sock, const char *Buffer,const size_t Length); 57 int SendBuffer_async(struct socket *sock, const char *Buffer,const size_t Length); 58 void Send403(struct socket *sock); 59 void Send304(struct socket *sock); 60 void Send50x(struct socket *sock); 61 62 /* accept.c */ 63 64 int AcceptConnections(const int CPUNR,struct socket *Socket); 65 66 /* waitheaders.c */ 67 68 int WaitForHeaders(const int CPUNR); 69 void StopWaitingForHeaders(const int CPUNR); 70 int InitWaitHeaders(int ThreadCount); 71 72 /* datasending.c */ 73 74 int DataSending(const int CPUNR); 75 void StopDataSending(const int CPUNR); 76 int InitDataSending(int ThreadCount); 77 78 79 /* userspace.c */ 80 81 int Userspace(const int CPUNR); 82 void StopUserspace(const int CPUNR); 83 void InitUserspace(const int CPUNR); 84 85 86 /* rfc_time.c */ 87 88 void time_Unix2RFC(const time_t Zulu,char *Buffer); 89 void UpdateCurrentDate(void); 90 time_t mimeTime_to_UnixTime(char *Q); 91 extern int CurrentTime_i; 92 93 /* rfc.c */ 94 95 void ParseHeader(char *Buffer,const int length, struct http_request *Head); 96 char *ResolveMimeType(const char *File,__kernel_size_t *Len); 97 void AddMimeType(const char *Ident,const char *Type); 98 void SendHTTPHeader(struct http_request *Request); 99 100 101 102 /* security.c */ 103 104 struct file *OpenFileForSecurity(char *Filename); 105 void AddDynamicString(const char *String); 106 void GetSecureString(char *String); 107 108 109 /* logging.c */ 110 111 int Logging(const int CPUNR); 112 void StopLogging(const int CPUNR); 113 114 115 /* Other prototypes */ 116 117 118 119 #endif 120