jingle-s5b/s5b.h
author Nicolas Cornu <nicolas.cornu@ensi-bourges.fr>
Wed, 01 Sep 2010 20:34:23 +0200
changeset 166 c42c167a2a5c
child 167 97f93fa3cd95
permissions -rw-r--r--
Rename socks5.c to s5b.c, remove remaining tabulation

#ifndef __JINGLESOCKS5_H__
#define __JINGLESOCKS5_H__ 1

#include <glib.h>
#include <gio/gio.h>

#define NS_JINGLE_TRANSPORT_SOCKS5 "urn:xmpp:jingle:transports:s5b:1"


typedef enum {
  JINGLE_S5B_DIRECT,
  JINGLE_S5B_ASSISTED,
  JINGLE_S5B_TUNNEL,
  JINGLE_S5B_PROXY
} JingleS5BType;

typedef enum {
  JINGLE_S5B_TCP,
  JINGLE_S5B_UDP
} JingleS5BModes;

typedef struct {
  JingleS5BModes mode;

  const gchar *sid;

  GSocketConnection *connection;

  GCancellable *cancelconnect;

  GSocketListener *listener;

  GSocketClient *client;

  /**
   * @brief This is the list of the other client's candidates
   * 
   * It should always be priority ordered.
   */
  GSList *candidates;

  /**
   * @brief This is our list of candidates
   */
  GSList *ourcandidates;
} JingleS5B;
 
typedef struct {
  const gchar *cid;

  GInetAddress *host;

  const gchar *jid;

  guint16 port;

  guint64 priority;

  JingleS5BType type;
} S5BCandidate;

#endif