added basic ssl support to ircu
[ircu2.10.12-pk.git] / include / numnicks.h
index e3bc250deb69e3c69bebd57e0b9cfff386750a9e..c6e42699d4676a8fef9d42438196b763d5f5952e 100644 (file)
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * $Id$
+ */
+/** @file
+ * @brief Interface for numeric nickname functions.
+ * @version $Id$
  */
 #ifndef INCLUDED_numnicks_h
 #define INCLUDED_numnicks_h
+#ifndef INCLUDED_client_h
+#include "client.h"
+#endif
 #ifndef INCLUDED_sys_types_h
 #include <sys/types.h>
 #define INCLUDED_sys_types_h
 /*
  * used for buffer size calculations in channel.c
  */
+/** Maximum length of a full user numnick. */
 #define NUMNICKLEN 5            /* strlen("YYXXX") */
 
 /*
  * Macros
  */
 
-/*
+/** Provide format string arguments for a user's numnick.
  * Use this macro as follows: sprintf(buf, "%s%s ...", NumNick(cptr), ...);
  */
-#define NumNick(c) (c)->user->server->yxx, (c)->yxx
+#define NumNick(c) cli_yxx((cli_user(c))->server), cli_yxx(c)
 
-/*
+/** Provide format string arguments for a server's numnick.
  * Use this macro as follows: sprintf(buf, "%s ...", NumServ(cptr), ...);
  */
-#define NumServ(c) (c)->yxx
+#define NumServ(c) cli_yxx(c)
 
-/*
+/** Provide format string arguments for a server's capacity mask.
  * Use this macro as follows: sprintf(buf, "%s%s ...", NumServCap(cptr), ...);
  */
-#define NumServCap(c) (c)->yxx, (c)->serv->nn_capacity
+#define NumServCap(c) cli_yxx(c), (cli_serv(c))->nn_capacity
 
 /*
  * Structures
@@ -61,8 +67,8 @@ struct Client;
 /*
  * Proto types
  */
-extern int  SetRemoteNumNick(struct Client* cptr, const char* yxx);
-extern void SetLocalNumNick(struct Client* cptr);
+extern void SetRemoteNumNick(struct Client* cptr, const char* yxx);
+extern int  SetLocalNumNick(struct Client* cptr);
 extern void RemoveYXXClient(struct Client* server, const char* yxx);
 extern void SetServerYXX(struct Client* cptr, 
                          struct Client* server, const char* yxx);
@@ -78,6 +84,8 @@ extern struct Client* FindNServer(const char* numeric);
 
 extern unsigned int   base64toint(const char* str);
 extern const char*    inttobase64(char* buf, unsigned int v, unsigned int count);
+extern const char* iptobase64(char* buf, const struct irc_in_addr* addr, unsigned int count, int v6_ok);
+extern void base64toip(const char* s, struct irc_in_addr* addr);
 
 #endif /* INCLUDED_numnicks_h */