#include "threads.h"
-/*
- * Values for CitContext.state
- *
- * A session that is doing nothing is in CON_IDLE state. When activity
- * is detected on the socket, it goes to CON_READY, indicating that it
- * needs to have a worker thread bound to it. When a thread binds to
- * the session, it goes to CON_EXECUTING and does its thing. When the
- * transaction is finished, the thread sets it back to CON_IDLE and lets
- * it go.
- */
+// Values for CitContext.state
+//
+// A session that is doing nothing is in CON_IDLE state. When activity
+// is detected on the socket, it goes to CON_READY, indicating that it
+// needs to have a worker thread bound to it. When a thread binds to
+// the session, it goes to CON_EXECUTING and does its thing. When the
+// transaction is finished, the thread sets it back to CON_IDLE and lets
+// it go.
typedef enum __CCState {
- CON_IDLE, /* This context is doing nothing */
- CON_GREETING, /* This context needs to output its greeting */
- CON_STARTING, /* This context is outputting its greeting */
- CON_READY, /* This context needs attention */
- CON_EXECUTING, /* This context is bound to a thread */
- CON_SYS /* This is a system context and mustn't be purged */
+ CON_IDLE, // This context is doing nothing
+ CON_GREETING, // This context needs to output its greeting
+ CON_STARTING, // This context is outputting its greeting
+ CON_READY, // This context needs attention
+ CON_EXECUTING, // This context is bound to a thread
+ CON_SYS // This is a system context and mustn't be purged
} CCState;
#ifndef __CIT_CONTEXT__
typedef struct CitContext CitContext;
#endif
-/*
- * This structure keeps track of all information relating to a running
- * session on the server. We keep one of these for each session.
- */
+// This structure keeps track of all information relating to a running
+// session on the server. We keep one of these for each session.
struct CitContext {
CitContext *prev; /* Link to previous session in list */
CitContext *next; /* Link to next session in the list */
int can_receive_im; /* Session is capable of receiving instant messages */
/* Client information */
- int cs_clientdev; /* client developer ID */
- int cs_clienttyp; /* client type code */
- int cs_clientver; /* client version number */
char cs_clientinfo[256];/* if its a unix domain socket, some info for logging. */
uid_t cs_UDSclientUID; /* the uid of the client when talking via UDS */
char cs_clientname[32]; /* name of client software */
struct ma_info *ma; /* multipart/alternative data */
const char *ServiceName; /* readable purpose of this session */
long tcp_port;
- void *openid_data; /* Data stored by the OpenID module */
char *ldap_dn; /* DN of user when using AUTHMODE_LDAP */
void (*h_command_function) (void) ; /* service command function */
/* forcibly close and flush fd's on shutdown */
void terminate_all_sessions(void);
-/* Deprecated, user CtdlBumpNewMailCounter() instead */
-void BumpNewMailCounter(long) __attribute__ ((deprecated));
-
void terminate_idle_sessions(void);
int CtdlTerminateOtherSession (int session_num);
/* bits returned by CtdlTerminateOtherSession */