Annotation of ircnowd/src/ngircd/client-cap.c, Revision 1.1
1.1 ! tomglok 1: /*
! 2: * ngIRCd -- The Next Generation IRC Daemon
! 3: * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors.
! 4: *
! 5: * This program is free software; you can redistribute it and/or modify
! 6: * it under the terms of the GNU General Public License as published by
! 7: * the Free Software Foundation; either version 2 of the License, or
! 8: * (at your option) any later version.
! 9: * Please read the file COPYING, README and AUTHORS for more information.
! 10: */
! 11:
! 12: #define __client_cap_c__
! 13:
! 14: #include "portab.h"
! 15:
! 16: /**
! 17: * @file
! 18: * Functions to deal with IRC Capabilities
! 19: */
! 20:
! 21: #include <assert.h>
! 22:
! 23: #include "conn.h"
! 24: #include "log.h"
! 25:
! 26: #include "client-cap.h"
! 27:
! 28: GLOBAL int
! 29: Client_Cap(CLIENT *Client)
! 30: {
! 31: assert (Client != NULL);
! 32:
! 33: return Client->capabilities;
! 34: }
! 35:
! 36: GLOBAL void
! 37: Client_CapSet(CLIENT *Client, int Cap)
! 38: {
! 39: assert(Client != NULL);
! 40: assert(Cap >= 0);
! 41:
! 42: Client->capabilities = Cap;
! 43: LogDebug("Set new capability of \"%s\" to %d.",
! 44: Client_ID(Client), Client->capabilities);
! 45: }
! 46:
! 47: GLOBAL void
! 48: Client_CapAdd(CLIENT *Client, int Cap)
! 49: {
! 50: assert(Client != NULL);
! 51: assert(Cap > 0);
! 52:
! 53: Client->capabilities |= Cap;
! 54: LogDebug("Add capability %d, new capability of \"%s\" is %d.",
! 55: Cap, Client_ID(Client), Client->capabilities);
! 56: }
! 57:
! 58: GLOBAL void
! 59: Client_CapDel(CLIENT *Client, int Cap)
! 60: {
! 61: assert(Client != NULL);
! 62: assert(Cap > 0);
! 63:
! 64: Client->capabilities &= ~Cap;
! 65: LogDebug("Delete capability %d, new capability of \"%s\" is %d.",
! 66: Cap, Client_ID(Client), Client->capabilities);
! 67: }
! 68:
! 69: /* -eof- */
CVSweb