Diff for /embedaddon/miniupnpd/upnpredirect.h between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2012/02/21 23:16:02 version 1.1.1.2, 2012/05/29 12:55:57
Line 1 Line 1
 /* $Id$ */  /* $Id$ */
 /* MiniUPnP project  /* MiniUPnP project
  * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/   * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
 * (c) 2006 Thomas Bernard  * (c) 2006-2011 Thomas Bernard 
  * This software is subject to the conditions detailed   * This software is subject to the conditions detailed
  * in the LICENCE file provided within the distribution */   * in the LICENCE file provided within the distribution */
   
 #ifndef __UPNPREDIRECT_H__  #ifndef __UPNPREDIRECT_H__
 #define __UPNPREDIRECT_H__  #define __UPNPREDIRECT_H__
   
   /* for u_int64_t */
   #include <sys/types.h>
   
 #include "config.h"  #include "config.h"
   
 #ifdef ENABLE_LEASEFILE  #ifdef ENABLE_LEASEFILE
int reload_from_lease_file();int reload_from_lease_file(void);
 #endif  #endif
   
 /* upnp_redirect()   /* upnp_redirect() 
Line 23  int reload_from_lease_file(); Line 26  int reload_from_lease_file();
  *          -3 permission check failed   *          -3 permission check failed
  */   */
 int  int
upnp_redirect(unsigned short eport, upnp_redirect(const char * rhost, unsigned short eport, 
               const char * iaddr, unsigned short iport,                const char * iaddr, unsigned short iport,
              const char * protocol, const char * desc);              const char * protocol, const char * desc,
               unsigned int leaseduration);
   
 /* upnp_redirect_internal()  /* upnp_redirect_internal()
  * same as upnp_redirect() without any check */   * same as upnp_redirect() without any check */
 int  int
upnp_redirect_internal(unsigned short eport,upnp_redirect_internal(const char * rhost, unsigned short eport,
                        const char * iaddr, unsigned short iport,                         const char * iaddr, unsigned short iport,
                       int proto, const char * desc);                       int proto, const char * desc,
                        unsigned int timestamp);
   
/* upnp_get_redirection_infos() *//* upnp_get_redirection_infos()
  * returns : 0 on success
  *           -1 failed to get the port mapping entry or no entry exists */
 int  int
 upnp_get_redirection_infos(unsigned short eport, const char * protocol,  upnp_get_redirection_infos(unsigned short eport, const char * protocol,
                            unsigned short * iport, char * iaddr, int iaddrlen,                             unsigned short * iport, char * iaddr, int iaddrlen,
                           char * desc, int desclen);                           char * desc, int desclen,
                            char * rhost, int rhostlen,
                            unsigned int * leaseduration);
   
/* upnp_get_redirection_infos_by_index *//* upnp_get_redirection_infos_by_index()
  * returns : 0 on success
  *           -1 failed to get the port mapping or index out of range */
 int  int
 upnp_get_redirection_infos_by_index(int index,  upnp_get_redirection_infos_by_index(int index,
                                     unsigned short * eport, char * protocol,                                      unsigned short * eport, char * protocol,
                                     unsigned short * iport,                                       unsigned short * iport, 
                                     char * iaddr, int iaddrlen,                                      char * iaddr, int iaddrlen,
                                    char * desc, int desclen);                                    char * desc, int desclen,
                                     char * rhost, int rhostlen,
                                     unsigned int * leaseduration);
   
 /* upnp_delete_redirection()  /* upnp_delete_redirection()
  * returns: 0 on success   * returns: 0 on success
Line 67  struct rule_state Line 80  struct rule_state
         u_int64_t bytes;          u_int64_t bytes;
         struct rule_state * next;          struct rule_state * next;
         unsigned short eport;          unsigned short eport;
        short proto;        unsigned char proto;
         unsigned char to_remove; 
 };  };
   
   /* return a linked list of all rules
    * or an empty list if there are not enough
    * As a "side effect", delete rules which are expired */
 struct rule_state *  struct rule_state *
 get_upnp_rules_state_list(int max_rules_number_target);  get_upnp_rules_state_list(int max_rules_number_target);
   
   /* return the number of port mapping entries */
 int  int
upnp_get_portmapping_number_of_entries();upnp_get_portmapping_number_of_entries(void);
   
 /* remove_unused_rules() :  /* remove_unused_rules() :
  * also free the list */   * also free the list */
 void  void
 remove_unused_rules(struct rule_state * list);  remove_unused_rules(struct rule_state * list);
   
   /* upnp_get_portmappings_in_range()
    * return a list of all "external" ports for which a port
    * mapping exists */
   unsigned short *
   upnp_get_portmappings_in_range(unsigned short startport,
                                  unsigned short endport,
                                  const char * protocol,
                                  unsigned int * number);
   
   #ifdef ENABLE_6FC_SERVICE
   /* function to be used by WANIPv6_FirewallControl implementation */
   
   /* retreive outbound pinhole timeout*/
   int
   upnp_check_outbound_pinhole(int proto, int * timeout);
   
   /* add an inbound pinehole
    * return value :
    *  1 = success
    * -1 = Pinhole space exhausted
    * .. = error */
   int
   upnp_add_inboundpinhole(const char * raddr, unsigned short rport,
                 const char * iaddr, unsigned short iport,
                 const char * protocol, const char * leaseTime, int * uid);
   
   int
   upnp_add_inboundpinhole_internal(const char * raddr, unsigned short rport,
                          const char * iaddr, unsigned short iport,
                          const char * proto, int * uid);
   
   /*
    * return values :
    *  -4 not found
    *  -5 in another table
    *  -6 in another chain
    *  -7 in a chain but not a rule. (chain policy)
    * */
   int
   upnp_get_pinhole_info(const char * raddr, unsigned short rport, char * iaddr, unsigned short * iport, char * proto, const char * uid, char * lt);
   
   /* update the lease time */
   int
   upnp_update_inboundpinhole(const char * uid, const char * leasetime);
   
   /* remove the inbound pinhole */
   int
   upnp_delete_inboundpinhole(const char * uid);
   
   /* ... */
   int
   upnp_check_pinhole_working(const char * uid, char * eaddr, char * iaddr, unsigned short * eport, unsigned short * iport, char * protocol, int * rulenum_used);
   
   /* number of packets that went through the pinhole */
   int
   upnp_get_pinhole_packets(const char * uid, int * packets);
   
   /* ? */
   int
   upnp_clean_expiredpinhole(void);
   
   #endif /* ENABLE_6FC_SERVICE */
   
 /* stuff for responding to miniupnpdctl */  /* stuff for responding to miniupnpdctl */
 #ifdef USE_MINIUPNPDCTL  #ifdef USE_MINIUPNPDCTL

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


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