Implemented initial support for zombie mode by Jan Krüger <jk@jk.gs>
[ircu2.10.12-pk.git] / include / client.h
index 5d754bf1cfff2a706660a6b5036128f970aa9dcb..a86633d2652d3c0aece42f9a0dfb0dff575747f1 100644 (file)
@@ -179,6 +179,7 @@ enum Flag
     FLAG_DEBUG,                     /**< send global debug/anti-hack info */
     FLAG_ACCOUNT,                   /**< account name has been set */
     FLAG_HIDDENHOST,                /**< user's host is hidden */
+    FLAG_NOTCONN,                   /**< nobody is connected to this client */
     FLAG_FAKEHOST,                  /**< user has a fakehost */
     FLAG_FAKEIDENT,                  /**< user has a fakeident */
     FLAG_NOCHAN,                    /**< hide user's channels for non-opers */
@@ -626,6 +627,8 @@ struct Client {
 #define IsAccount(x)            HasFlag(x, FLAG_ACCOUNT)
 /** Return non-zero if the client has set mode +x (hidden host). */
 #define IsHiddenHost(x)         HasFlag(x, FLAG_HIDDENHOST)
+/** Return non-zero if nobody is connected to this client structure */
+#define IsNotConn(x)            HasFlag(x, FLAG_NOTCONN)
 /** Return non-zero if the client has an active PING request. */
 #define IsPingSent(x)           HasFlag(x, FLAG_PINGSENT)
 /** Return non-zero if the client's channels are hidden. */
@@ -696,6 +699,8 @@ struct Client {
 #define SetAccount(x)           SetFlag(x, FLAG_ACCOUNT)
 /** Mark a client as having mode +x (hidden host). */
 #define SetHiddenHost(x)        SetFlag(x, FLAG_HIDDENHOST)
+/** Mark a client as not having anyone connected to it */
+#define SetNotConn(x)           SetFlag(x, FLAG_NOTCONN)
 /** Mark a client as having a fakehost. */
 #define SetFakeHost(x)          SetFlag(x, FLAG_FAKEHOST)
 #define SetFakeIdent(x)          SetFlag(x, FLAG_FAKEIDENT)
@@ -752,6 +757,8 @@ struct Client {
 #define ClearServNotice(x)      ClrFlag(x, FLAG_SERVNOTICE)
 /** Remove mode +x (hidden host) from the client. */
 #define ClearHiddenHost(x)      ClrFlag(x, FLAG_HIDDENHOST)
+/** Mark client as having someone connected to it */
+#define ClearNotConn(x)         ClrFlag(x, FLAG_NOTCONN)
 /** Remove fakehost flag from the flient. */
 #define ClearFakeHost(x)        ClrFlag(x, FLAG_FAKEHOST)
 #define ClearFakeIdent(x)        ClrFlag(x, FLAG_FAKEIDENT)