/******************************************************************************
*  Copyright (c) 2002 Linux UPnP Internet Gateway Device Project              *    
*  All rights reserved.                                                       *
*                                                                             *   
*  This file is part of The Linux UPnP Internet Gateway Device (IGD).         *
*                                                                             *
*  The Linux UPnP IGD 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.                                        *
*                                                                             *    
*  The Linux UPnP IGD 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.                               *
*                                                                             *   
*  You should have received a copy of the GNU General Public License          * 
*  along with Foobar; if not, write to the Free Software                      *
*  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  *
*                                                                             *  
*                                                                             *  
******************************************************************************/

#ifndef _PORTMAP_H_
#define _PORTMAP_H_

struct PortMap
{
	int m_PortMappingEnabled;
	long int m_PortMappingLeaseDuration;
	char *m_RemoteHost;
	char *m_ExternalIP;
	int m_ExternalPort;
	int m_InternalPort;
	char *m_PortMappingProtocol;
	char *m_InternalClient;
	char *m_PortMappingDescription;

	struct PortMap	*next;
	struct PortMap	*prev;
};

void PortMap_Construct(struct PortMap *pm);
void PortMap_Destruct(struct PortMap *pm);
void PortMap_Construct1(struct PortMap *pm, char *RemoteHost, char *Proto, char *ExtIP, int ExtPort, char *IntIP,
		int IntPort, int Enabled, char *Desc, int LeaseDuration);		

#endif
