Referência ao ficheiro structures.h

#include "defines.h"
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <pthread.h>
#include "hashtables.h"
#include "debug.h"

Ir para o código fonte deste ficheiro.

Componentes

struct  t_conta
struct  t_maquina
struct  t_session
struct  t_args_monitor
struct  t_args_processor

Funções

void free_conta (t_conta *conta)
t_contacreate_conta (char *login, char *password)
void free_maquina (t_maquina *maq)
t_maquinacreate_maquina (char *ip, HASHTABLE_T *logins, LISTA_GENERICA_T *pastas)
void free_session (t_session *session)
t_sessioncreate_session (char *login)
void free_args_processor (t_args_processor *args)
t_args_processorcreate_args_processor (HASHTABLE_T *sessions, HASHTABLE_T *contas, HASHTABLE_T *maquinas, int tempo, pthread_mutex_t *mutex)
void free_args_monitor (t_args_monitor *args)
t_args_monitorcreate_args_monitor (HASHTABLE_T *sessions, int tempo, pthread_mutex_t *mutex, pthread_cond_t *cond)


Descrição detalhada

Definicao das estruturas de dados utilizadas.

Data:
Novembro 2005
Autor:
Sergio Miguel Neves Lopes, EI10635
Versão:
1.0

Definido no ficheiro structures.h.


Documentação das funções

t_args_monitor* create_args_monitor HASHTABLE_T *  sessions,
int  tempo,
pthread_mutex_t *  mutex,
pthread_cond_t *  cond
 

Funcao que permite efectuar a alocacao dinamica da estrutura com os parametros a passar 'a thread de monitorizacao.

Parâmetros:
sessions Ponteiro para a estrutura que guarda as sessoes abertas no servidor.
tempo Tempo correspondente ao parametro session length.
mutex Ponteiro para o mutex que controla a seccao crititica.
cond Ponteiro para a condicao que, associada ao mutex, permite controlar a seccao critica.
Retorna:
Ponteiro para a zona de memoria alocada.
Veja também:
free_args_monitor()

Definido na linha 24 do ficheiro structures.c.

Referências t_args_monitor::cond, t_args_monitor::mutex, t_args_monitor::session_len e t_args_monitor::sessions.

Referenciado por main().

t_args_processor* create_args_processor HASHTABLE_T *  sessions,
HASHTABLE_T *  contas,
HASHTABLE_T *  maquinas,
int  tempo,
pthread_mutex_t *  mutex
 

Funcao que permite efectuar a alocacao dinamica a estrutura com os parametros a passar 'a funcao que ira processar os pedidos dos clientes.

Parâmetros:
sessions Ponteiro para a estrutura que guarda a informacao das
contas Ponteiro para a estrutura que guarda a informacao das contas.
maquinas Ponteiro para a estrutura que guarda a informacao das maquinas.
tempo Tempo correspondente ao parametro session length.
mutex Ponteiro para o mutex que controla a seccao crititica.
Retorna:
Ponteiro para a zona de memoria alocada.
Veja também:
free_args_processor()

Definido na linha 66 do ficheiro structures.c.

Referências t_args_processor::hash_contas, t_args_processor::hash_maquinas, t_args_processor::hash_sessions, t_args_processor::mutex e t_args_processor::session_len.

Referenciado por main().

t_conta* create_conta char *  login,
char *  password
 

Funcao que permite efectuar a alocacao dinamica de uma conta.

Parâmetros:
login String com o login.
password String com a password.
Retorna:
Ponteiro para a zona de memoria alocada.
Veja também:
free_conta()

Definido na linha 197 do ficheiro structures.c.

Referências t_conta::login e t_conta::password.

Referenciado por parse_contas().

t_maquina* create_maquina char *  ip,
HASHTABLE_T *  logins,
LISTA_GENERICA_T *  pastas
 

Funcao que permite efectuar a alocacao dinamica das informacoes de uma maquina.

Parâmetros:
ip Ponteiro para o IP da maquina.
logins Tabela de hash de logins.
pastas Ponteiro para a lista de pastas da maquina.
Retorna:
Ponteiro para a zona de memoria alocada.
Veja também:
free_conta()

Definido na linha 159 do ficheiro structures.c.

Referências t_maquina::ip, t_maquina::logins e t_maquina::pastas.

Referenciado por parse_maquinas().

t_session* create_session char *  login  ) 
 

Funcao que permite efectuar a alocacao dinamica de uma sessao.

Parâmetros:
login String com o login.
Retorna:
Ponteiro para a zona de memoria alocada.
Veja também:
free_session()

Definido na linha 101 do ficheiro structures.c.

Referências t_session::login, t_session::sessionid e t_session::working_time.

Referenciado por proc_pedido().

void free_args_monitor t_args_monitor args  ) 
 

Liberta memoria alocada dinamicamente para alojar dados do tipo t_args_monitor.

Parâmetros:
args Ponteiro para a estrutura a libertar.
Retorna:
A funcao nao possui valores de retorno.
Veja também:
create_args_monitor()

Definido na linha 47 do ficheiro structures.c.

Referenciado por destroy_final_resources().

void free_args_processor t_args_processor args  ) 
 

Liberta memoria alocada dinamicamente para alojar dados do tipo t_args_processor.

Parâmetros:
args Ponteiro para a estrutura a libertar.
Retorna:
A funcao nao possui valores de retorno.
Veja também:
create_args_processor()

Definido na linha 87 do ficheiro structures.c.

Referenciado por destroy_final_resources().

void free_conta t_conta conta  ) 
 

Liberta memoria alocada dinamicamente para alojar dados do tipo t_conta.

Parâmetros:
conta Ponteiro para a estrutura a libertar.
Retorna:
A funcao nao possui valores de retorno.
Veja também:
create_conta()

Definido na linha 218 do ficheiro structures.c.

Referências t_conta::login e t_conta::password.

Referenciado por main().

void free_maquina t_maquina maq  ) 
 

Liberta memoria alocada dinamicamente para alojar dados do tipo t_maquina.

Parâmetros:
maq Ponteiro para a estrutura a libertar.
Retorna:
A funcao nao possui valores de retorno.

Definido na linha 179 do ficheiro structures.c.

Referências t_maquina::ip, t_maquina::logins e t_maquina::pastas.

Referenciado por main().

void free_session t_session session  ) 
 

Liberta memoria alocada dinamicamente para alojar dados do tipo t_session.

Parâmetros:
session Ponteiro para a estrutura a libertar.
Retorna:
A funcao nao possui valores de retorno.
Veja também:
create_session()

Definido na linha 128 do ficheiro structures.c.

Referências t_session::login e t_session::sessionid.

Referenciado por main().


Gerado em Fri Nov 25 18:42:04 2005 para Securitas por  doxygen 1.4.4