00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _LISTA_H
00021 #define _LISTA_H
00022
00028 #include "socket.h"
00029
00033 typedef struct nodo
00034 {
00035 GTcpSocket * socket;
00036 GIOChannel * io;
00038 char equipo [256];
00039 char usuario [256];
00040 int en_sesion;
00041 int sesion_numero;
00042 char sesion_inicio [256];
00044 int super_sesion;
00046 struct nodo * siguiente;
00047 } Nodo;
00048
00049
00050
00051
00052 void lista_quitar_nodo (Nodo ** lista, Nodo * nodo);
00053 void lista_quitar_por_io (Nodo ** lista, GIOChannel * io);
00054 void lista_quitar_por_equipo (Nodo ** lista, char * equipo);
00055
00056
00057 int lista_contar_nodos (Nodo * leer);
00058 int lista_asignar_sesion (Nodo * lista, char * equipo, char * usuario,
00059 int super_sesion);
00060 char * lista_obtener_equipo_por_io (Nodo * lista, GIOChannel * io);
00061 void lista_agregar (Nodo **lista, GIOChannel * io, GTcpSocket * socket, \
00062 const char * equipo);
00063
00064 Nodo * lista_buscar_por_equipo (Nodo * lista, char * equipo);
00065 Nodo * lista_buscar_por_io (Nodo * lista, GIOChannel * io);
00066 Nodo * lista_buscar_por_usuario (Nodo * lista, char * usuario);
00067
00068 int lista_esta_en_sesion (Nodo * lista, char * equipo);
00069 void lista_liberar (Nodo ** lista);
00070
00071
00072 #endif