struct SLink;
struct Client;
+#if defined(_MSC_VER) || defined(__BORLANDC__)
+typedef unsigned __int64 ulong64;
+typedef signed __int64 long64;
+#else
+typedef unsigned long long ulong64;
+typedef signed long long long64;
+#endif
+
/*
* General defines
*/
/** Mode information for a channel */
struct Mode {
- unsigned int mode;
+ ulong64 mode;
unsigned int limit;
unsigned int access;
char key[KEYLEN + 1];
};
struct ModeBuf {
- unsigned int mb_add; /**< Modes to add */
- unsigned int mb_rem; /**< Modes to remove */
+ ulong64 mb_add; /**< Modes to add */
+ ulong64 mb_rem; /**< Modes to remove */
struct Client *mb_source; /**< Source of MODE changes */
struct Client *mb_connect; /**< Connection of MODE changes */
struct Channel *mb_channel; /**< Channel they affect */
unsigned int mb_dest; /**< Destination of MODE changes */
unsigned int mb_count; /**< Number of modes w/args */
struct {
- unsigned int mbm_type; /**< Type of argument */
+ ulong64 mbm_type; /**< Type of argument */
union {
unsigned int mbma_uint; /**< A limit */
char *mbma_string; /**< A string */
extern void modebuf_init(struct ModeBuf *mbuf, struct Client *source,
struct Client *connect, struct Channel *chan,
unsigned int dest);
-extern void modebuf_mode(struct ModeBuf *mbuf, unsigned int mode);
-extern void modebuf_mode_uint(struct ModeBuf *mbuf, unsigned int mode,
+extern void modebuf_mode(struct ModeBuf *mbuf, ulong64 mode);
+extern void modebuf_mode_uint(struct ModeBuf *mbuf, ulong64 mode,
unsigned int uint);
-extern void modebuf_mode_string(struct ModeBuf *mbuf, unsigned int mode,
+extern void modebuf_mode_string(struct ModeBuf *mbuf, ulong64 mode,
char *string, int free);
-extern void modebuf_mode_client(struct ModeBuf *mbuf, unsigned int mode,
+extern void modebuf_mode_client(struct ModeBuf *mbuf, ulong64 mode,
struct Client *client, int oplevel);
extern int modebuf_flush(struct ModeBuf *mbuf);
extern void modebuf_extract(struct ModeBuf *mbuf, char *buf);