Initial oplevel support.
[srvx.git] / src / proto.h
index 3f4143bbb100347322d75a844a076994f1f04186..9f0f77a18f7b26539a4dea5be49012913ca9a5f1 100644 (file)
@@ -60,7 +60,7 @@ struct uplinkNode
     char               *host;
     int                        port;
 
-    struct sockaddr_in         *bind_addr;
+    struct sockaddr    *bind_addr;
     int                bind_addr_len;
 
     char               *password;
@@ -108,8 +108,6 @@ void unreg_notice_func(struct userNode *user, privmsg_func_t handler);
 typedef void (*oper_func_t) (struct userNode *user);
 void reg_oper_func(oper_func_t handler);
 
-extern struct userList dead_users;
-
 /* replay silliness */
 void replay_read_line(void);
 void replay_event_loop(void);
@@ -194,18 +192,22 @@ struct mod_chanmode {
     unsigned int alloc_argc;
 #endif
     char new_key[KEYLEN + 1];
+    char new_upass[KEYLEN + 1];
+    char new_apass[KEYLEN + 1];
     struct {
         unsigned int mode;
         union {
             struct modeNode *member;
             const char *hostmask;
-        };
+        } u;
     } args[1];
 };
 #define MCP_ALLOW_OVB     0x0001 /* allow op, voice, ban manipulation */
 #define MCP_FROM_SERVER   0x0002 /* parse as from a server */
 #define MCP_KEY_FREE      0x0004 /* -k without a key argument */
 #define MCP_REGISTERED   0x0008 /* chan is already registered; do not allow changes to MODE_REGISTERED */
+#define MCP_UPASS_FREE    0x0010 /* -U without a key argument */
+#define MCP_APASS_FREE    0x0020 /* -A without a key argument */
 #define MC_ANNOUNCE       0x0100 /* send a mod_chanmode() change out */
 #define MC_NOTIFY         0x0200 /* make local callbacks to announce */
 #ifdef NDEBUG