Add infrastructure to handle child processes exiting.
[ircu2.10.12-pk.git] / include / channel.h
index c2c12ea8348a87aed6a153e3c689ac19347099ca..b899e272422a4a4bb62be924d0fbb0177bfd989b 100644 (file)
@@ -163,19 +163,6 @@ typedef enum ChannelGetType {
  */
 #define TS_LAG_TIME 86400
 
-/**
- * A Magic TS that is used for channels that are created by JOIN,
- * a channel with this TS accepts all TS without complaining that
- * it might receive later via MODE or CREATE.
- *
- * Part of the P9 compatibility, shouldn't occur on a P10 network.
- */
-#define MAGIC_REMOTE_JOIN_TS 1270080000
-
-/**
- * used in can_join to determine if an oper forced a join on a channel
- */
-#define MAGIC_OPER_OVERRIDE 1000
 
 
 extern const char* const PartFmt1;
@@ -321,6 +308,7 @@ struct ModeBuf {
       char            *mbma_string;    /**< A string */
       struct Client    *mbma_client;   /**< A client */
     }                  mbm_arg;        /**< The mode argument */
+    unsigned short      mbm_oplevel;    /**< Oplevel for a bounce */
   }                    mb_modeargs[MAXMODEPARAMS];
                                        /**< A mode w/args */
 };
@@ -343,6 +331,7 @@ struct ModeBuf {
 #define MB_UINT(mb, i)         ((mb)->mb_modeargs[(i)].mbm_arg.mbma_uint)
 #define MB_STRING(mb, i)       ((mb)->mb_modeargs[(i)].mbm_arg.mbma_string)
 #define MB_CLIENT(mb, i)       ((mb)->mb_modeargs[(i)].mbm_arg.mbma_client)
+#define MB_OPLEVEL(mb, i)       ((mb)->mb_modeargs[(i)].mbm_oplevel)
 
 /** A buffer represeting a list of joins to send */
 struct JoinBuf {
@@ -368,7 +357,6 @@ extern int             LocalChanOperMode;
 /*
  * Proto types
  */
-extern void clean_channelname(char* name);
 extern void channel_modes(struct Client *cptr, char *mbuf, char *pbuf,
                           int buflen, struct Channel *chptr,
                          struct Membership *member);
@@ -383,7 +371,6 @@ extern struct Membership* find_member_link(struct Channel * chptr,
                                            const struct Client* cptr);
 extern int sub1_from_channel(struct Channel* chptr);
 extern int destruct_channel(struct Channel* chptr);
-extern int can_join(struct Client *sptr, struct Channel *chptr, char *key);
 extern void add_user_to_channel(struct Channel* chptr, struct Client* who,
                                 unsigned int flags, int oplevel);
 extern void make_zombie(struct Membership* member, struct Client* who,
@@ -427,7 +414,7 @@ extern void modebuf_mode_uint(struct ModeBuf *mbuf, unsigned int mode,
 extern void modebuf_mode_string(struct ModeBuf *mbuf, unsigned int mode,
                                char *string, int free);
 extern void modebuf_mode_client(struct ModeBuf *mbuf, unsigned int mode,
-                               struct Client *client);
+                               struct Client *client, int oplevel);
 extern int modebuf_flush(struct ModeBuf *mbuf);
 extern void modebuf_extract(struct ModeBuf *mbuf, char *buf);