📄 structure.h
字号:
#ifndef _INCLUDE_GUARD_STRUCTURE_H_#define _INCLUDE_GUARD_STRUCTURE_H_#include <linux/time.h>#include <linux/wait.h>struct http_request;struct http_request{ /* Linked list */ struct http_request *Next; /* Network and File data */ struct socket *sock; struct file *filp; /* Raw data about the file */ int FileLength; /* File length in bytes */ int Time; /* mtime of the file, unix format */ int BytesSent; /* The number of bytes already sent */ int IsForUserspace; /* 1 means let Userspace handle this one */ /* Wait queue */ wait_queue_t sleep; /* For putting in the socket's waitqueue */ /* HTTP request information */ char FileName[256]; /* The requested filename */ int FileNameLength; /* The length of the string representing the filename */ char Agent[128]; /* The agent-string of the remote browser */ char IMS[128]; /* If-modified-since time, rfc string format */ char Host[128]; /* Value given by the Host: header */ int HTTPVER; /* HTTP-version; 9 for 0.9, 10 for 1.0 and above */ /* Derived date from the above fields */ int IMS_Time; /* if-modified-since time, unix format */ char TimeS[64]; /* File mtime, rfc string representation */ char LengthS[14]; /* File length, string representation */ char *MimeType; /* Pointer to a string with the mime-type based on the filename */ __kernel_size_t MimeLength; /* The length of this string */ };/*struct khttpd_threadinfo represents the four queues that 1 thread has to deal with.It is padded to occupy 1 (Intel) cache-line, to avoid "cacheline-pingpong".*/struct khttpd_threadinfo{ struct http_request* WaitForHeaderQueue; struct http_request* DataSendingQueue; struct http_request* LoggingQueue; struct http_request* UserspaceQueue; char dummy[16]; /* Padding for cache-lines */};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -