/* * Copyright (C) 2011 Martin Willi * Copyright (C) 2011 revosec AG * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. See . * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. */ /** * @defgroup whitelist_msg whitelist_msg * @{ @ingroup whitelist */ #ifndef WHITELIST_MSG_H_ #define WHITELIST_MSG_H_ #define WHITELIST_SOCKET IPSEC_PIDDIR "/charon.wlst" typedef struct whitelist_msg_t whitelist_msg_t; /** * Message type. */ enum { /* add whitelist entry */ WHITELIST_ADD = 1, /* remove whitelist entry */ WHITELIST_REMOVE = 2, /* list identities matching id, gets responded with LIST messages */ WHITELIST_LIST = 3, /* indicates end of list in a series of LIST messages */ WHITELIST_END = 4, /* flush identities matching id */ WHITELIST_FLUSH = 5, /* enable whitelist checking */ WHITELIST_ENABLE = 6, /* disable whitelist checking */ WHITELIST_DISABLE = 7, }; /** * Message to exchange over whitelist */ struct whitelist_msg_t { /** message type */ int type; /** null terminated identity */ char id[128]; } __attribute__((packed)); #endif /** WHITELIST_MSG_H_ @}*/