~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/net/khttpd/structure.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _INCLUDE_GUARD_STRUCTURE_H_
  2 #define _INCLUDE_GUARD_STRUCTURE_H_
  3 
  4 #include <linux/time.h>
  5 #include <linux/wait.h>
  6 
  7 
  8 struct http_request;
  9 
 10 struct http_request
 11 {
 12         /* Linked list */
 13         struct http_request *Next;
 14         
 15         /* Network and File data */
 16         struct socket   *sock;          
 17         struct file     *filp;          
 18 
 19         /* Raw data about the file */
 20         
 21         int             FileLength;     /* File length in bytes */
 22         int             Time;           /* mtime of the file, unix format */
 23         int             BytesSent;      /* The number of bytes already sent */
 24         int             IsForUserspace; /* 1 means let Userspace handle this one */
 25         
 26         /* Wait queue */
 27         
 28         wait_queue_t sleep;             /* For putting in the socket's waitqueue */
 29         
 30         /* HTTP request information */
 31         char            FileName[256];  /* The requested filename */
 32         int             FileNameLength; /* The length of the string representing the filename */
 33         char            Agent[128];     /* The agent-string of the remote browser */
 34         char            IMS[128];       /* If-modified-since time, rfc string format */
 35         char            Host[128];      /* Value given by the Host: header */
 36         int             HTTPVER;        /* HTTP-version; 9 for 0.9,   10 for 1.0 and above */
 37 
 38 
 39         /* Derived date from the above fields */        
 40         int             IMS_Time;       /* if-modified-since time, unix format */
 41         char            TimeS[64];      /* File mtime, rfc string representation */
 42         char            LengthS[14];    /* File length, string representation */
 43         char            *MimeType;      /* Pointer to a string with the mime-type 
 44                                            based on the filename */
 45         __kernel_size_t MimeLength;     /* The length of this string */
 46         
 47 };
 48 
 49 
 50 
 51 /*
 52 
 53 struct khttpd_threadinfo represents the four queues that 1 thread has to deal with.
 54 It is padded to occupy 1 (Intel) cache-line, to avoid "cacheline-pingpong".
 55 
 56 */
 57 struct khttpd_threadinfo
 58 {
 59         struct http_request* WaitForHeaderQueue;
 60         struct http_request* DataSendingQueue;
 61         struct http_request* LoggingQueue;
 62         struct http_request* UserspaceQueue;
 63         char  dummy[16];  /* Padding for cache-lines */
 64 };
 65 
 66 
 67 
 68 #endif
 69 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.