1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
#ifndef _PMLIST_H_
#define _PMLIST_H_
#define DEST_LEN 100
typedef struct ExpirationEvent {
int eventId;
char DevUDN[NAME_SIZE];
char ServiceID[NAME_SIZE];
struct portMap *mapping;
} expiration_event;
struct portMap
{
int m_PortMappingEnabled;
long int m_PortMappingLeaseDuration;
char m_RemoteHost[16];
char m_ExternalPort[6];
char m_InternalPort[6];
char m_PortMappingProtocol[4];
char m_InternalClient[16];
char m_PortMappingDescription[50];
int expirationEventId;
long int expirationTime;
struct portMap* next;
struct portMap* prev;
} *pmlist_Head, *pmlist_Tail, *pmlist_Current;
//struct portMap* pmlist_NewNode(void);
struct portMap* pmlist_NewNode(int enabled, long int duration, char *remoteHost,
char *externalPort, char *internalPort,
char *protocol, char *internalClient, char *desc);
struct portMap* pmlist_Find(char *externalPort, char *proto, char *internalClient);
struct portMap* pmlist_FindByIndex(int index);
struct portMap* pmlist_FindSpecific(char *externalPort, char *protocol);
int pmlist_IsEmtpy(void);
int pmlist_Size(void);
int pmlist_FreeList(void);
int pmlist_PushBack(struct portMap* item);
int pmlist_Delete(struct portMap* item);
int pmlist_AddPortMapping (int enabled, char *protocol,
char *externalPort, char *internalClient, char *internalPort);
int pmlist_DeletePortMapping(int enabled, char *protocol,
char *externalPort, char *internalClient, char *internalPort);
#endif // _PMLIST_H_
|