tor-fw-helper-upnp.h 796 B

1234567891011121314151617181920212223242526272829303132
  1. /* Copyright (c) 2010, Jacob Appelbaum, Steven J. Murdoch.
  2. * Copyright (c) 2010, The Tor Project, Inc. */
  3. /* See LICENSE for licensing information */
  4. #ifndef _TOR_FW_HELPER_UPNP_H
  5. #define _TOR_FW_HELPER_UPNP_H
  6. #include <miniupnpc/miniwget.h>
  7. #include <miniupnpc/miniupnpc.h>
  8. #include <miniupnpc/upnpcommands.h>
  9. #include <miniupnpc/upnperrors.h>
  10. #define UPNP_LANADDR_SZ 64
  11. typedef struct miniupnpc_state_t {
  12. struct UPNPUrls urls;
  13. struct IGDdatas data;
  14. char lanaddr[UPNP_LANADDR_SZ];
  15. int init;
  16. } miniupnpc_state_t;
  17. int tor_upnp_init(miniupnpc_state_t *state);
  18. int tor_upnp_cleanup(miniupnpc_state_t *state);
  19. int tor_upnp_fetch_public_ip(miniupnpc_state_t *state);
  20. int tor_upnp_add_tcp_mapping(miniupnpc_state_t *state,
  21. uint16_t internal_port, uint16_t external_port);
  22. #endif