fixed ssl.c bug when ssl backend returns IO_BLOCKED but IO engine doesn't get informe...
[ircu2.10.12-pk.git] / include / capab.h
1 #ifndef INCLUDED_capab_h
2 #define INCLUDED_capab_h
3 /*
4  * IRC - Internet Relay Chat, include/capab.h
5  * Copyright (C) 2004 Kevin L. Mitchell <klmitch@mit.edu>
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2, or (at your option)
10  * any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20  */
21 /** @file
22  * @brief Interface and public definitions for capabilities extension
23  * @version $Id: capab.h 1349 2005-04-05 01:46:05Z entrope $
24  */
25
26 #ifndef INCLUDED_client_h
27 #include "client.h"
28 #endif
29
30 #define CAPFL_HIDDEN    0x0001  /**< Do not advertize this capability */
31 #define CAPFL_PROHIBIT  0x0002  /**< Client may not set this capability */
32 #define CAPFL_PROTO     0x0004  /**< Cap must be acknowledged by client */
33 #define CAPFL_STICKY    0x0008  /**< Cap may not be cleared once set */
34
35 #define CAPLIST \
36         _CAP(USERPFX, 0, "undernet.org/userpfx")
37
38 /** Client capabilities */
39 enum Capab {
40 #define _CAP(cap, flags, name)  CAP_ ## cap
41   CAPLIST,
42 #undef _CAP
43   _CAP_LAST_CAP
44 };
45
46 DECLARE_FLAGSET(CapSet, _CAP_LAST_CAP);
47
48 #define CapHas(cs, cap) FlagHas(cs, cap)
49 #define CapSet(cs, cap) FlagSet(cs, cap)
50 #define CapClr(cs, cap) FlagClr(cs, cap)
51
52 #endif /* INCLUDED_capab_h */