VZTECH / Mbed 2 deprecated main_src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers utils.h Source File

utils.h

Go to the documentation of this file.
00001 /**
00002  * @file utils.h
00003  * @Synopsis Funções de propósito geral são encontradas nesse arquivo. 
00004  * @author Jhonatan Casale
00005  * @version 1
00006  * @date 2014-11-06
00007  */
00008 
00009 #ifndef __UTILS_H__
00010 #define __UTILS_H__
00011 
00012 #include "shared_variables.h"
00013 #include <stdint.h>
00014 
00015 /**
00016  * @Synopsis Responsavel por escutar a porta de conexão com o servidor, verificando se o mesmo mandou algum dado.
00017  *
00018  * @param v_cb Um vetor contendo todos os Call_box conhecidos pela Header em um determinado momento.
00019  * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento.
00020  *
00021  * @return 0 ( zero ) se tudo correu bem, um numero menor do que zero, caso algum problema tenha acontecido na execusão, e um numero
00022  * maior que zero indicando o ramal que deve ser removido do vetor de ligações.
00023  *
00024  * Exemplo:
00025  * @code
00026  * ...
00027  *  Vector * v_cb = new Vector();
00028  *  Vector * v_call = new Vector();
00029  *      // assumindo que os vetores já foram populados.
00030  *  int ret = sip_manager( v_cb, v_call );                                                                  
00031  *  if( ret > 0x00 ){
00032  *          // tratar esse request
00033  *  }          
00034  * ...
00035  * @endcode
00036  */
00037 
00038 /**
00039  * @Synopsis Função usada na ordenação dos CBx para exibição no comando "ls"
00040  *
00041  * @param a O primeiro ramal que se quer comparar.
00042  * @param b O segundo ramal que se quer comparar.
00043  *
00044  * @return 0 ( zero ) se os valores forem iguais, maior que zero, se o primeiro valor ser maior que o segundo e retorna um numero
00045  * negativo, caso o segundo valor seja maior que o primeiro.
00046  *
00047  * Exemplo:
00048  * @code
00049  * ...
00050  *  int a = 10;
00051  *  int b = 119;
00052  *  int result = ls_comp( ( const void * )&a, ( const void * )&b );
00053  * ...
00054  * @endcode
00055  */
00056 int ls_comp ( const void * a, const void * b );
00057 
00058 int wake_comp ( const void * a, const void * b );
00059 
00060 /**
00061  * @Synopsis Função que converte o ramal para a porta, por definição de projeto, cara ramo possui o numero da centena incremental
00062  * permanecendo o resto igual, por exemplo no ramo pilo os ramais são 5000, 5001 -- no lote 1 5100, 5101 -- porem a porta sempre
00063  * se manteve a mesma, o CBx esta configurado como ramal 5000 e porta 5000, assim como o ramal 5100 e porta 5000, em outras palavras
00064  * dado um ramal, calcular a porta é o mesmo que eliminar a centena do numero.
00065  *
00066  * @param ext O ramal do qual se quer calcular a porta vinculada.
00067  *
00068  * @return O valor calculado da porta.
00069  *
00070  * Exemplo:
00071  * @code
00072  * ...
00073  *  int ext = 5220;
00074  *  int port = convert_ext_to_port( ext );
00075  * ...
00076  * @endcode
00077  */
00078 int convert_ext_to_port ( int ext );
00079 
00080 void xmemcpy( uint8_t * dest, const uint8_t * src, uint16_t size );
00081 void xmemcpy32( uint32_t * dest, uint32_t * src, uint16_t size );
00082 uint8_t xstrmatch( const uint8_t * s1, const uint8_t * s2 );
00083 uint8_t xmemmatch(const uint8_t * s1, const uint8_t * s2, uint16_t size);
00084 
00085 int hex_init(void);                                             
00086 char * hex8 (uint8_t i);                                         
00087 char * hex16 (uint16_t i); 
00088 
00089 #endif