#ifndef COLA_H
#define COLA_H
  
   #define TAM_USER 255
   #define TAM_PORT 10
   
   struct Tipo_Nodo
   {
      unsigned char *nodo;
      struct Tipo_Nodo *anterior;
   };
   typedef struct Tipo_Nodo Nodo;

   struct Tipo_Cola
   {
      Nodo *primero;
      Nodo *ultimo;
      Nodo *pdi;
      unsigned int total;
   };       
   typedef struct Tipo_Cola Cola;   

   struct UserPortStruct
   {
      char user[TAM_USER];
      char port[TAM_PORT];
   };
   typedef struct UserPortStruct UserPort;

   Cola *crear_cola(void);
   unsigned int cola_vacia(Cola *c);
   void encolar(Cola *c,char *valores);
   void desencolar(Cola *c);
   unsigned char *primero(Cola *c);
   void reiniciar_PDI(Cola *c);
   unsigned char *obtener_elemento_PDI(Cola *c);
   int avanzar_PDI(Cola *c);
   void vaciar_cola(Cola *c);
#endif

