Code:
typedef struct
{
	void        *data;
	AdQueueNode *next;	 /* <-- Here */
}AdQueueNode;
There is no such thing as 'AdQueueNode' at that point. You want something like this:
Code:
typedef struct foo
{
    ...stuff...
    struct foo *next; /* <-- This. */
} AdQueueNode;

Quzah.