+typedef enum {USER_UNAUTH, USER_NORMAL, USER_ADMIN} UserType;
+
+/**Contextual information related to FCGI requests*/
+typedef struct
+{
+ /**The time of last valid user access possessing the control key**/
+ time_t control_timestamp;
+ /**A SHA-1 hash that is the control key, determining who is logged in**/
+ char control_key[CONTROL_KEY_BUFSIZ];
+ /**The received control key for the current request**/
+ char received_key[CONTROL_KEY_BUFSIZ];
+ /**The IPv4 address of the logged-in user**/
+ char control_ip[16];
+ /**Determines if the user is an admin or not**/
+ UserType user_type;
+ /**Name of the logged in user**/
+ char user_name[31];
+ /**User directory for the logged in user**/
+ char user_dir[BUFSIZ];
+ /**The name of the current module**/
+ const char *current_module;
+ /**For debugging purposes?**/
+ int response_number;
+} FCGIContext;
+