¿No te sirve el Tlist?
O es alguna práctica donde ES NECESARIO que sea precisamente una lista doblemente enlazada...
Si utilizas programación orientada a objetos es posible que no necesites usar el ^ , ni el getmem menos el freemem. De todos modos procura separar lo que es administración de memoria dinámica de la esencia de la lista doblemente enlazada.