summaryrefslogtreecommitdiff
path: root/src/charon/encoding/payloads/endpoint_notify.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/charon/encoding/payloads/endpoint_notify.h')
-rw-r--r--src/charon/encoding/payloads/endpoint_notify.h173
1 files changed, 0 insertions, 173 deletions
diff --git a/src/charon/encoding/payloads/endpoint_notify.h b/src/charon/encoding/payloads/endpoint_notify.h
deleted file mode 100644
index 120eef49a..000000000
--- a/src/charon/encoding/payloads/endpoint_notify.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (C) 2007 Tobias Brunner
- * 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 <http://www.fsf.org/copyleft/gpl.txt>.
- *
- * 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 endpoint_notify endpoint_notify
- * @{ @ingroup payloads
- */
-
-#ifndef ENDPOINT_NOTIFY_H_
-#define ENDPOINT_NOTIFY_H_
-
-#define ME_PRIO_HOST 255
-#define ME_PRIO_PEER 128
-#define ME_PRIO_SERVER 64
-#define ME_PRIO_RELAY 0
-
-typedef enum me_endpoint_family_t me_endpoint_family_t;
-typedef enum me_endpoint_type_t me_endpoint_type_t;
-typedef struct endpoint_notify_t endpoint_notify_t;
-
-#include <encoding/payloads/notify_payload.h>
-
-/**
- * ME endpoint families.
- */
-enum me_endpoint_family_t {
-
- NO_FAMILY = 0,
-
- IPv4 = 1,
-
- IPv6 = 2,
-
- MAX_FAMILY = 3
-
-};
-
-/**
- * ME endpoint types.
- */
-enum me_endpoint_type_t {
-
- NO_TYPE = 0,
-
- HOST = 1,
-
- PEER_REFLEXIVE = 2,
-
- SERVER_REFLEXIVE = 3,
-
- RELAYED = 4,
-
- MAX_TYPE = 5
-
-};
-
-/**
- * enum name for me_endpoint_type_t.
- */
-extern enum_name_t *me_endpoint_type_names;
-
-/**
- * Class representing a ME_ENDPOINT Notify payload. In fact it's not
- * the notify per se, but the notification data of that notify that is
- * handled with this class.
- */
-struct endpoint_notify_t {
- /**
- * Returns the priority of this endpoint.
- *
- * @return priority
- */
- u_int32_t (*get_priority) (endpoint_notify_t *this);
-
- /**
- * Sets the priority of this endpoint.
- *
- * @param priority priority
- */
- void (*set_priority) (endpoint_notify_t *this, u_int32_t priority);
-
- /**
- * Returns the endpoint type of this endpoint.
- *
- * @return endpoint type
- */
- me_endpoint_type_t (*get_type) (endpoint_notify_t *this);
-
- /**
- * Returns the endpoint family of this endpoint.
- *
- * @return endpoint family
- */
- me_endpoint_family_t (*get_family) (endpoint_notify_t *this);
-
- /**
- * Returns the host of this endpoint.
- *
- * @return host
- */
- host_t *(*get_host) (endpoint_notify_t *this);
-
- /**
- * Returns the base of this endpoint.
- *
- * If this is not a SERVER_REFLEXIVE endpoint, the returned host is the same
- * as the one returned by get_host.
- *
- * @return host
- */
- host_t *(*get_base) (endpoint_notify_t *this);
-
- /**
- * Generates a notification payload from this endpoint.
- *
- * @return built notify_payload_t
- */
- notify_payload_t *(*build_notify) (endpoint_notify_t *this);
-
- /**
- * Clones an endpoint_notify_t object.
- *
- * @return cloned object
- */
- endpoint_notify_t *(*clone) (endpoint_notify_t *this);
-
- /**
- * Destroys an endpoint_notify_t object.
- */
- void (*destroy) (endpoint_notify_t *this);
-};
-
-/**
- * Creates an empty endpoint_notify_t object.
- *
- * @return created endpoint_notify_t object
- */
-endpoint_notify_t *endpoint_notify_create(void);
-
-
-/**
- * Creates an endpoint_notify_t object from a host.
- *
- * @param type the endpoint type
- * @param host host to base the notify on (gets cloned)
- * @param base base of the endpoint, applies only to reflexive endpoints (gets cloned)
- * @return created endpoint_notify_t object
- */
-endpoint_notify_t *endpoint_notify_create_from_host(me_endpoint_type_t type,
- host_t *host, host_t *base);
-
-/**
- * Creates an endpoint_notify_t object from a notify payload.
- *
- * @param notify the notify payload
- * @return - created endpoint_notify_t object
- * - NULL if invalid payload
- */
-endpoint_notify_t *endpoint_notify_create_from_payload(notify_payload_t *notify);
-
-#endif /** ENDPOINT_NOTIFY_H_ @}*/