WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
* Given two peers, both may initiate channels over the same tunnel.
* The @e cn must be greater or equal to 0x80000000 (high-bit set)
* for tunnels initiated with the peer that has the larger peer
- * identity as compared using #GNUNET_CRYPTO_cmp_peer_identity().
+ * identity as compared using #GNUNET_memcmp().
*/
uint32_t cn GNUNET_PACKED;
};
/**
* Internal details about a channel.
- */
+ */
struct GNUNET_CADET_ChannelInternals
{
/**
/**
* Information we return per peer.
- */
+ */
struct GNUNET_CADET_PeerListEntry
{
/**
/**
* Number of disjoint known paths to @e peer.
- */
+ */
unsigned int n_paths;
/**
/**
* Detailed information we return per peer.
- */
+ */
struct GNUNET_CADET_PeerPathDetail
{
/**
*/
struct GNUNET_PeerIdentity peer;
+ /**
+ * Offset of the target peer on the @e path.
+ */
+ unsigned int target_offset;
+
/**
* Number of entries on the @e path.
*/
/**
* How many channels use the tunnel.
- */
+ */
uint32_t channels;
/**
uint16_t estate;
/**
- * What is our connectivity state?
- */
+ * What is our connectivity state?
+ */
uint16_t cstate;
};
GNUNET_CADET_list_tunnels_cancel (struct GNUNET_CADET_ListTunnels *lt);
-
-/**
- * Method called to retrieve information about a specific tunnel the cadet peer
- * has established, o`r is trying to establish.
- *
- * @param cls Closure.
- * @param peer Peer towards whom the tunnel is directed.
- * @param n_channels Number of channels.
- * @param n_connections Number of connections.
- * @param channels Channels.
- * @param connections Connections.
- * @param estate Encryption state.
- * @param cstate Connectivity state.
- */
-typedef void
-(*GNUNET_CADET_TunnelCB) (void *cls,
- const struct GNUNET_PeerIdentity *peer,
- unsigned int n_channels,
- unsigned int n_connections,
- const struct GNUNET_CADET_ChannelTunnelNumber *channels,
- const struct GNUNET_CADET_ConnectionTunnelIdentifier *connections,
- unsigned int estate,
- unsigned int cstate);
-
-
-/**
- * Operation handle.
- */
-struct GNUNET_CADET_GetTunnel;
-
-
-/**
- * Request information about a tunnel of the running cadet peer.
- * The callback will be called for the tunnel once.
- * Only one info request (of any kind) can be active at once.
- *
- * @param cfg configuration to use
- * @param id Peer whose tunnel to examine.
- * @param callback Function to call with the requested data.
- * @param callback_cls Closure for @c callback.
- * @return NULL on error
- */
-struct GNUNET_CADET_GetTunnel *
-GNUNET_CADET_get_tunnel (const struct GNUNET_CONFIGURATION_Handle *cfg,
- const struct GNUNET_PeerIdentity *id,
- GNUNET_CADET_TunnelCB callback,
- void *callback_cls);
-
-
-/**
- * Cancel a monitor request. The monitor callback will not be called.
- *
- * @param lt operation handle
- * @return Closure given to #GNUNET_CADET_get_tunnel(), if any.
- */
-void *
-GNUNET_CADET_get_tunnel_cancel (struct GNUNET_CADET_GetTunnel *gt);
-
-
#if 0 /* keep Emacsens' auto-indent happy */
{
#endif