Annotation of embedaddon/strongswan/src/libcharon/processing/jobs/delete_child_sa_job.h, revision 1.1.1.1

1.1       misho       1: /*
                      2:  * Copyright (C) 2017 Tobias Brunner
                      3:  * Copyright (C) 2006 Martin Willi
                      4:  * HSR Hochschule fuer Technik Rapperswil
                      5:  *
                      6:  * This program is free software; you can redistribute it and/or modify it
                      7:  * under the terms of the GNU General Public License as published by the
                      8:  * Free Software Foundation; either version 2 of the License, or (at your
                      9:  * option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
                     10:  *
                     11:  * This program is distributed in the hope that it will be useful, but
                     12:  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
                     13:  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
                     14:  * for more details.
                     15:  */
                     16: 
                     17: /**
                     18:  * @defgroup delete_child_sa_job delete_child_sa_job
                     19:  * @{ @ingroup cjobs
                     20:  */
                     21: 
                     22: #ifndef DELETE_CHILD_SA_JOB_H_
                     23: #define DELETE_CHILD_SA_JOB_H_
                     24: 
                     25: typedef struct delete_child_sa_job_t delete_child_sa_job_t;
                     26: 
                     27: #include <library.h>
                     28: #include <sa/ike_sa_id.h>
                     29: #include <processing/jobs/job.h>
                     30: #include <crypto/proposal/proposal.h>
                     31: 
                     32: 
                     33: /**
                     34:  * Class representing an DELETE_CHILD_SA Job.
                     35:  *
                     36:  * This job initiates the delete of a CHILD SA.
                     37:  */
                     38: struct delete_child_sa_job_t {
                     39:        /**
                     40:         * The job_t interface.
                     41:         */
                     42:        job_t job_interface;
                     43: };
                     44: 
                     45: /**
                     46:  * Creates a job that deletes a CHILD_SA.
                     47:  *
                     48:  * @param protocol     protocol of the CHILD_SA
                     49:  * @param spi          security parameter index of the CHILD_SA
                     50:  * @param dst          SA destination address
                     51:  * @param expired      TRUE if CHILD_SA already expired
                     52:  * @return                     delete_child_sa_job_t object
                     53:  */
                     54: delete_child_sa_job_t *delete_child_sa_job_create(protocol_id_t protocol,
                     55:                                                                        uint32_t spi, host_t *dst, bool expired);
                     56: 
                     57: /**
                     58:  * Creates a job that deletes a CHILD_SA identified by its unique ID.
                     59:  *
                     60:  * @param id           unique ID of the CHILD_SA
                     61:  * @return                     delete_child_sa_job_t object
                     62:  */
                     63: delete_child_sa_job_t *delete_child_sa_job_create_id(uint32_t id);
                     64: 
                     65: #endif /** DELETE_CHILD_SA_JOB_H_ @}*/

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>