X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/d1c7eccf6af5e957c316a671cfdf5a00ab5043b3..b3b2ed9780cba27094b31440e8c2fee12cc3dd45:/src/channel.c?ds=sidebyside diff --git a/src/channel.c b/src/channel.c index 36ad743..c3e8cd9 100644 --- a/src/channel.c +++ b/src/channel.c @@ -200,7 +200,6 @@ find_channel_status(struct membership *msptr, int combine) * output - 1 if the user is op, halfop, or owner, 0 elsewise * side effects - */ - int is_any_op(struct membership *msptr) { @@ -211,6 +210,38 @@ is_any_op(struct membership *msptr) return 0; } +/* is_chanop_voiced() + * + * input - memebership to check for status + * output - 1 if the user is op, halfop, owner, or voice, 0 elsewise + * side effects - + */ +int +is_chanop_voiced(struct membership *msptr) +{ + /* Checks for +ah will go here when +ah are implemented */ + if(is_chanop(msptr) || is_voiced(msptr)) + return 1; + else + return 0; +} + +/* can_kick_deop() + * + * input - two memeberships + * output - 1 if the first memebership can kick/deop the second, 0 elsewise + * side effects - + */ +int +can_kick_deop(struct membership *source, struct membership *target) +{ + /* This does not do much yet. That will change when +ah is in. */ + if(!is_any_op(source)) + return 0; + else + return 1; +} + /* add_user_to_channel() * * input - channel to add client to, client to add, channel flags