36 lines
614 B
C++
36 lines
614 B
C++
#ifndef IPLIST_H
|
|
#define IPLIST_H
|
|
|
|
#include "def.h"
|
|
|
|
#ifdef WINDOWS
|
|
#include <Winsock2.h>
|
|
#else
|
|
#include <unistd.h>
|
|
#include <sys/socket.h>
|
|
#include <arpa/inet.h>
|
|
#include <netinet/in.h>
|
|
#endif
|
|
|
|
typedef struct _iplist{
|
|
struct sockaddr_in6 address;
|
|
struct _iplist *next;
|
|
}IPLIST;
|
|
|
|
class IpList
|
|
{
|
|
private:
|
|
IPLIST *ipl_head;
|
|
size_t count;
|
|
void _Emtpy();
|
|
public:
|
|
IpList() { ipl_head = (IPLIST*)0; count = 0;}
|
|
~IpList() { if(ipl_head) _Emtpy(); }
|
|
int Add(const struct sockaddr_in6* psin);
|
|
int Pop(struct sockaddr_in6* psin);
|
|
int IsEmpty() { return count ? 0 : 1; }
|
|
};
|
|
|
|
extern IpList IPQUEUE;
|
|
#endif
|