]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/client.h
Change cloaked hostname to be malloc'd on demand
[ngircd-alex.git] / src / ngircd / client.h
index 16b2a61ab8564808ad6c58066898602e30431cab..6d5298fc174453af18cc59381b5c6926ed94b37b 100644 (file)
@@ -48,6 +48,7 @@ typedef struct _CLIENT
        struct _CLIENT *introducer;     /* ID of the servers which the client is connected to */
        struct _CLIENT *topserver;      /* toplevel servers (only valid if client is a server) */
        char host[CLIENT_HOST_LEN];     /* hostname of the client */
+       char *cloaked;                  /* cloaked hostname of the client */
        char user[CLIENT_USER_LEN];     /* user name ("login") */
 #if defined(PAM) && defined(IDENTAUTH)
        char orig_user[CLIENT_USER_LEN];/* user name supplied by USER command */
@@ -71,7 +72,7 @@ typedef POINTER CLIENT;
 typedef struct _WHOWAS
 {
        time_t time;                    /* time stamp of entry or 0 if unused */
-       char id[CLIENT_NICK_LEN];       /* client nick name */
+       char id[CLIENT_NICK_LEN];       /* client nickname */
        char host[CLIENT_HOST_LEN];     /* hostname of the client */
        char user[CLIENT_USER_LEN];     /* user name ("login") */
        char info[CLIENT_INFO_LEN];     /* long user name */
@@ -92,7 +93,10 @@ GLOBAL CLIENT *Client_ThisServer PARAMS(( void ));
 
 GLOBAL CLIENT *Client_GetFromToken PARAMS(( CLIENT *Client, int Token ));
 
+GLOBAL bool Client_Announce PARAMS(( CLIENT *Client, CLIENT *Prefix, CLIENT *User ));
+
 GLOBAL CLIENT *Client_Search PARAMS(( const char *ID ));
+GLOBAL CLIENT *Client_SearchServer PARAMS(( const char *ID ));
 GLOBAL CLIENT *Client_First PARAMS(( void ));
 GLOBAL CLIENT *Client_Next PARAMS(( CLIENT *c ));
 
@@ -107,7 +111,8 @@ GLOBAL char *Client_User PARAMS(( CLIENT *Client ));
 GLOBAL char *Client_OrigUser PARAMS(( CLIENT *Client ));
 #endif
 GLOBAL char *Client_Hostname PARAMS(( CLIENT *Client ));
-GLOBAL char *Client_HostnameCloaked PARAMS(( CLIENT *Client ));
+GLOBAL char *Client_HostnameCloaked PARAMS((CLIENT *Client));
+GLOBAL char *Client_HostnameDisplayed PARAMS(( CLIENT *Client ));
 GLOBAL char *Client_Modes PARAMS(( CLIENT *Client ));
 GLOBAL char *Client_Flags PARAMS(( CLIENT *Client ));
 GLOBAL CLIENT *Client_Introducer PARAMS(( CLIENT *Client ));
@@ -121,6 +126,7 @@ GLOBAL char *Client_Away PARAMS(( CLIENT *Client ));
 GLOBAL time_t Client_StartTime PARAMS(( CLIENT *Client ));
 
 GLOBAL bool Client_HasMode PARAMS(( CLIENT *Client, char Mode ));
+GLOBAL bool Client_HasFlag PARAMS(( CLIENT *Client, char Flag ));
 
 GLOBAL void Client_SetHostname PARAMS(( CLIENT *Client, const char *Hostname ));
 GLOBAL void Client_SetID PARAMS(( CLIENT *Client, const char *Nick ));
@@ -166,6 +172,10 @@ GLOBAL void Client_Reject PARAMS((CLIENT *Client, const char *Reason,
                                  bool InformClient));
 GLOBAL void Client_Introduce PARAMS((CLIENT *From, CLIENT *Client, int Type));
 
+GLOBAL void Client_UpdateCloakedHostname PARAMS((CLIENT *Client,
+                                                CLIENT *Originator,
+                                                const char *hostname));
+
 
 #ifdef DEBUG
 GLOBAL void Client_DebugDump PARAMS((void));