Referência ao ficheiro functions.c

#include "functions.h"

Ir para o código fonte deste ficheiro.

Funções

void trim_crlf (char *line)
 A funcao permite eliminar o CRLF de uma mensagem.
int write_to_socket (int fd, char *mesg, char *error_mesg)
 Funcao que permite escrever para um socket previamente aberto.
int readline (int fd, char *linha, int max)
 Funcao responsavel pela leitura de texto atraves de um descritor de ficheiro.
int validate_ip (char *ip)
 Permite verificar a validade de um endereco IP.
int open_socket (uint16_t porto, PROCESSOR processa_pedido, void *args_processor, int *stoping_condition)
int parse_args (int argc, char *argv[], char **c_file, char **m_file, int *porto, int *tempo)
 Efectua o parsing dos argumentos passados 'a funcao.
void print_error_exit (char *user_mesg, char *error_mesg, int exit_code)
 Funcao que mostra mensagens de erro e termina a aplicacao.
int validate_path (char *path)
 Valida uma string, representativa de um caminho para um ficheiro, passada por parametro.


Descrição detalhada

Implementacao das funcoes gerais utilizadas.

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

Definido no ficheiro functions.c.


Documentação das funções

int open_socket uint16_t  porto,
PROCESSOR  processa_pedido,
void *  args_processor,
int *  stoping_condition
 

Funcao responsavel pela abertura de um socket.

Retorna:
ERROR_VAL, caso ocorra um erro ou valor ALL_GOES_WELL, se a funcao terminar sem erros.

Definido na linha 130 do ficheiro functions.c.

Referências ALL_GOES_WELL e ERROR_VAL.

Referenciado por main().

int parse_args int  argc,
char *  argv[],
char **  c_file,
char **  m_file,
int *  porto,
int *  tempo
 

Efectua o parsing dos argumentos passados 'a funcao.

Permite efectuar o tratamento dos paramentros passados 'a aplicacao. A funcao nao valida os paramentros, apenas a correspondencia aos tipos de dados e' verificada, qualquer validacao tera de ser efectuada exteriormente.

Parâmetros:
argc Numero de argumentos passados 'a aplicacao.
argv Conjunto de argumentos passados 'a aplicacao e recebidos pela funcao main.
c_file Ponteiro para a variavel que ira conter a string representatica do caminho para o ficheiro de contas.
m_file Ponteiro para a variavel que ira conter a string representatica do caminho para o ficheiro de maquinas.
porto Ponteiro para a variavel que ira conter o valor do porto passado 'a aplicacao.
tempo Ponteiro para a variavel que ira conter o valor do tempo passado 'a aplicacao.
Retorna:
A funcao -1 em caso de erro e 0 caso contrario.

Definido na linha 198 do ficheiro functions.c.

Referências ALL_GOES_WELL e ERROR_VAL.

Referenciado por main().

void print_error_exit char *  user_mesg,
char *  error_mesg,
int  exit_code
 

Funcao que mostra mensagens de erro e termina a aplicacao.

A funcao mostra uma mensagem de erro ao utilizador e coloca no stderr uma mensagem e o codigo do erro, de seguida o programa e'terminado.

Parâmetros:
user_mesg Mensagem de erro a mostrar ao utilizador.
error_mesg Mensagem de erro a enviar para o stderr.
exit_code Codigo do erro que ocorreu.
Retorna:
A funcao nao retorna valores.

Definido na linha 222 do ficheiro functions.c.

Referenciado por main().

int readline int  fd,
char *  linha,
int  max
 

Funcao responsavel pela leitura de texto atraves de um descritor de ficheiro.

Parâmetros:
fd Descritor onde sera efectuada a leitura.
linha Ponteiro para a linha onde seram guardados os dados lidos
max Numero maximo de caracteres a ler.
Retorna:
A funcao devolve o numero de caracteres lidos.

Definido na linha 67 do ficheiro functions.c.

Referenciado por proc_pedido().

void trim_crlf char *  line  ) 
 

A funcao permite eliminar o CRLF de uma mensagem.

A funcao assume que o conteudo correcto da mensagem aparece antes do CRLF e que tudo o que aparecer depois e' para ser removido. Embora o objectivo seja eliminar a sequencia '
', a funcao termina assim que apareca um dos dois caracteres do conjunto nao verificando se o outro caracter se encontra efectivamente na mensagem, assim, o efeito pratico da funcao resulta na remocao de TODOS os caracteres que aparecam apos uma ocorrencia do caracter '' ou do caracter '
'.

Parâmetros:
line Ponteiro para a mensagem a tratar.
Retorna:
A funcao nao possui valores de retorno.

Definido na linha 26 do ficheiro functions.c.

Referenciado por proc_pedido().

int validate_ip char *  ip  ) 
 

Permite verificar a validade de um endereco IP.

Enderecos de broadcast e de rede nao sao considerados IPs validos.

Parâmetros:
ip Ponteiro para a string que representa o IP a testar.
return ALL_GOES_WELL caso a string passada represente um IP valido ou ERROR_VAL caso contrario.

Definido na linha 104 do ficheiro functions.c.

Referências ALL_GOES_WELL, ERROR_VAL e MAX_IP_LEN.

Referenciado por parse_maquinas().

int validate_path char *  path  ) 
 

Valida uma string, representativa de um caminho para um ficheiro, passada por parametro.

A funcao validate_path permite determinar se uma string representa correctamente um caminho para um ficheiro ou directoria. A funcao nao altera a string de entrada e nao verifica se os ficheiros e/ou pastas existem, verifica apenas se, sintaticamente, o caminho e' valido.

Parâmetros:
path Ponteiro para a string a validar.
Retorna:
A funcao devolde -1 caso o caminho seja invalido e 0 caso contrario.

Definido na linha 240 do ficheiro functions.c.

Referências INVALID_CHARS e VALID_CHAR.

Referenciado por main().

int write_to_socket int  fd,
char *  mesg,
char *  error_mesg
 

Funcao que permite escrever para um socket previamente aberto.

A funcao permite a escrita de mensagens para um socket que tenha sido aberto antes da chamada 'a funcao. Em caso de erro a funcao envia para o stderr a mensagem definida pelo utilizador e fecha o socket para onde tentou escrever..

Parâmetros:
fd Descritor do socket para onde se pretende escrever.
mesg Ponteiro para a mensagem a escrever.
error_mesg Ponteiro para a mensagem de erro a enviar para o stderr.
Retorna:
A funcao devolve ALL_GOES_WELL em caso de sucesso e ERROR_VAL em caso de erro.

Definido na linha 46 do ficheiro functions.c.

Referências ALL_GOES_WELL e ERROR_VAL.

Referenciado por proc_pedido().


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