/* * Copyright (C) 2007 Martin Willi * HSR Hochschule fuer Technik Rapperswil * * 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 roam_job roam_job * @{ @ingroup cjobs */ #ifndef ROAM_JOB_H_ #define ROAM_JOB_H_ typedef struct roam_job_t roam_job_t; #include #include #include /** * A job to inform IKE_SAs about changed local address setup. * * If a local address appears or disappears, the kernel fires this job to * update all IKE_SAs. */ struct roam_job_t { /** * implements job_t interface */ job_t job_interface; }; #ifdef NETAPP /** * Creates a job to inform IKE SA Manager regarding address change * * @param host_addr host address of IKE end point in this job * @param vserverid vserver ID * @param roam_type 0 Routing_change * 1 address list changed * 2 an IKE address deleted * @return initiate_ike_sa_job_t object */ roam_job_t *roam_job_create(host_t *host_addr, uint32_t vserverid, int roam_type); #else /* !NETAPP */ /** * Creates a job to inform IKE_SAs about an updated address list. * * @param address TRUE if address list changed, FALSE if routing changed * @return initiate_ike_sa_job_t object */ roam_job_t *roam_job_create(bool address); #endif /* NETAPP */ #endif /** ROAM_JOB_H_ @}*/